From 40dd9252b36f0afde3ffc9febcc7ca5c17ebffe2 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 13 Jun 2019 15:33:43 +0200 Subject: [PATCH] Investigate custom try-catch support --- src/builtins.ts | 28 + src/common.ts | 1 + src/compiler.ts | 227 +- src/flow.ts | 11 +- src/program.ts | 3 + tests/compiler/abi.untouched.wat | 1 + tests/compiler/asc-constants.untouched.wat | 1 + tests/compiler/assert-nonnull.optimized.wat | 229 +- tests/compiler/assert-nonnull.untouched.wat | 323 +- tests/compiler/assert.untouched.wat | 1 + tests/compiler/binary.untouched.wat | 1 + tests/compiler/bool.untouched.wat | 1 + tests/compiler/builtins.untouched.wat | 1 + tests/compiler/call-inferred.untouched.wat | 1 + tests/compiler/call-optional.optimized.wat | 98 +- tests/compiler/call-optional.untouched.wat | 216 +- tests/compiler/call-super.untouched.wat | 1 + tests/compiler/class-extends.untouched.wat | 1 + .../compiler/class-overloading.untouched.wat | 1 + tests/compiler/class.untouched.wat | 1 + tests/compiler/closure.untouched.wat | 1 + tests/compiler/comma.untouched.wat | 1 + tests/compiler/constructor.untouched.wat | 1 + tests/compiler/declare.untouched.wat | 1 + tests/compiler/do.untouched.wat | 1 + tests/compiler/empty.untouched.wat | 1 + tests/compiler/enum.untouched.wat | 1 + tests/compiler/export-default.untouched.wat | 1 + tests/compiler/export.untouched.wat | 1 + tests/compiler/exports.untouched.wat | 1 + tests/compiler/external.untouched.wat | 1 + tests/compiler/for.untouched.wat | 1 + .../function-expression.optimized.wat | 281 +- .../function-expression.untouched.wat | 350 +- tests/compiler/function-types.optimized.wat | 289 +- tests/compiler/function-types.untouched.wat | 340 +- tests/compiler/function.untouched.wat | 1 + tests/compiler/getter-call.optimized.wat | 7 + tests/compiler/getter-call.untouched.wat | 8 + tests/compiler/getter-setter.untouched.wat | 1 + tests/compiler/i64-polyfill.untouched.wat | 1 + tests/compiler/if.optimized.wat | 96 +- tests/compiler/if.untouched.wat | 164 +- tests/compiler/import.untouched.wat | 1 + tests/compiler/infer-type.untouched.wat | 1 + .../inlining-blocklocals.untouched.wat | 1 + .../compiler/inlining-recursive.untouched.wat | 1 + tests/compiler/inlining.optimized.wat | 35 +- tests/compiler/inlining.untouched.wat | 69 +- tests/compiler/instanceof.untouched.wat | 1 + tests/compiler/limits.untouched.wat | 1 + tests/compiler/literals.untouched.wat | 1 + tests/compiler/logical.untouched.wat | 1 + tests/compiler/loop-flow.optimized.wat | 244 +- tests/compiler/loop-flow.untouched.wat | 417 +- tests/compiler/mandelbrot.untouched.wat | 1 + tests/compiler/many-locals.untouched.wat | 1 + tests/compiler/memcpy.untouched.wat | 1 + tests/compiler/memmove.untouched.wat | 1 + tests/compiler/memset.untouched.wat | 1 + tests/compiler/merge.untouched.wat | 1 + .../named-export-default.untouched.wat | 1 + .../named-import-default.untouched.wat | 1 + tests/compiler/namespace.untouched.wat | 1 + tests/compiler/number.untouched.wat | 1 + .../optional-typeparameters.untouched.wat | 1 + tests/compiler/overflow.untouched.wat | 1 + .../portable-conversions.untouched.wat | 1 + tests/compiler/possibly-null.untouched.wat | 1 + tests/compiler/rc/global-init.optimized.wat | 223 +- tests/compiler/rc/global-init.untouched.wat | 267 +- tests/compiler/rc/local-init.optimized.wat | 209 +- tests/compiler/rc/local-init.untouched.wat | 273 +- .../rc/logical-and-mismatch.optimized.wat | 1064 +- .../rc/logical-and-mismatch.untouched.wat | 1999 +- .../rc/logical-or-mismatch.optimized.wat | 1064 +- .../rc/logical-or-mismatch.untouched.wat | 2001 +- tests/compiler/rc/rereturn.optimized.wat | 1131 +- tests/compiler/rc/rereturn.untouched.wat | 2444 +- .../rc/ternary-mismatch.optimized.wat | 1100 +- .../rc/ternary-mismatch.untouched.wat | 1967 +- tests/compiler/recursive.untouched.wat | 1 + tests/compiler/reexport.untouched.wat | 1 + tests/compiler/rereexport.untouched.wat | 1 + tests/compiler/resolve-nested.untouched.wat | 1 + tests/compiler/retain-i32.untouched.wat | 1 + .../retain-release-sanity.optimized.wat | 986 +- .../retain-release-sanity.untouched.wat | 1201 +- tests/compiler/retain-release.optimized.wat | 54 +- tests/compiler/retain-release.untouched.wat | 128 +- tests/compiler/rt/ids.untouched.wat | 1 + tests/compiler/rt/instanceof.untouched.wat | 1 + tests/compiler/runtime-full.optimized.wat | 1101 +- tests/compiler/runtime-full.untouched.wat | 2432 +- tests/compiler/runtime-half.untouched.wat | 1 + tests/compiler/runtime-none.untouched.wat | 1 + tests/compiler/runtime-stub.untouched.wat | 1 + tests/compiler/scoped.untouched.wat | 1 + tests/compiler/static-this.untouched.wat | 1 + tests/compiler/std/array-access.optimized.wat | 217 +- tests/compiler/std/array-access.untouched.wat | 377 +- .../compiler/std/array-literal.optimized.wat | 1278 +- .../compiler/std/array-literal.untouched.wat | 1685 +- tests/compiler/std/array.optimized.wat | 15330 ++-- tests/compiler/std/array.untouched.wat | 17613 ++-- tests/compiler/std/arraybuffer.optimized.wat | 1617 +- tests/compiler/std/arraybuffer.untouched.wat | 2599 +- tests/compiler/std/dataview.optimized.wat | 4013 +- tests/compiler/std/dataview.untouched.wat | 4886 +- tests/compiler/std/date.untouched.wat | 1 + tests/compiler/std/hash.untouched.wat | 1 + tests/compiler/std/libm.untouched.wat | 1 + tests/compiler/std/map.optimized.wat | 3132 +- tests/compiler/std/map.untouched.wat | 6425 +- tests/compiler/std/math.optimized.wat | 17115 ++-- tests/compiler/std/math.untouched.wat | 66440 ++++++++-------- tests/compiler/std/mod.untouched.wat | 1 + tests/compiler/std/new.untouched.wat | 1 + .../compiler/std/object-literal.untouched.wat | 1 + .../std/operator-overloading.untouched.wat | 1 + tests/compiler/std/pointer.untouched.wat | 1 + tests/compiler/std/polyfills.untouched.wat | 1 + tests/compiler/std/set.optimized.wat | 2854 +- tests/compiler/std/set.untouched.wat | 6093 +- tests/compiler/std/simd.untouched.wat | 1 + tests/compiler/std/static-array.optimized.wat | 572 +- tests/compiler/std/static-array.untouched.wat | 818 +- tests/compiler/std/string-utf8.untouched.wat | 1 + tests/compiler/std/string.optimized.wat | 10332 +-- tests/compiler/std/string.untouched.wat | 10517 +-- tests/compiler/std/symbol.optimized.wat | 522 +- tests/compiler/std/symbol.untouched.wat | 825 +- tests/compiler/std/trace.untouched.wat | 1 + tests/compiler/std/typedarray.optimized.wat | 11747 ++- tests/compiler/std/typedarray.untouched.wat | 15655 ++-- tests/compiler/switch.untouched.wat | 1 + tests/compiler/ternary.untouched.wat | 1 + tests/compiler/threads.untouched.wat | 1 + tests/compiler/throw.json | 7 + tests/compiler/throw.optimized.wat | 1971 + tests/compiler/throw.ts | 77 + tests/compiler/throw.untouched.wat | 3519 + tests/compiler/typealias.untouched.wat | 1 + tests/compiler/unary.untouched.wat | 1 + tests/compiler/void.untouched.wat | 1 + tests/compiler/wasi.untouched.wat | 1 + tests/compiler/while.untouched.wat | 1 + tests/compiler/wildcard-export.untouched.wat | 1 + 148 files changed, 132159 insertions(+), 99238 deletions(-) create mode 100644 tests/compiler/throw.json create mode 100644 tests/compiler/throw.optimized.wat create mode 100644 tests/compiler/throw.ts create mode 100644 tests/compiler/throw.untouched.wat diff --git a/src/builtins.ts b/src/builtins.ts index efc8345cca..cd6d7c832f 100644 --- a/src/builtins.ts +++ b/src/builtins.ts @@ -513,6 +513,7 @@ export namespace BuiltinSymbols { export const argc = "~lib/argc"; export const setargc = "~lib/setargc"; export const capabilities = "~lib/capabilities"; + export const error = "~lib/error"; } /** Compiles a call to a built-in function. */ @@ -3972,6 +3973,33 @@ export function compileAbort( ]); } +export function makeAbort( + compiler: Compiler, + message: string, + filename: string, + line: i32 = 1, + column: i32 = 0 +): ExpressionRef { + var program = compiler.program; + var module = compiler.module; + var abortInstance = program.abortInstance; + if (!(abortInstance && compiler.compileFunction(abortInstance))) return module.unreachable(); + var messageArg = compiler.ensureStaticString(message); + var filenameArg = compiler.ensureStaticString(filename); + return module.block(null, [ + module.call( + abortInstance.internalName, [ + messageArg, + filenameArg, + module.i32(line), + module.i32(column) + ], + NativeType.None + ), + module.unreachable() + ]); +} + /** Compiles the `visit_globals` function. */ export function compileVisitGlobals(compiler: Compiler): void { var module = compiler.module; diff --git a/src/common.ts b/src/common.ts index 3191265603..17073fa412 100644 --- a/src/common.ts +++ b/src/common.ts @@ -189,6 +189,7 @@ export namespace CommonSymbols { export const Uint64Array = "Uint64Array"; export const Float32Array = "Float32Array"; export const Float64Array = "Float64Array"; + export const Error = "Error"; // runtime export const abort = "abort"; export const pow = "pow"; diff --git a/src/compiler.ts b/src/compiler.ts index d9261a5e4a..e1dd516428 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -10,6 +10,7 @@ import { compileVisitGlobals, compileVisitMembers, compileRTTI, + makeAbort, } from "./builtins"; import { @@ -357,6 +358,13 @@ export class Compiler extends DiagnosticEmitter { module.addGlobal(BuiltinSymbols.rtti_base, NativeType.I32, true, module.i32(0)); } + // add error global + if (options.isWasm64) { + module.addGlobal(BuiltinSymbols.error, NativeType.I64, true, module.i64(0)); + } else { + module.addGlobal(BuiltinSymbols.error, NativeType.I32, true, module.i32(0)); + } + // compile entry file(s) while traversing reachable elements var files = program.filesByName; for (let file of files.values()) { @@ -749,18 +757,21 @@ export class Compiler extends DiagnosticEmitter { // compile top-level statements var previousFlow = this.currentFlow; + var module = this.module; var flow = startFunction.flow; this.currentFlow = flow; + flow.catchLabel = "uncaughtError"; for (let statements = file.source.statements, i = 0, k = statements.length; i < k; ++i) { this.compileTopLevelStatement(statements[i], startFunctionBody); } - this.finishAutoreleases(flow, startFunctionBody); + var possiblyThrows = flow.isAny(FlowFlags.THROWS | FlowFlags.CONDITIONALLY_THROWS); + if (!flow.is(FlowFlags.TERMINATES)) this.finishAutoreleases(flow, startFunctionBody); + if (possiblyThrows) startFunctionBody.push(module.return()); this.currentFlow = previousFlow; this.currentBody = previousBody; // if top-level statements are present, make the per-file start function and call it in start if (startFunctionBody.length) { - let module = this.module; let locals = startFunction.localsByIndex; let numLocals = locals.length; let varTypes = new Array(numLocals); @@ -769,9 +780,14 @@ export class Compiler extends DiagnosticEmitter { startFunction.internalName, this.ensureFunctionType(startFunction.signature.parameterTypes, startFunction.signature.returnType), varTypes, - startFunctionBody.length > 1 - ? module.block(null, startFunctionBody) - : startFunctionBody[0] + possiblyThrows + ? module.block(null, [ + module.block("uncaughtError", startFunctionBody), + makeAbort(this, "uncaught error", file.source.normalizedPath) + ]) + : startFunctionBody.length > 1 + ? module.block(null, startFunctionBody) + : startFunctionBody[0] ); previousBody.push( module.call(startFunction.internalName, null, NativeType.None) @@ -2377,36 +2393,147 @@ export class Compiler extends DiagnosticEmitter { compileThrowStatement( statement: ThrowStatement ): ExpressionRef { + var module = this.module; var flow = this.currentFlow; - // Remember that this branch throws - flow.set(FlowFlags.THROWS | FlowFlags.TERMINATES); + // Remember that this branch throws / terminates without a reachable catch + flow.set(FlowFlags.THROWS); + if (flow.catchLabel === null) flow.set(FlowFlags.TERMINATES); + // Compile the error and make sure it is an error + var expr = this.compileExpression(statement.value, Type.auto, Constraints.WILL_RETAIN); + var classInstance = this.currentType.classReference; + this.currentType = Type.void; + if (!(classInstance !== null && classInstance.extends(this.program.errorPrototype))) { + this.error( + DiagnosticCode.Operation_not_supported, + statement.value.range + ); + return module.unreachable(); + } + + // Set the global error helper, retain if necessary and interrupt. This will + // either branch to the reachable catch block or terminate the function. + if (!this.skippedAutoreleases.has(expr)) expr = this.makeRetain(expr); var stmts = new Array(); + stmts.push( + module.global_set(BuiltinSymbols.error, expr) + ); this.finishAutoreleases(flow, stmts); + stmts.push( + this.makeInterruptOnThrow() + ); + return flatten(this.module, stmts, NativeType.None); + } - // TODO: requires exception-handling spec. - var value = statement.value; - var message: Expression | null = null; - if (value.kind == NodeKind.NEW) { - let newArgs = (value).arguments; - if (newArgs.length) message = newArgs[0]; // FIXME: naively assumes type string + /** Interrupts the current block or function when an error has been thrown. */ + private makeInterruptOnThrow(): ExpressionRef { + var module = this.module; + var flow = this.currentFlow; + var catchLabel = flow.catchLabel; + assert(flow.isAny(FlowFlags.THROWS | FlowFlags.CONDITIONALLY_THROWS)); + if (catchLabel !== null) { // break to immediate catch block, if present + return module.br(catchLabel); + } else { + let returnType = flow.actualFunction.signature.returnType; + if (returnType == Type.void) { // exit from current function + if (flow.is(FlowFlags.INLINE_CONTEXT)) { + return module.br(assert(flow.inlineReturnLabel)); + } else { + return module.return(); + } + } else { // exist from current function with zero + if (flow.is(FlowFlags.INLINE_CONTEXT)) { + return module.br(assert(flow.inlineReturnLabel), 0, returnType.toNativeZero(module)); + } else { + return module.return(returnType.toNativeZero(module)); + } + } } - stmts.push(compileAbort(this, message, statement)); - - return flatten(this.module, stmts, NativeType.None); } compileTryStatement( statement: TryStatement ): ExpressionRef { - // TODO: can't yet support something like: try { return ... } finally { ... } - // worthwhile to investigate lowering returns to block results (here)? - this.error( - DiagnosticCode.Operation_not_supported, - statement.range + var module = this.module; + + // Only `try { .. } catch [(e)] { .. }` is supported + var catchStatements = statement.catchStatements; + var finallyStatements = statement.finallyStatements; + if (!catchStatements || finallyStatements) { + this.error( + DiagnosticCode.Operation_not_supported, + statement.range + ); + return module.unreachable(); + } + + // Set up a context we can break from if an error is thrown + var outerFlow = this.currentFlow; + var label = outerFlow.pushBreakLabel(); + var tryFlow = outerFlow.fork(); + var catchLabel = "catch|" + label; + tryFlow.catchLabel = catchLabel; + var proceedLabel = "proceed|" + label; + this.currentFlow = tryFlow; + + // Compile try statements and proceed if no error occurs + var tryStmts = this.compileStatements(statement.statements); + tryStmts.push( + module.br(proceedLabel) ); - return this.module.unreachable(); + if (!tryFlow.is(FlowFlags.TERMINATES)) { + this.performAutoreleases(tryFlow, tryStmts); + } + tryFlow.freeScopedLocals(); + outerFlow.popBreakLabel(); + tryFlow.unset( + FlowFlags.THROWS | + FlowFlags.CONDITIONALLY_THROWS + ); + outerFlow.inherit(tryFlow); + this.currentFlow = outerFlow; + + // Start wrapping everything in a block + var stmts = new Array(); + stmts.push( + module.block(catchLabel, tryStmts) + ); + + var catchFlow = outerFlow.fork(); + this.currentFlow = catchFlow; + + // Transfer ownership to the catch variable, if present, and clear the error + var catchVariable = statement.catchVariable; + var nativeSizeType = this.options.nativeSizeType; + if (catchVariable !== null) { + let varType = assert(this.resolver.resolveClass(this.program.errorPrototype, null)).type; + let varLocal = catchFlow.addScopedLocal(catchVariable.text, varType); + catchFlow.setLocalFlag(varLocal.index, LocalFlags.RETAINED); + stmts.push( + module.local_set(varLocal.index, + module.global_get(BuiltinSymbols.error, nativeSizeType) + ) + ); + } else { + // if not present, release the error / TODO: what about rethrowing? + stmts.push( + this.makeRelease( + module.global_get(BuiltinSymbols.error, nativeSizeType) + ) + ); + } + stmts.push( + module.global_set(BuiltinSymbols.error, this.options.usizeType.toNativeZero(module)) + ); + + // Compile catch statements and return to the parent flow + this.compileStatements(catchStatements, false, stmts); + if (!catchFlow.is(FlowFlags.TERMINATES)) this.performAutoreleases(catchFlow, stmts); + catchFlow.freeScopedLocals(); + outerFlow.inheritConditional(catchFlow); + this.currentFlow = outerFlow; + return module.block(proceedLabel, stmts); } /** Compiles a variable statement. Returns `0` if an initializer is not necessary. */ @@ -6208,6 +6335,7 @@ export class Compiler extends DiagnosticEmitter { // Create a new inline flow and use it to compile the function as a block var previousFlow = this.currentFlow; var flow = Flow.createInline(previousFlow.parentFunction, instance); + instance.flow = flow; // there are multiple, but let the last one represent the function var body = []; var usedLocals = new Set(); @@ -6695,6 +6823,17 @@ export class Compiler extends DiagnosticEmitter { var module = this.module; if (!this.compileFunction(instance)) return module.unreachable(); + var flow = this.currentFlow; + var foreignFlow = instance.flow; + var possiblyThrows = false; + if (foreignFlow.is(FlowFlags.THROWS)) { + possiblyThrows = true; + flow.set(FlowFlags.THROWS); + } + if (foreignFlow.is(FlowFlags.CONDITIONALLY_THROWS)) { + possiblyThrows = true; + flow.set(FlowFlags.CONDITIONALLY_THROWS); + } var returnType = instance.signature.returnType; var isCallImport = instance.is(CommonFlags.MODULE_IMPORT); @@ -6752,6 +6891,7 @@ export class Compiler extends DiagnosticEmitter { instance.flow.flags = original.flow.flags; let nativeReturnType = returnType.toNativeType(); let expr = module.call(instance.internalName, operands, nativeReturnType); + if (possiblyThrows) expr = this.handlePossibleInterruptOnThrow(expr, returnType); this.currentType = returnType; if (returnType.isManaged) { if (immediatelyDropped) { @@ -6763,10 +6903,11 @@ export class Compiler extends DiagnosticEmitter { this.skippedAutoreleases.add(expr); } } - return module.block(null, [ + expr = module.block(null, [ module.global_set(this.ensureArgcVar(), module.i32(numArguments)), expr ], this.currentType.toNativeType()); + return expr; } } } @@ -6775,6 +6916,7 @@ export class Compiler extends DiagnosticEmitter { // which is equivalent to a skipped autorelease. Hence, insert either a release if it is // dropped anyway, preserve the skipped autorelease if explicitly requested or autorelease now. var expr = module.call(instance.internalName, operands, returnType.toNativeType()); + if (possiblyThrows) expr = this.handlePossibleInterruptOnThrow(expr, returnType); this.currentType = returnType; if (returnType.isManaged) { if (immediatelyDropped) { @@ -6787,6 +6929,40 @@ export class Compiler extends DiagnosticEmitter { return expr; } + /** Handles the condition where `expr` possibly throws. */ + private handlePossibleInterruptOnThrow(expr: ExpressionRef, type: Type): ExpressionRef { + var module = this.module; + var flow = this.currentFlow; + var nativeSizeType = this.options.nativeSizeType; + + flow.set(FlowFlags.CONDITIONALLY_THROWS); + + // Check if the expression did throw, and if it did, forward the interrupt + // so we either land at the respective catch block or interrupt the current + // function again until we hopefully do. If we don't, the error either leads + // out of the module to an external caller or happens in a start function. + if (type == Type.void) { + return module.block(null, [ + expr, + module.if( + module.global_get(BuiltinSymbols.error, nativeSizeType), + this.makeInterruptOnThrow() + ) + ]); + } else { + let temp = flow.getAndFreeTempLocal(type); + let nativeType = type.toNativeType(); + return module.block(null, [ + module.local_set(temp.index, expr), + module.if( + module.global_get(BuiltinSymbols.error, nativeSizeType), + this.makeInterruptOnThrow() + ), + module.local_get(temp.index, nativeType) + ], nativeType); + } + } + /** Compiles an indirect call using an index argument and a signature. */ compileCallIndirect( signature: Signature, @@ -6860,7 +7036,10 @@ export class Compiler extends DiagnosticEmitter { } var returnType = signature.returnType; - var expr = module.call_indirect(indexArg, operands, signature.toSignatureString()); + var expr = this.handlePossibleInterruptOnThrow( + module.call_indirect(indexArg, operands, signature.toSignatureString()), + returnType + ); this.currentType = returnType; if (returnType.isManaged) { if (immediatelyDropped) { diff --git a/src/flow.ts b/src/flow.ts index ce4a250abf..9982a5b4cc 100644 --- a/src/flow.ts +++ b/src/flow.ts @@ -237,6 +237,8 @@ export class Flow { inlineFunction: Function | null; /** The label we break to when encountering a return statement, when inlining. */ inlineReturnLabel: string | null; + /** The label we break to when encountering an exception. */ + catchLabel: string | null; /** Creates the parent flow of the specified function. */ static create(parentFunction: Function): Flow { @@ -251,6 +253,7 @@ export class Flow { flow.localFlags = []; flow.inlineFunction = null; flow.inlineReturnLabel = null; + flow.catchLabel = null; return flow; } @@ -294,6 +297,7 @@ export class Flow { branch.localFlags = this.localFlags.slice(); branch.inlineFunction = this.inlineFunction; branch.inlineReturnLabel = this.inlineReturnLabel; + branch.catchLabel = this.catchLabel; return branch; } @@ -521,6 +525,9 @@ export class Flow { /** Inherits categorical flags as conditional flags from the specified flow (e.g. then without else). */ inheritConditional(other: Flow): void { + // inherit conditional flags + this.set(other.flags & FlowFlags.ANY_CONDITIONAL); + if (other.is(FlowFlags.RETURNS)) { this.set(FlowFlags.CONDITIONALLY_RETURNS); } @@ -550,10 +557,6 @@ export class Flow { // categorical flags set in both arms this.set(left.flags & right.flags & FlowFlags.ANY_CATEGORICAL); - // conditional flags set in any arm - this.set(left.flags & FlowFlags.ANY_CONDITIONAL); - this.set(right.flags & FlowFlags.ANY_CONDITIONAL); - // categorical flags in either arm as conditional this.inheritConditional(left); this.inheritConditional(right); diff --git a/src/program.ts b/src/program.ts index 683fd2f60a..da4e674ee3 100644 --- a/src/program.ts +++ b/src/program.ts @@ -375,6 +375,8 @@ export class Program extends DiagnosticEmitter { f64ArrayPrototype: ClassPrototype; /** String instance reference. */ stringInstance: Class; + /** Error prototype. */ + errorPrototype: ClassPrototype; /** Abort function reference, if present. */ abortInstance: Function; @@ -788,6 +790,7 @@ export class Program extends DiagnosticEmitter { this.u64ArrayPrototype = this.require(CommonSymbols.Uint64Array, ElementKind.CLASS_PROTOTYPE); this.f32ArrayPrototype = this.require(CommonSymbols.Float32Array, ElementKind.CLASS_PROTOTYPE); this.f64ArrayPrototype = this.require(CommonSymbols.Float64Array, ElementKind.CLASS_PROTOTYPE); + this.errorPrototype = this.require(CommonSymbols.Error, ElementKind.CLASS_PROTOTYPE); // resolve base prototypes of derived classes var resolver = this.resolver; diff --git a/tests/compiler/abi.untouched.wat b/tests/compiler/abi.untouched.wat index 887c65e133..4db10aca67 100644 --- a/tests/compiler/abi.untouched.wat +++ b/tests/compiler/abi.untouched.wat @@ -7,6 +7,7 @@ (data (i32.const 8) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $abi/condition (mut i32) (i32.const 0)) (global $abi/y (mut i32) (i32.const 0)) (export "memory" (memory $0)) diff --git a/tests/compiler/asc-constants.untouched.wat b/tests/compiler/asc-constants.untouched.wat index 3edd831f17..1d170c2407 100644 --- a/tests/compiler/asc-constants.untouched.wat +++ b/tests/compiler/asc-constants.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/ASC_TARGET i32 (i32.const 0)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/ASC_MEMORY_BASE i32 (i32.const 0)) diff --git a/tests/compiler/assert-nonnull.optimized.wat b/tests/compiler/assert-nonnull.optimized.wat index e9f76b9077..61ccb2a066 100644 --- a/tests/compiler/assert-nonnull.optimized.wat +++ b/tests/compiler/assert-nonnull.optimized.wat @@ -1,15 +1,19 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "^\00\00\00\01\00\00\00\01\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 120) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 168) "$\00\00\00\01\00\00\00\01\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 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 44) "\01\00\00\00\01") + (data (i32.const 56) "^\00\00\00\01\00\00\00\01\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 168) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "testVar" (func $assert-nonnull/testVar)) @@ -24,7 +28,8 @@ (export "testRet" (func $assert-nonnull/testRet)) (export "testObjFn" (func $assert-nonnull/testObjFn)) (export "testObjRet" (func $assert-nonnull/testObjRet)) - (func $assert-nonnull/testVar (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (start $start) + (func $assert-nonnull/testVar (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -32,7 +37,7 @@ end local.get $0 ) - (func $assert-nonnull/testObj (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testObj (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -41,7 +46,7 @@ local.get $0 i32.load ) - (func $assert-nonnull/testProp (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testProp (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load local.tee $0 @@ -51,23 +56,118 @@ end local.get $0 ) - (func $~lib/array/Array#__unchecked_get (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/stub/__alloc (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/stub/offset + i32.const 16 + i32.add + local.tee $2 + i32.const 27 + i32.add + i32.const -16 + i32.and + local.tee $1 + memory.size + local.tee $3 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $3 + local.get $1 + local.get $2 + i32.sub + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $4 + local.get $3 + local.get $4 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $1 + global.set $~lib/rt/stub/offset + local.get $2 + i32.const 16 + i32.sub + local.tee $1 + local.get $0 + i32.store offset=8 + local.get $1 + i32.const 12 + i32.store offset=12 + local.get $2 + ) + (func $~lib/error/Error#constructor (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 3 + call $~lib/rt/stub/__alloc + local.set $0 + end + local.get $0 + i32.const 24 + i32.store + local.get $0 + i32.const 56 + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 5 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + (local $1 i32) + i32.const 6 + call $~lib/rt/stub/__alloc + i32.const 224 + call $~lib/error/Error#constructor + local.tee $0 + local.get $0 + i32.load + drop + i32.const 184 + i32.store + local.get $0 + ) + (func $~lib/array/Array#__unchecked_get (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=4 i32.load ) - (func $~lib/array/Array#__get (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#__get (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 24 - i32.const 136 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 72 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end i32.const 0 local.get $0 @@ -76,17 +176,15 @@ i32.shr_u i32.ge_u if - i32.const 184 - i32.const 136 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 call $~lib/array/Array#__unchecked_get ) - (func $assert-nonnull/testArr (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testArr (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -94,8 +192,13 @@ end local.get $0 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/array/Array#__get (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#__get (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 local.get $0 i32.load offset=8 @@ -103,27 +206,31 @@ i32.shr_u i32.ge_u if - i32.const 184 - i32.const 136 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 call $~lib/array/Array#__unchecked_get ) - (func $assert-nonnull/testElem (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testElem (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/array/Array#__get - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 i32.eqz if unreachable end local.get $0 ) - (func $assert-nonnull/testAll (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testAll (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -131,6 +238,11 @@ end local.get $0 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end i32.load local.tee $0 i32.eqz @@ -139,13 +251,18 @@ end local.get $0 ) - (func $assert-nonnull/testFn (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testFn (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 global.set $~lib/argc local.get $0 call_indirect (type $FUNCSIG$i) + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $assert-nonnull/testFn2 (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testFn2 (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -155,42 +272,68 @@ global.set $~lib/argc local.get $0 call_indirect (type $FUNCSIG$i) + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $assert-nonnull/testRet (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) + (func $assert-nonnull/testRet (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 global.set $~lib/argc local.get $0 call_indirect (type $FUNCSIG$i) - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.eqz if unreachable end + local.get $0 ) - (func $assert-nonnull/testObjFn (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testObjFn (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 global.set $~lib/argc local.get $0 i32.load offset=4 call_indirect (type $FUNCSIG$i) + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $assert-nonnull/testObjRet (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) + (func $assert-nonnull/testObjRet (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 global.set $~lib/argc local.get $0 i32.load offset=4 call_indirect (type $FUNCSIG$i) - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.eqz if unreachable end + local.get $0 + ) + (func $start (; 17 ;) (type $FUNCSIG$v) + i32.const 272 + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset ) - (func $null (; 15 ;) (type $FUNCSIG$v) + (func $null (; 18 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/assert-nonnull.untouched.wat b/tests/compiler/assert-nonnull.untouched.wat index ac6d6e1f20..cd8b5c56de 100644 --- a/tests/compiler/assert-nonnull.untouched.wat +++ b/tests/compiler/assert-nonnull.untouched.wat @@ -2,17 +2,21 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "^\00\00\00\01\00\00\00\01\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") - (data (i32.const 120) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 168) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 40) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 56) "^\00\00\00\01\00\00\00\01\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") + (data (i32.const 168) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) + (global $~lib/heap/__heap_base i32 (i32.const 260)) (export "memory" (memory $0)) (export "testVar" (func $assert-nonnull/testVar)) (export "testObj" (func $assert-nonnull/testObj)) @@ -26,13 +30,14 @@ (export "testRet" (func $assert-nonnull/testRet)) (export "testObjFn" (func $assert-nonnull/testObjFn)) (export "testObjRet" (func $assert-nonnull/testObjRet)) - (func $~lib/rt/stub/__retain (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (start $start) + (func $~lib/rt/stub/__retain (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 ) - (func $~lib/rt/stub/__release (; 2 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/stub/__release (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $assert-nonnull/testVar (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testVar (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/stub/__retain @@ -50,7 +55,7 @@ call $~lib/rt/stub/__release local.get $1 ) - (func $assert-nonnull/testObj (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testObj (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/stub/__retain @@ -69,7 +74,7 @@ call $~lib/rt/stub/__release local.get $1 ) - (func $assert-nonnull/testProp (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testProp (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/stub/__retain @@ -88,7 +93,166 @@ call $~lib/rt/stub/__release local.get $1 ) - (func $~lib/array/Array#__unchecked_get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/stub/__alloc (; 5 ;) (type $FUNCSIG$iii) (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 $8 i32) + local.get $0 + i32.const 1073741808 + i32.gt_u + if + unreachable + end + global.get $~lib/rt/stub/offset + i32.const 16 + i32.add + local.set $2 + local.get $2 + local.get $0 + local.tee $3 + i32.const 1 + local.tee $4 + local.get $3 + local.get $4 + i32.gt_u + select + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $5 + memory.size + local.set $6 + local.get $5 + local.get $6 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $5 + local.get $2 + i32.sub + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $6 + local.tee $4 + local.get $3 + local.tee $7 + local.get $4 + local.get $7 + i32.gt_s + select + local.set $4 + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $5 + global.set $~lib/rt/stub/offset + local.get $2 + i32.const 16 + i32.sub + local.set $8 + local.get $8 + local.get $1 + i32.store offset=8 + local.get $8 + local.get $0 + i32.store offset=12 + local.get $2 + ) + (func $~lib/error/Error#constructor (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 3 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + local.set $0 + end + local.get $0 + i32.const 24 + call $~lib/rt/stub/__retain + i32.store + local.get $0 + i32.const 56 + call $~lib/rt/stub/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 6 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 184 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne + if + local.get $3 + call $~lib/rt/stub/__retain + drop + local.get $2 + call $~lib/rt/stub/__release + end + local.get $3 + i32.store + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $~lib/array/Array#__unchecked_get (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -98,18 +262,18 @@ i32.load call $~lib/rt/stub/__retain ) - (func $~lib/array/Array#__get (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 24 - i32.const 136 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 72 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -118,18 +282,18 @@ i32.shr_u i32.ge_u if - i32.const 184 - i32.const 136 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $assert-nonnull/testArr (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testArr (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/stub/__retain @@ -144,11 +308,18 @@ i32.const 0 call $~lib/array/Array#__get local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.set $1 local.get $0 call $~lib/rt/stub/__release local.get $1 ) - (func $~lib/array/Array#__unchecked_get (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -158,7 +329,7 @@ i32.load call $~lib/rt/stub/__retain ) - (func $~lib/array/Array#__get (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -166,18 +337,18 @@ i32.shr_u i32.ge_u if - i32.const 184 - i32.const 136 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $assert-nonnull/testElem (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testElem (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/stub/__retain @@ -185,6 +356,13 @@ local.get $0 i32.const 0 call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 if (result i32) local.get $1 @@ -197,7 +375,7 @@ call $~lib/rt/stub/__release local.get $1 ) - (func $assert-nonnull/testAll (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testAll (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -212,6 +390,13 @@ end i32.const 0 call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 i32.load local.tee $2 @@ -228,7 +413,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $assert-nonnull/testAll2 (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testAll2 (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -243,6 +428,13 @@ end i32.const 0 call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 i32.load local.tee $2 @@ -259,13 +451,20 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $assert-nonnull/testFn (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testFn (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 global.set $~lib/argc local.get $0 call_indirect (type $FUNCSIG$i) + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 call $~lib/rt/stub/__retain local.set $2 @@ -273,7 +472,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $assert-nonnull/testFn2 (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testFn2 (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -289,6 +488,13 @@ global.set $~lib/argc local.get $2 call_indirect (type $FUNCSIG$i) + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 call $~lib/rt/stub/__retain local.set $3 @@ -296,13 +502,20 @@ call $~lib/rt/stub/__release local.get $3 ) - (func $assert-nonnull/testRet (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testRet (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 global.set $~lib/argc local.get $0 call_indirect (type $FUNCSIG$i) + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 local.tee $2 if (result i32) @@ -316,7 +529,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $assert-nonnull/testObjFn (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testObjFn (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -327,6 +540,13 @@ local.get $0 i32.load offset=4 call_indirect (type $FUNCSIG$i) + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 call $~lib/rt/stub/__retain local.set $2 @@ -336,7 +556,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $assert-nonnull/testObjRet (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $assert-nonnull/testObjRet (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -347,6 +567,13 @@ local.get $0 i32.load offset=4 call_indirect (type $FUNCSIG$i) + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 local.tee $2 if (result i32) @@ -362,6 +589,18 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $null (; 19 ;) (type $FUNCSIG$v) + (func $start (; 21 ;) (type $FUNCSIG$v) + global.get $~lib/heap/__heap_base + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + ) + (func $null (; 22 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/assert.untouched.wat b/tests/compiler/assert.untouched.wat index 413ab66a84..992a9e71e8 100644 --- a/tests/compiler/assert.untouched.wat +++ b/tests/compiler/assert.untouched.wat @@ -7,6 +7,7 @@ (data (i32.const 48) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00m\00u\00s\00t\00 \00b\00e\00 \00t\00r\00u\00e\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $start:assert (; 1 ;) (type $FUNCSIG$v) diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index 80dd5993dc..407882c90c 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -9,6 +9,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $binary/b (mut i32) (i32.const 0)) (global $binary/i (mut i32) (i32.const 0)) (global $binary/I (mut i64) (i64.const 0)) diff --git a/tests/compiler/bool.untouched.wat b/tests/compiler/bool.untouched.wat index c22f19cecb..9c03798af4 100644 --- a/tests/compiler/bool.untouched.wat +++ b/tests/compiler/bool.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $bool/i (mut i32) (i32.const 2)) (global $bool/I (mut i64) (i64.const 2)) (global $bool/u (mut i32) (i32.const 2)) diff --git a/tests/compiler/builtins.untouched.wat b/tests/compiler/builtins.untouched.wat index ccaebd2439..a3566f4cd7 100644 --- a/tests/compiler/builtins.untouched.wat +++ b/tests/compiler/builtins.untouched.wat @@ -11,6 +11,7 @@ (data (i32.const 64) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00b\00c\00") (table $0 2 funcref) (elem (i32.const 0) $null $start:builtins~anonymous|0) + (global $~lib/error (mut i32) (i32.const 0)) (global $builtins/b (mut i32) (i32.const 0)) (global $builtins/i (mut i32) (i32.const 0)) (global $builtins/I (mut i64) (i64.const 0)) diff --git a/tests/compiler/call-inferred.untouched.wat b/tests/compiler/call-inferred.untouched.wat index 4d8f89f101..621324f462 100644 --- a/tests/compiler/call-inferred.untouched.wat +++ b/tests/compiler/call-inferred.untouched.wat @@ -9,6 +9,7 @@ (data (i32.const 8) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $call-inferred/foo (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) diff --git a/tests/compiler/call-optional.optimized.wat b/tests/compiler/call-optional.optimized.wat index f7c91e7000..6a818160e1 100644 --- a/tests/compiler/call-optional.optimized.wat +++ b/tests/compiler/call-optional.optimized.wat @@ -5,8 +5,10 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s") + (data (i32.const 56) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") (table $0 2 funcref) (elem (i32.const 0) $null $call-optional/opt|trampoline) + (global $~lib/error i32 (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) (global $call-optional/optIndirect i32 (i32.const 1)) (export "memory" (memory $0)) @@ -42,6 +44,7 @@ call $call-optional/opt ) (func $start:call-optional (; 3 ;) (type $FUNCSIG$v) + (local $0 i32) i32.const 1 global.set $~lib/argc i32.const 3 @@ -93,48 +96,65 @@ i32.const 0 global.get $call-optional/optIndirect call_indirect (type $FUNCSIG$iiii) - if - i32.const 0 - i32.const 24 - i32.const 9 + local.set $0 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $0 + if + i32.const 0 + i32.const 24 + i32.const 9 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 3 + i32.const 4 i32.const 0 - call $~lib/builtins/abort - unreachable + global.get $call-optional/optIndirect + call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + br_if $uncaughtError + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + global.set $~lib/argc + i32.const 3 + i32.const 4 + i32.const 5 + global.get $call-optional/optIndirect + call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + br_if $uncaughtError + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end - i32.const 2 - global.set $~lib/argc - i32.const 3 - i32.const 4 + i32.const 72 + i32.const 24 + i32.const 1 i32.const 0 - global.get $call-optional/optIndirect - call_indirect (type $FUNCSIG$iiii) - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 10 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - global.set $~lib/argc - i32.const 3 - i32.const 4 - i32.const 5 - global.get $call-optional/optIndirect - call_indirect (type $FUNCSIG$iiii) - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 11 - i32.const 0 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable ) (func $start (; 4 ;) (type $FUNCSIG$v) call $start:call-optional diff --git a/tests/compiler/call-optional.untouched.wat b/tests/compiler/call-optional.untouched.wat index 57740d1e68..51c38f7606 100644 --- a/tests/compiler/call-optional.untouched.wat +++ b/tests/compiler/call-optional.untouched.wat @@ -5,8 +5,10 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s\00") + (data (i32.const 56) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") (table $0 2 funcref) (elem (i32.const 0) $null $call-optional/opt|trampoline) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) (global $call-optional/optIndirect (mut i32) (i32.const 1)) (export "memory" (memory $0)) @@ -42,109 +44,137 @@ call $call-optional/opt ) (func $start:call-optional (; 3 ;) (type $FUNCSIG$v) - i32.const 1 - global.set $~lib/argc - i32.const 3 - i32.const 0 - i32.const 0 - call $call-optional/opt|trampoline - i32.const 0 - i32.eq - i32.eqz - if + (local $0 i32) + block $uncaughtError + i32.const 1 + global.set $~lib/argc + i32.const 3 i32.const 0 - i32.const 24 - i32.const 4 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - i32.const 3 - i32.const 4 - i32.const 0 - call $call-optional/opt|trampoline - i32.const 5 - i32.eq - i32.eqz - if + call $call-optional/opt|trampoline i32.const 0 - i32.const 24 - i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 4 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 3 + i32.const 4 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 4 - i32.const 5 - call $call-optional/opt - i32.const 12 - i32.eq - i32.eqz - if + call $call-optional/opt|trampoline + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 4 + i32.const 5 + call $call-optional/opt + i32.const 12 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 6 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc + i32.const 3 i32.const 0 - i32.const 24 - i32.const 6 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~lib/argc - i32.const 3 - i32.const 0 - i32.const 0 - global.get $call-optional/optIndirect - call_indirect (type $FUNCSIG$iiii) - i32.const 0 - i32.eq - i32.eqz - if + global.get $call-optional/optIndirect + call_indirect (type $FUNCSIG$iiii) + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 i32.const 0 - i32.const 24 - i32.const 9 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 9 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 3 + i32.const 4 i32.const 0 - call $~lib/builtins/abort - unreachable + global.get $call-optional/optIndirect + call_indirect (type $FUNCSIG$iiii) + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + global.set $~lib/argc + i32.const 3 + i32.const 4 + i32.const 5 + global.get $call-optional/optIndirect + call_indirect (type $FUNCSIG$iiii) + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 12 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end - i32.const 2 - global.set $~lib/argc - i32.const 3 - i32.const 4 + i32.const 72 + i32.const 24 + i32.const 1 i32.const 0 - global.get $call-optional/optIndirect - call_indirect (type $FUNCSIG$iiii) - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 10 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - global.set $~lib/argc - i32.const 3 - i32.const 4 - i32.const 5 - global.get $call-optional/optIndirect - call_indirect (type $FUNCSIG$iiii) - i32.const 12 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 11 - i32.const 0 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable ) (func $start (; 4 ;) (type $FUNCSIG$v) call $start:call-optional diff --git a/tests/compiler/call-super.untouched.wat b/tests/compiler/call-super.untouched.wat index d0365d648c..109d544bbd 100644 --- a/tests/compiler/call-super.untouched.wat +++ b/tests/compiler/call-super.untouched.wat @@ -9,6 +9,7 @@ (data (i32.const 8) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/heap/__heap_base i32 (i32.const 52)) diff --git a/tests/compiler/class-extends.untouched.wat b/tests/compiler/class-extends.untouched.wat index ea085c090d..77e172373a 100644 --- a/tests/compiler/class-extends.untouched.wat +++ b/tests/compiler/class-extends.untouched.wat @@ -5,6 +5,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "test" (func $class-extends/test)) (func $~lib/rt/stub/__retain (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) diff --git a/tests/compiler/class-overloading.untouched.wat b/tests/compiler/class-overloading.untouched.wat index 65b67365da..c93aa2d779 100644 --- a/tests/compiler/class-overloading.untouched.wat +++ b/tests/compiler/class-overloading.untouched.wat @@ -5,6 +5,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "test" (func $class-overloading/test)) (start $start) diff --git a/tests/compiler/class.untouched.wat b/tests/compiler/class.untouched.wat index b8f42eac20..9424dca48b 100644 --- a/tests/compiler/class.untouched.wat +++ b/tests/compiler/class.untouched.wat @@ -12,6 +12,7 @@ (data (i32.const 8) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00c\00l\00a\00s\00s\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $class/Animal.ONE (mut i32) (i32.const 1)) (export "memory" (memory $0)) (export "test" (func $class/test)) diff --git a/tests/compiler/closure.untouched.wat b/tests/compiler/closure.untouched.wat index 29ee81b836..eccaf42e3e 100644 --- a/tests/compiler/closure.untouched.wat +++ b/tests/compiler/closure.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (func $null (; 0 ;) (type $FUNCSIG$v) ) diff --git a/tests/compiler/comma.untouched.wat b/tests/compiler/comma.untouched.wat index 7c038e5db9..20b78baf90 100644 --- a/tests/compiler/comma.untouched.wat +++ b/tests/compiler/comma.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $comma/a (mut i32) (i32.const 0)) (global $comma/b (mut i32) (i32.const 0)) (export "memory" (memory $0)) diff --git a/tests/compiler/constructor.untouched.wat b/tests/compiler/constructor.untouched.wat index 1ae5687c2d..8a84693c31 100644 --- a/tests/compiler/constructor.untouched.wat +++ b/tests/compiler/constructor.untouched.wat @@ -5,6 +5,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $constructor/emptyCtor (mut i32) (i32.const 0)) diff --git a/tests/compiler/declare.untouched.wat b/tests/compiler/declare.untouched.wat index 2946358847..fa7cef4c9d 100644 --- a/tests/compiler/declare.untouched.wat +++ b/tests/compiler/declare.untouched.wat @@ -10,6 +10,7 @@ (data (i32.const 8) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $start:declare (; 3 ;) (type $FUNCSIG$v) diff --git a/tests/compiler/do.untouched.wat b/tests/compiler/do.untouched.wat index dada59c30b..5377e21b17 100644 --- a/tests/compiler/do.untouched.wat +++ b/tests/compiler/do.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00o\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $do/n (mut i32) (i32.const 10)) (global $do/m (mut i32) (i32.const 0)) (global $do/o (mut i32) (i32.const 0)) diff --git a/tests/compiler/empty.untouched.wat b/tests/compiler/empty.untouched.wat index 29ee81b836..eccaf42e3e 100644 --- a/tests/compiler/empty.untouched.wat +++ b/tests/compiler/empty.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (func $null (; 0 ;) (type $FUNCSIG$v) ) diff --git a/tests/compiler/enum.untouched.wat b/tests/compiler/enum.untouched.wat index 51d9aa74ba..05ce8a1d81 100644 --- a/tests/compiler/enum.untouched.wat +++ b/tests/compiler/enum.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $enum/Implicit.ZERO i32 (i32.const 0)) (global $enum/Implicit.ONE i32 (i32.const 1)) (global $enum/Implicit.TWO i32 (i32.const 2)) diff --git a/tests/compiler/export-default.untouched.wat b/tests/compiler/export-default.untouched.wat index f367647567..abc5bc234c 100644 --- a/tests/compiler/export-default.untouched.wat +++ b/tests/compiler/export-default.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "theDefault" (func $export-default/theDefault)) (export "default" (func $export-default/theDefault)) diff --git a/tests/compiler/export.untouched.wat b/tests/compiler/export.untouched.wat index fb06dd5c75..4bd7629960 100644 --- a/tests/compiler/export.untouched.wat +++ b/tests/compiler/export.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) diff --git a/tests/compiler/exports.untouched.wat b/tests/compiler/exports.untouched.wat index 437afdba2c..08ae152a3d 100644 --- a/tests/compiler/exports.untouched.wat +++ b/tests/compiler/exports.untouched.wat @@ -8,6 +8,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $exports/Animal.CAT i32 (i32.const 0)) (global $exports/Animal.DOG i32 (i32.const 1)) (global $exports/animals.Animal.CAT i32 (i32.const 0)) diff --git a/tests/compiler/external.untouched.wat b/tests/compiler/external.untouched.wat index 664061dcc0..e6eb0f5efc 100644 --- a/tests/compiler/external.untouched.wat +++ b/tests/compiler/external.untouched.wat @@ -8,6 +8,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "foo" (func $external/foo)) (export "foo.bar" (func $external/foo.bar)) diff --git a/tests/compiler/for.untouched.wat b/tests/compiler/for.untouched.wat index dad71958a2..eeac3d2a27 100644 --- a/tests/compiler/for.untouched.wat +++ b/tests/compiler/for.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $for/i (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) diff --git a/tests/compiler/function-expression.optimized.wat b/tests/compiler/function-expression.optimized.wat index 6690a0daca..c18a567475 100644 --- a/tests/compiler/function-expression.optimized.wat +++ b/tests/compiler/function-expression.optimized.wat @@ -7,8 +7,10 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s") + (data (i32.const 72) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") (table $0 11 funcref) (elem (i32.const 0) $start:function-expression~someName $start:function-expression~anonymous|0 $start:function-expression~anonymous|0 $start:function-expression~someName $start:function-expression~anonymous|2 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5) + (global $~lib/error i32 (i32.const 0)) (global $function-expression/f1 i32 (i32.const 1)) (global $~lib/argc (mut i32) (i32.const 0)) (global $function-expression/f2 i32 (i32.const 2)) @@ -37,6 +39,11 @@ i32.const 2 local.get $0 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + i32.const 0 + return + end ) (func $start:function-expression~anonymous|4 (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -45,135 +52,167 @@ i32.const 42 ) (func $start:function-expression (; 8 ;) (type $FUNCSIG$v) + (local $0 i32) i32.const 1 global.set $~lib/argc i32.const 1 global.get $function-expression/f1 call_indirect (type $FUNCSIG$ii) - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 4 - i32.const 0 - call $~lib/builtins/abort - unreachable + local.set $0 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 4 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc + i32.const 2 + global.get $function-expression/f2 + call_indirect (type $FUNCSIG$ii) + global.get $~lib/error + br_if $uncaughtError + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 9 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $~lib/argc + global.get $function-expression/f3 + call_indirect (type $FUNCSIG$v) + global.get $~lib/error + br_if $uncaughtError + i32.const 0 + global.set $~lib/argc + global.get $function-expression/f4 + call_indirect (type $FUNCSIG$i) + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 16 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + call $function-expression/testOmitted + global.get $~lib/error + br_if $uncaughtError + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 21 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 6 + call $function-expression/testOmitted + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 22 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 7 + call $function-expression/testOmitted + global.get $~lib/error + br_if $uncaughtError + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 23 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 1 + i32.const 2 + call $start:function-expression~anonymous|3 + global.get $~lib/error + br_if $uncaughtError + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 34 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 1 + i32.const 2 + call $start:function-expression~anonymous|4 + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 35 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 1 + i32.const 2 + call $start:function-expression~anonymous|5 + global.get $~lib/error + br_if $uncaughtError + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 36 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end + i32.const 88 + i32.const 24 i32.const 1 - global.set $~lib/argc - i32.const 2 - global.get $function-expression/f2 - call_indirect (type $FUNCSIG$ii) - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 9 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $~lib/argc - global.get $function-expression/f3 - call_indirect (type $FUNCSIG$v) i32.const 0 - global.set $~lib/argc - global.get $function-expression/f4 - call_indirect (type $FUNCSIG$i) - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 16 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - call $function-expression/testOmitted - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 21 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 6 - call $function-expression/testOmitted - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 22 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 7 - call $function-expression/testOmitted - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 23 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - i32.const 1 - i32.const 2 - call $start:function-expression~anonymous|3 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 34 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - i32.const 1 - i32.const 2 - call $start:function-expression~anonymous|4 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 35 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - i32.const 1 - i32.const 2 - call $start:function-expression~anonymous|5 - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 36 - i32.const 0 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable ) (func $start (; 9 ;) (type $FUNCSIG$v) call $start:function-expression diff --git a/tests/compiler/function-expression.untouched.wat b/tests/compiler/function-expression.untouched.wat index 77547bfbc6..bb3b5e319f 100644 --- a/tests/compiler/function-expression.untouched.wat +++ b/tests/compiler/function-expression.untouched.wat @@ -7,8 +7,10 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s\00") + (data (i32.const 72) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") (table $0 11 funcref) (elem (i32.const 0) $null $start:function-expression~anonymous|0 $start:function-expression~anonymous|1 $start:function-expression~someName $start:function-expression~anonymous|2 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $function-expression/testOmittedReturn1~anonymous|0 $function-expression/testOmittedReturn2~anonymous|0 $function-expression/testOmittedReturn3~anonymous|0) + (global $~lib/error (mut i32) (i32.const 0)) (global $function-expression/f1 (mut i32) (i32.const 1)) (global $~lib/argc (mut i32) (i32.const 0)) (global $function-expression/f2 (mut i32) (i32.const 2)) @@ -34,12 +36,20 @@ i32.add ) (func $function-expression/testOmitted (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) i32.const 2 global.set $~lib/argc i32.const 1 i32.const 2 local.get $0 call_indirect (type $FUNCSIG$iii) + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) (func $start:function-expression~anonymous|4 (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -68,147 +78,215 @@ i32.const 10 ) (func $start:function-expression (; 15 ;) (type $FUNCSIG$v) - i32.const 1 - global.set $~lib/argc - i32.const 1 - global.get $function-expression/f1 - call_indirect (type $FUNCSIG$ii) - i32.const 1 - i32.eq - i32.eqz - if + (local $0 i32) + block $uncaughtError + i32.const 1 + global.set $~lib/argc + i32.const 1 + global.get $function-expression/f1 + call_indirect (type $FUNCSIG$ii) + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 4 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc + i32.const 2 + global.get $function-expression/f2 + call_indirect (type $FUNCSIG$ii) + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 9 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 24 - i32.const 4 + global.set $~lib/argc + global.get $function-expression/f3 + call_indirect (type $FUNCSIG$v) + global.get $~lib/error + if + br $uncaughtError + end i32.const 0 - call $~lib/builtins/abort - unreachable + global.set $~lib/argc + global.get $function-expression/f4 + call_indirect (type $FUNCSIG$i) + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 16 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + call $function-expression/testOmitted + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 21 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 6 + call $function-expression/testOmitted + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 22 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 7 + call $function-expression/testOmitted + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 23 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 1 + i32.const 2 + call $function-expression/testOmittedReturn1 + call_indirect (type $FUNCSIG$iii) + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 34 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 1 + i32.const 2 + call $function-expression/testOmittedReturn2 + call_indirect (type $FUNCSIG$iii) + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 35 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 1 + i32.const 2 + call $function-expression/testOmittedReturn3 + call_indirect (type $FUNCSIG$iii) + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 36 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end + i32.const 88 + i32.const 24 i32.const 1 - global.set $~lib/argc - i32.const 2 - global.get $function-expression/f2 - call_indirect (type $FUNCSIG$ii) - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 9 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $~lib/argc - global.get $function-expression/f3 - call_indirect (type $FUNCSIG$v) i32.const 0 - global.set $~lib/argc - global.get $function-expression/f4 - call_indirect (type $FUNCSIG$i) - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 16 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - call $function-expression/testOmitted - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 21 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 6 - call $function-expression/testOmitted - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 22 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 7 - call $function-expression/testOmitted - i32.const 42 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 23 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - i32.const 1 - i32.const 2 - call $function-expression/testOmittedReturn1 - call_indirect (type $FUNCSIG$iii) - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 34 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - i32.const 1 - i32.const 2 - call $function-expression/testOmittedReturn2 - call_indirect (type $FUNCSIG$iii) - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 35 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - i32.const 1 - i32.const 2 - call $function-expression/testOmittedReturn3 - call_indirect (type $FUNCSIG$iii) - i32.const 42 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 36 - i32.const 0 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable ) (func $start (; 16 ;) (type $FUNCSIG$v) call $start:function-expression diff --git a/tests/compiler/function-types.optimized.wat b/tests/compiler/function-types.optimized.wat index dd5f05c0ea..568a2f8bbf 100644 --- a/tests/compiler/function-types.optimized.wat +++ b/tests/compiler/function-types.optimized.wat @@ -8,8 +8,10 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s") + (data (i32.const 64) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") (table $0 5 funcref) (elem (i32.const 0) $null $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0) + (global $~lib/error i32 (i32.const 0)) (global $function-types/i32Adder (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) (global $function-types/i64Adder (mut i32) (i32.const 0)) @@ -37,9 +39,16 @@ local.get $1 local.get $2 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + i32.const 0 + return + end ) (func $start:function-types (; 5 ;) (type $FUNCSIG$v) (local $0 i32) + (local $1 i64) + (local $2 f64) i32.const 1 global.set $function-types/i32Adder i32.const 2 @@ -48,135 +57,171 @@ i32.const 2 global.get $function-types/i32Adder call_indirect (type $FUNCSIG$iii) - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 11 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $function-types/i64Adder - i32.const 2 - global.set $~lib/argc - i64.const 10 - i64.const 20 - global.get $function-types/i64Adder - call_indirect (type $FUNCSIG$jjj) - i64.const 30 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 15 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - f64.const 1.5 - f64.const 2.5 - call $function-types/makeAdder~anonymous|0 - f64.const 4 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 17 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 3 - global.get $function-types/i32Adder - call $function-types/doAddWithFn - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 23 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - i32.const 3 - i32.const 4 - call $function-types/makeAdder~anonymous|0 - i32.const 7 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 29 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 5 - i32.const 4 - call $function-types/doAddWithFn - i32.const 9 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 35 + local.set $0 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $function-types/i64Adder + i32.const 2 + global.set $~lib/argc + i64.const 10 + i64.const 20 + global.get $function-types/i64Adder + call_indirect (type $FUNCSIG$jjj) + global.get $~lib/error + br_if $uncaughtError + i64.const 30 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 15 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + f64.const 1.5 + f64.const 2.5 + call $function-types/makeAdder~anonymous|0 + global.get $~lib/error + br_if $uncaughtError + f64.const 4 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 17 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 3 + global.get $function-types/i32Adder + call $function-types/doAddWithFn + global.get $~lib/error + br_if $uncaughtError + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 23 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 3 + i32.const 4 + call $function-types/makeAdder~anonymous|0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 7 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 29 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + i32.const 5 + i32.const 4 + call $function-types/doAddWithFn + global.get $~lib/error + br_if $uncaughtError + i32.const 9 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 35 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 2 - i32.sub - br_table $0of1 $1of1 $outOfRange + local.set $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~lib/argc + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable end + i32.const 1 + local.set $0 + end + i32.const 1 + i32.const 2 + local.get $0 + call $function-types/doAddWithFn + global.get $~lib/error + br_if $uncaughtError + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 41 + i32.const 0 + call $~lib/builtins/abort unreachable end i32.const 1 - local.set $0 - end - i32.const 1 - i32.const 2 - local.get $0 - call $function-types/doAddWithFn - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 41 - i32.const 0 - call $~lib/builtins/abort - unreachable + i32.const 2 + i32.const 1 + call $function-types/doAddWithFn + global.get $~lib/error + br_if $uncaughtError + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end + i32.const 80 + i32.const 24 i32.const 1 - i32.const 2 - i32.const 1 - call $function-types/doAddWithFn - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 0 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + call $~lib/builtins/abort + unreachable ) (func $start (; 6 ;) (type $FUNCSIG$v) call $start:function-types diff --git a/tests/compiler/function-types.untouched.wat b/tests/compiler/function-types.untouched.wat index 62d37d5c86..9f79336d58 100644 --- a/tests/compiler/function-types.untouched.wat +++ b/tests/compiler/function-types.untouched.wat @@ -9,8 +9,10 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s\00") + (data (i32.const 64) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") (table $0 5 funcref) (elem (i32.const 0) $null $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/addI32) + (global $~lib/error (mut i32) (i32.const 0)) (global $function-types/i32Adder (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) (global $function-types/i64Adder (mut i32) (i32.const 0)) @@ -41,20 +43,36 @@ i32.const 3 ) (func $function-types/doAddWithFn (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) i32.const 2 global.set $~lib/argc local.get $0 local.get $1 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 ) (func $function-types/doAdd (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) i32.const 2 global.set $~lib/argc local.get $0 local.get $1 call $function-types/makeAdder call_indirect (type $FUNCSIG$iii) + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 ) (func $function-types/addI32 (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -62,12 +80,20 @@ i32.add ) (func $function-types/makeAndAdd (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) i32.const 2 global.set $~lib/argc local.get $0 local.get $1 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 ) (func $function-types/makeAndAdd|trampoline (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 @@ -89,137 +115,197 @@ call $function-types/makeAndAdd ) (func $start:function-types (; 12 ;) (type $FUNCSIG$v) - call $function-types/makeAdder - global.set $function-types/i32Adder - i32.const 2 - global.set $~lib/argc - i32.const 1 - i32.const 2 - global.get $function-types/i32Adder - call_indirect (type $FUNCSIG$iii) - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 11 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - call $function-types/makeAdder - global.set $function-types/i64Adder - i32.const 2 - global.set $~lib/argc - i64.const 10 - i64.const 20 - global.get $function-types/i64Adder - call_indirect (type $FUNCSIG$jjj) - i64.const 30 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 15 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~lib/argc - f64.const 1.5 - f64.const 2.5 - call $function-types/makeAdder - call_indirect (type $FUNCSIG$ddd) - f64.const 4 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 17 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 3 - global.get $function-types/i32Adder - call $function-types/doAddWithFn - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 23 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 4 - call $function-types/doAdd - i32.const 7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 29 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 5 - i32.const 4 - call $function-types/doAddWithFn - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 35 + (local $0 i32) + (local $1 i64) + (local $2 f64) + block $uncaughtError + call $function-types/makeAdder + global.set $function-types/i32Adder + i32.const 2 + global.set $~lib/argc + i32.const 1 + i32.const 2 + global.get $function-types/i32Adder + call_indirect (type $FUNCSIG$iii) + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $function-types/makeAdder + global.set $function-types/i64Adder + i32.const 2 + global.set $~lib/argc + i64.const 10 + i64.const 20 + global.get $function-types/i64Adder + call_indirect (type $FUNCSIG$jjj) + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i64.const 30 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 15 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + f64.const 1.5 + f64.const 2.5 + call $function-types/makeAdder + call_indirect (type $FUNCSIG$ddd) + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + f64.const 4 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 17 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 3 + global.get $function-types/i32Adder + call $function-types/doAddWithFn + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 23 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 4 + call $function-types/doAdd + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 29 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + i32.const 5 + i32.const 4 + call $function-types/doAddWithFn + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 9 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 35 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~lib/argc + i32.const 1 + i32.const 2 i32.const 0 - call $~lib/builtins/abort - unreachable + call $function-types/makeAndAdd|trampoline + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 41 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + call $function-types/makeAdder + call $function-types/makeAndAdd + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end - i32.const 2 - global.set $~lib/argc + i32.const 80 + i32.const 24 i32.const 1 - i32.const 2 i32.const 0 - call $function-types/makeAndAdd|trampoline - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 41 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 2 - call $function-types/makeAdder - call $function-types/makeAndAdd - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 0 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable ) (func $start (; 13 ;) (type $FUNCSIG$v) call $start:function-types diff --git a/tests/compiler/function.untouched.wat b/tests/compiler/function.untouched.wat index 1e51a1fe49..43083b69ee 100644 --- a/tests/compiler/function.untouched.wat +++ b/tests/compiler/function.untouched.wat @@ -17,6 +17,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $function/_ (; 0 ;) (type $FUNCSIG$v) diff --git a/tests/compiler/getter-call.optimized.wat b/tests/compiler/getter-call.optimized.wat index 83ce54dcb4..6ef8c1b742 100644 --- a/tests/compiler/getter-call.optimized.wat +++ b/tests/compiler/getter-call.optimized.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 2 funcref) (elem (i32.const 0) $null $getter-call/C#get:x~anonymous|0) + (global $~lib/error i32 (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) @@ -75,11 +76,17 @@ i32.const 42 ) (func $getter-call/test (; 2 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) call $~lib/rt/stub/__alloc drop i32.const 0 global.set $~lib/argc call $getter-call/C#get:x~anonymous|0 + global.get $~lib/error + if + i32.const 0 + return + end ) (func $start (; 3 ;) (type $FUNCSIG$v) i32.const 16 diff --git a/tests/compiler/getter-call.untouched.wat b/tests/compiler/getter-call.untouched.wat index 7aa2b4fb91..f915377c42 100644 --- a/tests/compiler/getter-call.untouched.wat +++ b/tests/compiler/getter-call.untouched.wat @@ -7,6 +7,7 @@ (memory $0 0) (table $0 2 funcref) (elem (i32.const 0) $null $getter-call/C#get:x~anonymous|0) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) @@ -142,6 +143,13 @@ call $getter-call/C#get:x call_indirect (type $FUNCSIG$i) local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.set $1 local.get $0 call $~lib/rt/stub/__release local.get $1 diff --git a/tests/compiler/getter-setter.untouched.wat b/tests/compiler/getter-setter.untouched.wat index a31ef8ab61..54d97c6709 100644 --- a/tests/compiler/getter-setter.untouched.wat +++ b/tests/compiler/getter-setter.untouched.wat @@ -8,6 +8,7 @@ (data (i32.const 8) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $getter-setter/Foo._bar (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) diff --git a/tests/compiler/i64-polyfill.untouched.wat b/tests/compiler/i64-polyfill.untouched.wat index e1d468da83..c5a3abcd00 100644 --- a/tests/compiler/i64-polyfill.untouched.wat +++ b/tests/compiler/i64-polyfill.untouched.wat @@ -6,6 +6,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $../../lib/i64/assembly/i64/lo (mut i32) (i32.const 0)) (global $../../lib/i64/assembly/i64/hi (mut i32) (i32.const 0)) (export "memory" (memory $0)) diff --git a/tests/compiler/if.optimized.wat b/tests/compiler/if.optimized.wat index 45fe42261f..da09a6ced0 100644 --- a/tests/compiler/if.optimized.wat +++ b/tests/compiler/if.optimized.wat @@ -2,10 +2,16 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) + (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00i\00f\00.\00t\00s") - (data (i32.const 40) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00e\00r\00r\00o\00r") + (data (i32.const 40) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 76) "\01\00\00\00\01") + (data (i32.const 88) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00e\00r\00r\00o\00r") + (global $~lib/error (mut i32) (i32.const 0)) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "ifThenElse" (func $if/ifThenElse)) (export "ifThen" (func $if/ifThen)) @@ -94,23 +100,95 @@ unreachable end ) - (func $if/ifAlwaysReturns (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/stub/__alloc (; 4 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/rt/stub/offset + i32.const 16 + i32.add + local.tee $1 + i32.const 27 + i32.add + i32.const -16 + i32.and + local.tee $0 + memory.size + local.tee $2 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $2 + local.get $0 + local.get $1 + i32.sub + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $2 + local.get $3 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $0 + global.set $~lib/rt/stub/offset + local.get $1 + i32.const 16 + i32.sub + local.tee $0 + i32.const 3 + i32.store offset=8 + local.get $0 + i32.const 12 + i32.store offset=12 + local.get $1 + ) + (func $if/ifAlwaysReturns (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 if (result i32) i32.const 1 else + call $~lib/rt/stub/__alloc + local.tee $0 i32.const 56 - i32.const 24 - i32.const 37 - i32.const 4 - call $~lib/builtins/abort - unreachable + i32.store + local.get $0 + i32.const 88 + i32.store offset=4 + local.get $0 + i32.const 104 + i32.store offset=8 + local.get $0 + global.set $~lib/error + i32.const 0 end ) - (func $start (; 5 ;) (type $FUNCSIG$v) + (func $start (; 6 ;) (type $FUNCSIG$v) call $start:if + i32.const 128 + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset ) - (func $null (; 6 ;) (type $FUNCSIG$v) + (func $null (; 7 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/if.untouched.wat b/tests/compiler/if.untouched.wat index f65292c622..0828c535fb 100644 --- a/tests/compiler/if.untouched.wat +++ b/tests/compiler/if.untouched.wat @@ -2,12 +2,20 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00i\00f\00.\00t\00s\00") - (data (i32.const 40) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00e\00r\00r\00o\00r\00") + (data (i32.const 40) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 72) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 88) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00e\00r\00r\00o\00r\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) + (global $~lib/heap/__heap_base i32 (i32.const 116)) (export "memory" (memory $0)) (export "ifThenElse" (func $if/ifThenElse)) (export "ifThen" (func $if/ifThen)) @@ -124,24 +132,160 @@ unreachable end ) - (func $if/ifAlwaysReturns (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/stub/__retain (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + ) + (func $~lib/rt/stub/__alloc (; 6 ;) (type $FUNCSIG$iii) (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 $8 i32) + local.get $0 + i32.const 1073741808 + i32.gt_u + if + unreachable + end + global.get $~lib/rt/stub/offset + i32.const 16 + i32.add + local.set $2 + local.get $2 + local.get $0 + local.tee $3 + i32.const 1 + local.tee $4 + local.get $3 + local.get $4 + i32.gt_u + select + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $5 + memory.size + local.set $6 + local.get $5 + local.get $6 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $5 + local.get $2 + i32.sub + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $6 + local.tee $4 + local.get $3 + local.tee $7 + local.get $4 + local.get $7 + i32.gt_s + select + local.set $4 + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $5 + global.set $~lib/rt/stub/offset + local.get $2 + i32.const 16 + i32.sub + local.set $8 + local.get $8 + local.get $1 + i32.store offset=8 + local.get $8 + local.get $0 + i32.store offset=12 + local.get $2 + ) + (func $~lib/rt/stub/__release (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/error/Error#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 3 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + local.set $0 + end + local.get $0 + i32.const 56 + call $~lib/rt/stub/__retain + i32.store + local.get $0 + i32.const 88 + call $~lib/rt/stub/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $if/ifAlwaysReturns (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 if i32.const 1 return else - i32.const 56 - i32.const 24 - i32.const 37 - i32.const 4 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 104 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end unreachable ) - (func $start (; 6 ;) (type $FUNCSIG$v) + (func $start (; 10 ;) (type $FUNCSIG$v) call $start:if + global.get $~lib/heap/__heap_base + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset ) - (func $null (; 7 ;) (type $FUNCSIG$v) + (func $null (; 11 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/import.untouched.wat b/tests/compiler/import.untouched.wat index e47595b19f..43cebcb9e1 100644 --- a/tests/compiler/import.untouched.wat +++ b/tests/compiler/import.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) diff --git a/tests/compiler/infer-type.untouched.wat b/tests/compiler/infer-type.untouched.wat index 215e6626a2..387b18f605 100644 --- a/tests/compiler/infer-type.untouched.wat +++ b/tests/compiler/infer-type.untouched.wat @@ -10,6 +10,7 @@ (data (i32.const 8) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00i\00n\00f\00e\00r\00-\00t\00y\00p\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $infer-type/i i32 (i32.const 10)) (global $infer-type/I i64 (i64.const 4294967296)) (global $infer-type/F f64 (f64.const 1.5)) diff --git a/tests/compiler/inlining-blocklocals.untouched.wat b/tests/compiler/inlining-blocklocals.untouched.wat index 6330ed8b87..ddadcd470f 100644 --- a/tests/compiler/inlining-blocklocals.untouched.wat +++ b/tests/compiler/inlining-blocklocals.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $inlining-blocklocals/b (mut i32) (i32.const 2)) (global $inlining-blocklocals/theCall_a (mut i32) (i32.const 0)) (global $inlining-blocklocals/theCall_b (mut i32) (i32.const 0)) diff --git a/tests/compiler/inlining-recursive.untouched.wat b/tests/compiler/inlining-recursive.untouched.wat index 4cc3e73c26..accc68c00b 100644 --- a/tests/compiler/inlining-recursive.untouched.wat +++ b/tests/compiler/inlining-recursive.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "foo" (func $inlining-recursive/foo)) (export "bar" (func $inlining-recursive/bar)) diff --git a/tests/compiler/inlining.optimized.wat b/tests/compiler/inlining.optimized.wat index 4a6cea5bd8..bafb03b04f 100644 --- a/tests/compiler/inlining.optimized.wat +++ b/tests/compiler/inlining.optimized.wat @@ -7,8 +7,10 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s") + (data (i32.const 48) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") (table $0 2 funcref) (elem (i32.const 0) $null $inlining/func_fe~anonymous|0) + (global $~lib/error i32 (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) @@ -22,10 +24,15 @@ local.get $0 ) (func $inlining/test_funcs (; 3 ;) (type $FUNCSIG$v) + (local $0 i32) i32.const 1 global.set $~lib/argc i32.const 2 call $inlining/func_fe~anonymous|0 + global.get $~lib/error + if + return + end i32.const 2 i32.ne if @@ -191,15 +198,29 @@ unreachable end ) - (func $start (; 6 ;) (type $FUNCSIG$v) + (func $start:inlining (; 6 ;) (type $FUNCSIG$v) call $inlining/test_funcs - i32.const 48 - global.set $~lib/rt/stub/startOffset - global.get $~lib/rt/stub/startOffset - global.set $~lib/rt/stub/offset - call $inlining/test_ctor + global.get $~lib/error + i32.eqz + if + i32.const 96 + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + call $inlining/test_ctor + return + end + i32.const 64 + i32.const 24 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 7 ;) (type $FUNCSIG$v) + call $start:inlining ) - (func $null (; 7 ;) (type $FUNCSIG$v) + (func $null (; 8 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/inlining.untouched.wat b/tests/compiler/inlining.untouched.wat index a7fe2b0a7b..bf3452f0d4 100644 --- a/tests/compiler/inlining.untouched.wat +++ b/tests/compiler/inlining.untouched.wat @@ -8,13 +8,15 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 48) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") (table $0 2 funcref) (elem (i32.const 0) $null $inlining/func_fe~anonymous|0) + (global $~lib/error (mut i32) (i32.const 0)) (global $inlining/constantGlobal i32 (i32.const 1)) (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) - (global $~lib/heap/__heap_base i32 (i32.const 48)) + (global $~lib/heap/__heap_base i32 (i32.const 92)) (export "memory" (memory $0)) (export "test" (func $inlining/test)) (start $start) @@ -218,6 +220,12 @@ i32.const 2 i32.const 1 call_indirect (type $FUNCSIG$ii) + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 2 i32.eq i32.eqz @@ -476,30 +484,43 @@ call $~lib/rt/stub/__release ) (func $start:inlining (; 8 ;) (type $FUNCSIG$v) - call $inlining/test - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 10 - i32.const 0 - call $~lib/builtins/abort - unreachable + block $uncaughtError + call $inlining/test + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $inlining/test_funcs + global.get $~lib/error + if + br $uncaughtError + end + global.get $~lib/heap/__heap_base + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + call $inlining/test_ctor + return end - call $inlining/test_funcs - global.get $~lib/heap/__heap_base - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - global.set $~lib/rt/stub/startOffset - global.get $~lib/rt/stub/startOffset - global.set $~lib/rt/stub/offset - call $inlining/test_ctor + i32.const 64 + i32.const 24 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) (func $start (; 9 ;) (type $FUNCSIG$v) call $start:inlining diff --git a/tests/compiler/instanceof.untouched.wat b/tests/compiler/instanceof.untouched.wat index 7136f6e13a..248accd5aa 100644 --- a/tests/compiler/instanceof.untouched.wat +++ b/tests/compiler/instanceof.untouched.wat @@ -9,6 +9,7 @@ (data (i32.const 8) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut 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)) diff --git a/tests/compiler/limits.untouched.wat b/tests/compiler/limits.untouched.wat index 73017341a9..f7e35e8e94 100644 --- a/tests/compiler/limits.untouched.wat +++ b/tests/compiler/limits.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/builtins/i8.MIN_VALUE i32 (i32.const -128)) (global $~lib/builtins/i8.MAX_VALUE i32 (i32.const 127)) (global $~lib/builtins/i16.MIN_VALUE i32 (i32.const -32768)) diff --git a/tests/compiler/literals.untouched.wat b/tests/compiler/literals.untouched.wat index 947b448255..d3ab1c0359 100644 --- a/tests/compiler/literals.untouched.wat +++ b/tests/compiler/literals.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $start:literals (; 0 ;) (type $FUNCSIG$v) diff --git a/tests/compiler/logical.untouched.wat b/tests/compiler/logical.untouched.wat index 91f581db84..9dd8bc6882 100644 --- a/tests/compiler/logical.untouched.wat +++ b/tests/compiler/logical.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $logical/i (mut i32) (i32.const 0)) (global $logical/I (mut i64) (i64.const 0)) (global $logical/f (mut f32) (f32.const 0)) diff --git a/tests/compiler/loop-flow.optimized.wat b/tests/compiler/loop-flow.optimized.wat index c553dfa228..4c04a3f6ec 100644 --- a/tests/compiler/loop-flow.optimized.wat +++ b/tests/compiler/loop-flow.optimized.wat @@ -6,24 +6,105 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s") - (data (i32.const 48) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00e\00r\00m") + (data (i32.const 48) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 84) "\01\00\00\00\01") + (data (i32.const 96) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00e\00r\00m") + (data (i32.const 120) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (global $~lib/error (mut i32) (i32.const 0)) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "whileReturn" (func $loop-flow/whileReturn)) (export "whileThrow" (func $loop-flow/whileThrow)) (export "whileContinue" (func $loop-flow/whileContinue)) (export "whileAny" (func $loop-flow/whileAny)) (export "forReturn" (func $loop-flow/whileReturn)) - (export "forThrow" (func $loop-flow/forThrow)) + (export "forThrow" (func $loop-flow/whileThrow)) (export "forContinue" (func $loop-flow/whileContinue)) (export "forAny" (func $loop-flow/forAny)) (export "doReturn" (func $loop-flow/whileReturn)) - (export "doThrow" (func $loop-flow/doThrow)) - (export "doAny" (func $loop-flow/doAny)) + (export "doThrow" (func $loop-flow/whileThrow)) + (export "doAny" (func $loop-flow/whileAny)) (start $start) (func $loop-flow/whileReturn (; 1 ;) (type $FUNCSIG$i) (result i32) i32.const 1 ) - (func $loop-flow/whileAny (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/stub/__alloc (; 2 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/rt/stub/offset + i32.const 16 + i32.add + local.tee $1 + i32.const 27 + i32.add + i32.const -16 + i32.and + local.tee $0 + memory.size + local.tee $2 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $2 + local.get $0 + local.get $1 + i32.sub + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $2 + local.get $3 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $0 + global.set $~lib/rt/stub/offset + local.get $1 + i32.const 16 + i32.sub + local.tee $0 + i32.const 3 + i32.store offset=8 + local.get $0 + i32.const 12 + i32.store offset=12 + local.get $1 + ) + (func $~lib/error/Error#constructor (; 3 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + call $~lib/rt/stub/__alloc + local.tee $0 + i32.const 64 + i32.store + local.get $0 + i32.const 96 + i32.store offset=4 + local.get $0 + i32.const 112 + i32.store offset=8 + local.get $0 + ) + (func $loop-flow/whileAny (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) loop $continue|0 (result i32) local.get $0 i32.const 1 @@ -35,16 +116,13 @@ i32.const 2 i32.ne br_if $continue|0 - i32.const 64 - i32.const 24 - i32.const 24 - i32.const 21 - call $~lib/builtins/abort - unreachable + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 end end ) - (func $loop-flow/forAny (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $loop-flow/forAny (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) loop $loop|0 (result i32) local.get $0 i32.const 1 @@ -56,110 +134,90 @@ i32.const 2 i32.eq if - i32.const 64 - i32.const 24 - i32.const 54 - i32.const 21 - call $~lib/builtins/abort - unreachable + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end br $loop|0 end end ) - (func $loop-flow/doAny (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - loop $continue|0 (result i32) + (func $start:loop-flow (; 6 ;) (type $FUNCSIG$v) + (local $0 i32) + i32.const 176 + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + i32.const 1 + call $loop-flow/whileAny + local.set $0 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError local.get $0 i32.const 1 - i32.eq - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 2 - i32.ne - br_if $continue|0 - i32.const 64 + i32.ne + if + i32.const 0 i32.const 24 - i32.const 78 - i32.const 21 + i32.const 29 + i32.const 0 call $~lib/builtins/abort unreachable end + i32.const 1 + call $loop-flow/forAny + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 59 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $loop-flow/whileAny + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 83 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end - ) - (func $start:loop-flow (; 5 ;) (type $FUNCSIG$v) - i32.const 1 - call $loop-flow/whileAny - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 29 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $loop-flow/forAny - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 59 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $loop-flow/doAny - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 83 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - ) - (func $loop-flow/whileThrow (; 6 ;) (type $FUNCSIG$i) (result i32) - i32.const 64 + i32.const 136 i32.const 24 - i32.const 11 - i32.const 4 + i32.const 1 + i32.const 0 call $~lib/builtins/abort unreachable ) - (func $loop-flow/whileContinue (; 7 ;) (type $FUNCSIG$i) (result i32) + (func $loop-flow/whileThrow (; 7 ;) (type $FUNCSIG$i) (result i32) + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + ) + (func $loop-flow/whileContinue (; 8 ;) (type $FUNCSIG$i) (result i32) loop $continue|0 br $continue|0 end unreachable ) - (func $loop-flow/forThrow (; 8 ;) (type $FUNCSIG$i) (result i32) - i32.const 64 - i32.const 24 - i32.const 41 - i32.const 4 - call $~lib/builtins/abort - unreachable - ) - (func $loop-flow/doThrow (; 9 ;) (type $FUNCSIG$i) (result i32) - i32.const 64 - i32.const 24 - i32.const 71 - i32.const 4 - call $~lib/builtins/abort - unreachable - ) - (func $start (; 10 ;) (type $FUNCSIG$v) + (func $start (; 9 ;) (type $FUNCSIG$v) call $start:loop-flow ) - (func $null (; 11 ;) (type $FUNCSIG$v) + (func $null (; 10 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/loop-flow.untouched.wat b/tests/compiler/loop-flow.untouched.wat index acb9164272..b41ea253f2 100644 --- a/tests/compiler/loop-flow.untouched.wat +++ b/tests/compiler/loop-flow.untouched.wat @@ -2,13 +2,22 @@ (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s\00") - (data (i32.const 48) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00e\00r\00m\00") + (data (i32.const 48) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 80) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 96) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00e\00r\00m\00") + (data (i32.const 120) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) + (global $~lib/heap/__heap_base i32 (i32.const 164)) (export "memory" (memory $0)) (export "whileReturn" (func $loop-flow/whileReturn)) (export "whileThrow" (func $loop-flow/whileThrow)) @@ -26,7 +35,133 @@ i32.const 1 return ) - (func $loop-flow/whileAny (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/stub/__retain (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + ) + (func $~lib/rt/stub/__alloc (; 3 ;) (type $FUNCSIG$iii) (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 $8 i32) + local.get $0 + i32.const 1073741808 + i32.gt_u + if + unreachable + end + global.get $~lib/rt/stub/offset + i32.const 16 + i32.add + local.set $2 + local.get $2 + local.get $0 + local.tee $3 + i32.const 1 + local.tee $4 + local.get $3 + local.get $4 + i32.gt_u + select + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $5 + memory.size + local.set $6 + local.get $5 + local.get $6 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $5 + local.get $2 + i32.sub + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $6 + local.tee $4 + local.get $3 + local.tee $7 + local.get $4 + local.get $7 + i32.gt_s + select + local.set $4 + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $5 + global.set $~lib/rt/stub/offset + local.get $2 + i32.const 16 + i32.sub + local.set $8 + local.get $8 + local.get $1 + i32.store offset=8 + local.get $8 + local.get $0 + i32.store offset=12 + local.get $2 + ) + (func $~lib/rt/stub/__release (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/error/Error#constructor (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 3 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + local.set $0 + end + local.get $0 + i32.const 64 + call $~lib/rt/stub/__retain + i32.store + local.get $0 + i32.const 96 + call $~lib/rt/stub/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $loop-flow/whileAny (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) loop $continue|0 local.get $0 i32.const 1 @@ -39,12 +174,12 @@ i32.const 2 i32.eq if - i32.const 64 - i32.const 24 - i32.const 24 - i32.const 21 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 112 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return else br $continue|0 end @@ -54,11 +189,11 @@ end unreachable ) - (func $loop-flow/forReturn (; 3 ;) (type $FUNCSIG$i) (result i32) + (func $loop-flow/forReturn (; 7 ;) (type $FUNCSIG$i) (result i32) i32.const 1 return ) - (func $loop-flow/forAny (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $loop-flow/forAny (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) loop $loop|0 block $continue|0 local.get $0 @@ -72,12 +207,12 @@ i32.const 2 i32.eq if - i32.const 64 - i32.const 24 - i32.const 54 - i32.const 21 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 112 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return else br $continue|0 end @@ -89,11 +224,11 @@ end unreachable ) - (func $loop-flow/doReturn (; 5 ;) (type $FUNCSIG$i) (result i32) + (func $loop-flow/doReturn (; 9 ;) (type $FUNCSIG$i) (result i32) i32.const 1 return ) - (func $loop-flow/doAny (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $loop-flow/doAny (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) loop $continue|0 local.get $0 i32.const 1 @@ -106,12 +241,12 @@ i32.const 2 i32.eq if - i32.const 64 - i32.const 24 - i32.const 78 - i32.const 21 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 112 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return else br $continue|0 end @@ -121,122 +256,160 @@ end unreachable ) - (func $start:loop-flow (; 7 ;) (type $FUNCSIG$v) - call $loop-flow/whileReturn - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 7 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $loop-flow/whileAny - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 29 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - call $loop-flow/forReturn - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 37 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $loop-flow/forAny - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 59 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - call $loop-flow/doReturn - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 67 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $loop-flow/doAny - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 83 - i32.const 0 - call $~lib/builtins/abort - unreachable + (func $start:loop-flow (; 11 ;) (type $FUNCSIG$v) + (local $0 i32) + block $uncaughtError + call $loop-flow/whileReturn + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 7 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/heap/__heap_base + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + i32.const 1 + call $loop-flow/whileAny + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 29 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $loop-flow/forReturn + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 37 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $loop-flow/forAny + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 59 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $loop-flow/doReturn + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 67 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $loop-flow/doAny + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 83 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end - ) - (func $loop-flow/whileThrow (; 8 ;) (type $FUNCSIG$i) (result i32) - i32.const 64 + i32.const 136 i32.const 24 - i32.const 11 - i32.const 4 + i32.const 1 + i32.const 0 call $~lib/builtins/abort unreachable ) - (func $loop-flow/whileContinue (; 9 ;) (type $FUNCSIG$i) (result i32) + (func $loop-flow/whileThrow (; 12 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 + i32.const 112 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + ) + (func $loop-flow/whileContinue (; 13 ;) (type $FUNCSIG$i) (result i32) loop $continue|0 br $continue|0 end unreachable ) - (func $loop-flow/forThrow (; 10 ;) (type $FUNCSIG$i) (result i32) - i32.const 64 - i32.const 24 - i32.const 41 - i32.const 4 - call $~lib/builtins/abort - unreachable + (func $loop-flow/forThrow (; 14 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 + i32.const 112 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return ) - (func $loop-flow/forContinue (; 11 ;) (type $FUNCSIG$i) (result i32) + (func $loop-flow/forContinue (; 15 ;) (type $FUNCSIG$i) (result i32) loop $loop|0 br $loop|0 end unreachable ) - (func $loop-flow/doThrow (; 12 ;) (type $FUNCSIG$i) (result i32) - i32.const 64 - i32.const 24 - i32.const 71 - i32.const 4 - call $~lib/builtins/abort - unreachable + (func $loop-flow/doThrow (; 16 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 + i32.const 112 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return ) - (func $start (; 13 ;) (type $FUNCSIG$v) + (func $start (; 17 ;) (type $FUNCSIG$v) call $start:loop-flow ) - (func $null (; 14 ;) (type $FUNCSIG$v) + (func $null (; 18 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/mandelbrot.untouched.wat b/tests/compiler/mandelbrot.untouched.wat index 2f198a59d4..4e93500526 100644 --- a/tests/compiler/mandelbrot.untouched.wat +++ b/tests/compiler/mandelbrot.untouched.wat @@ -5,6 +5,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $../../examples/mandelbrot/assembly/index/NUM_COLORS i32 (i32.const 2048)) (export "memory" (memory $0)) (export "computeLine" (func $../../examples/mandelbrot/assembly/index/computeLine)) diff --git a/tests/compiler/many-locals.untouched.wat b/tests/compiler/many-locals.untouched.wat index 89dbe39434..5c2148b742 100644 --- a/tests/compiler/many-locals.untouched.wat +++ b/tests/compiler/many-locals.untouched.wat @@ -7,6 +7,7 @@ (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "testI32" (func $many-locals/testI32)) (export "testI8" (func $many-locals/testI8)) diff --git a/tests/compiler/memcpy.untouched.wat b/tests/compiler/memcpy.untouched.wat index a46300d3fe..cc5ee86230 100644 --- a/tests/compiler/memcpy.untouched.wat +++ b/tests/compiler/memcpy.untouched.wat @@ -7,6 +7,7 @@ (data (i32.const 8) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $memcpy/base i32 (i32.const 8)) (global $memcpy/dest (mut i32) (i32.const 0)) (export "memory" (memory $0)) diff --git a/tests/compiler/memmove.untouched.wat b/tests/compiler/memmove.untouched.wat index f7ca1cfad1..9308a94a67 100644 --- a/tests/compiler/memmove.untouched.wat +++ b/tests/compiler/memmove.untouched.wat @@ -7,6 +7,7 @@ (data (i32.const 8) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $memmove/base i32 (i32.const 8)) (global $memmove/dest (mut i32) (i32.const 0)) (export "memory" (memory $0)) diff --git a/tests/compiler/memset.untouched.wat b/tests/compiler/memset.untouched.wat index f4d16e28b7..29e42d9f27 100644 --- a/tests/compiler/memset.untouched.wat +++ b/tests/compiler/memset.untouched.wat @@ -7,6 +7,7 @@ (data (i32.const 8) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $memset/dest (mut i32) (i32.const 0)) (global $~lib/heap/__heap_base i32 (i32.const 44)) (export "memory" (memory $0)) diff --git a/tests/compiler/merge.untouched.wat b/tests/compiler/merge.untouched.wat index e1dceafa81..f507ebd96d 100644 --- a/tests/compiler/merge.untouched.wat +++ b/tests/compiler/merge.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $merge/globalType i32 (i32.const 2)) (global $merge/globalType_test (mut i32) (i32.const 0)) (global $merge/typeGlobal i32 (i32.const 3)) diff --git a/tests/compiler/named-export-default.untouched.wat b/tests/compiler/named-export-default.untouched.wat index 3f1ff0ab82..666bc30164 100644 --- a/tests/compiler/named-export-default.untouched.wat +++ b/tests/compiler/named-export-default.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "default" (func $named-export-default/get3)) (func $named-export-default/get3 (; 0 ;) (type $FUNCSIG$i) (result i32) diff --git a/tests/compiler/named-import-default.untouched.wat b/tests/compiler/named-import-default.untouched.wat index f24ee8a33a..66a495258b 100644 --- a/tests/compiler/named-import-default.untouched.wat +++ b/tests/compiler/named-import-default.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "getValue" (func $named-import-default/getValue)) (func $named-export-default/get3 (; 0 ;) (type $FUNCSIG$i) (result i32) diff --git a/tests/compiler/namespace.untouched.wat b/tests/compiler/namespace.untouched.wat index 39966a5e53..02d58400b3 100644 --- a/tests/compiler/namespace.untouched.wat +++ b/tests/compiler/namespace.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $namespace/Outer.Inner.aVar (mut i32) (i32.const 0)) (global $namespace/Outer.Inner.anEnum.ONE i32 (i32.const 1)) (global $namespace/Outer.Inner.anEnum.TWO i32 (i32.const 2)) diff --git a/tests/compiler/number.untouched.wat b/tests/compiler/number.untouched.wat index fdc5689c26..7ed2490b92 100644 --- a/tests/compiler/number.untouched.wat +++ b/tests/compiler/number.untouched.wat @@ -40,6 +40,7 @@ (data (i32.const 1880) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $number/a (mut i32) (i32.const 1)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) diff --git a/tests/compiler/optional-typeparameters.untouched.wat b/tests/compiler/optional-typeparameters.untouched.wat index a95982f0a4..3b001a0cd6 100644 --- a/tests/compiler/optional-typeparameters.untouched.wat +++ b/tests/compiler/optional-typeparameters.untouched.wat @@ -7,6 +7,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $optional-typeparameters/tConcrete (mut i32) (i32.const 0)) diff --git a/tests/compiler/overflow.untouched.wat b/tests/compiler/overflow.untouched.wat index 9acda5bf22..00dd09c17d 100644 --- a/tests/compiler/overflow.untouched.wat +++ b/tests/compiler/overflow.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $start:overflow (; 1 ;) (type $FUNCSIG$v) diff --git a/tests/compiler/portable-conversions.untouched.wat b/tests/compiler/portable-conversions.untouched.wat index 11f2e775c1..72f5c5a666 100644 --- a/tests/compiler/portable-conversions.untouched.wat +++ b/tests/compiler/portable-conversions.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00p\00o\00r\00t\00a\00b\00l\00e\00-\00c\00o\00n\00v\00e\00r\00s\00i\00o\00n\00s\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $portable-conversions/i (mut i32) (i32.const 1)) (global $portable-conversions/I (mut i64) (i64.const 1)) (global $portable-conversions/f (mut f32) (f32.const 1)) diff --git a/tests/compiler/possibly-null.untouched.wat b/tests/compiler/possibly-null.untouched.wat index 531dcd76a0..91d1c404dd 100644 --- a/tests/compiler/possibly-null.untouched.wat +++ b/tests/compiler/possibly-null.untouched.wat @@ -6,6 +6,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "testTrue" (func $possibly-null/testTrue)) (export "testFalseElse" (func $possibly-null/testFalseElse)) diff --git a/tests/compiler/rc/global-init.optimized.wat b/tests/compiler/rc/global-init.optimized.wat index 0126db9bc0..db23d0d1aa 100644 --- a/tests/compiler/rc/global-init.optimized.wat +++ b/tests/compiler/rc/global-init.optimized.wat @@ -3,8 +3,8 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$v (func)) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$v (func)) (type $FUNCSIG$viii (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) @@ -15,10 +15,11 @@ (data (i32.const 12) "\01\00\00\00\01") (data (i32.const 24) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") (data (i32.const 72) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 120) "$\00\00\00\01\00\00\00\01\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 176) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 216) "(\00\00\00\01\00\00\00\01\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 272) "\03\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (data (i32.const 120) "(\00\00\00\01\00\00\00\01\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 176) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\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 264) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (global $~lib/error (mut i32) (i32.const 0)) (global $rc/global-init/a (mut i32) (i32.const 0)) (global $rc/global-init/b (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) @@ -557,27 +558,7 @@ local.get $1 call $~lib/rt/rtrace/onfree ) - (func $~lib/rt/__typeinfo (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 272 - i32.load - i32.gt_u - if - i32.const 136 - i32.const 192 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.shl - i32.const 276 - i32.add - i32.load - ) - (func $~lib/rt/tlsf/addMemory (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -691,7 +672,7 @@ local.get $1 call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/tlsf/initializeRoot (; 12 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 11 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 1 @@ -774,17 +755,16 @@ i32.const 304 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 232 - i32.const 88 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 136 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -798,7 +778,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 i32.const 256 @@ -929,7 +909,7 @@ end end ) - (func $~lib/rt/tlsf/growMemory (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) memory.size local.tee $2 @@ -966,7 +946,7 @@ i32.shl call $~lib/rt/tlsf/addMemory ) - (func $~lib/rt/tlsf/prepareBlock (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -1042,13 +1022,19 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 local.get $1 call $~lib/rt/tlsf/prepareSize - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz @@ -1101,27 +1087,75 @@ call $~lib/rt/rtrace/onalloc local.get $2 ) - (func $~lib/rt/tlsf/__alloc (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/rt/tlsf/__alloc (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/rt/tlsf/ROOT - local.tee $1 - i32.eqz - if + local.tee $2 + if (result i32) + local.get $2 + else call $~lib/rt/tlsf/initializeRoot global.get $~lib/rt/tlsf/ROOT - local.set $1 end - local.get $1 local.get $0 call $~lib/rt/tlsf/allocateBlock - local.tee $0 - i32.const 0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $1 i32.store offset=8 local.get $0 i32.const 16 i32.add ) - (func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/error/Error#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $1 + i32.const 192 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + i32.const 24 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/rt/__typeinfo (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 264 + i32.load + i32.gt_u + if + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 268 + i32.add + i32.load + ) + (func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) block $~lib/util/memory/memmove|inlined.0 @@ -1296,7 +1330,7 @@ end end ) - (func $~lib/rt/tlsf/__free (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -1329,7 +1363,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 21 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 22 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1348,8 +1382,14 @@ i32.gt_u select local.tee $3 + i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $0 + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 i32.const 16 i32.sub call $~lib/rt/rtrace/onfree @@ -1377,7 +1417,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.tee $1 @@ -1385,6 +1425,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -1396,9 +1440,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1455,6 +1500,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1486,7 +1535,7 @@ end end ) - (func $~lib/rt/pure/__release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.const 300 i32.gt_u @@ -1497,7 +1546,7 @@ call $~lib/rt/pure/decrement end ) - (func $start:rc/global-init (; 25 ;) (type $FUNCSIG$v) + (func $start:rc/global-init (; 26 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 24 call $~lib/rt/pure/__retain @@ -1528,10 +1577,10 @@ i32.const 0 global.set $rc/global-init/b ) - (func $start (; 26 ;) (type $FUNCSIG$v) + (func $start (; 27 ;) (type $FUNCSIG$v) call $start:rc/global-init ) - (func $~lib/rt/pure/markGray (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1555,7 +1604,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -1568,7 +1617,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1602,7 +1651,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1635,7 +1684,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i32.const 300 i32.lt_u @@ -1670,6 +1719,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -1745,20 +1798,48 @@ unreachable end ) - (func $~lib/rt/__visit_members (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 local.tee $0 if local.get $0 @@ -1769,7 +1850,7 @@ end unreachable ) - (func $null (; 33 ;) (type $FUNCSIG$v) + (func $null (; 34 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/rc/global-init.untouched.wat b/tests/compiler/rc/global-init.untouched.wat index 0fa3947e65..c69e25a68a 100644 --- a/tests/compiler/rc/global-init.untouched.wat +++ b/tests/compiler/rc/global-init.untouched.wat @@ -4,8 +4,8 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$v (func)) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$v (func)) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -17,12 +17,13 @@ (data (i32.const 8) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") (data (i32.const 24) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") (data (i32.const 72) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 120) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 176) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 216) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 272) "\03\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") + (data (i32.const 120) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 176) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 264) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $rc/global-init/a (mut i32) (i32.const 0)) (global $rc/global-init/b (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) @@ -30,7 +31,7 @@ (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 272)) + (global $~lib/rt/__rtti_base i32 (i32.const 264)) (global $~lib/heap/__heap_base i32 (i32.const 300)) (export "memory" (memory $0)) (start $start) @@ -688,32 +689,7 @@ local.get $1 call $~lib/rt/rtrace/onfree ) - (func $~lib/rt/__typeinfo (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 136 - i32.const 192 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/rt/tlsf/addMemory (; 12 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/addMemory (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -861,7 +837,7 @@ call $~lib/rt/tlsf/insertBlock i32.const 1 ) - (func $~lib/rt/tlsf/initializeRoot (; 13 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 12 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1006,19 +982,19 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 232 - i32.const 88 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 136 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -1035,7 +1011,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1218,7 +1194,7 @@ end local.get $7 ) - (func $~lib/rt/tlsf/growMemory (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1271,7 +1247,7 @@ call $~lib/rt/tlsf/addMemory drop ) - (func $~lib/rt/tlsf/prepareBlock (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1366,27 +1342,35 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $1 call $~lib/rt/tlsf/prepareSize local.set $2 - local.get $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 - call $~lib/rt/tlsf/searchBlock local.set $3 + local.get $0 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if local.get $0 - local.get $2 + local.get $3 call $~lib/rt/tlsf/growMemory local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if i32.const 0 @@ -1397,13 +1381,13 @@ unreachable end end - local.get $3 + local.get $4 i32.load i32.const 3 i32.const -1 i32.xor i32.and - local.get $2 + local.get $3 i32.ge_u i32.eqz if @@ -1414,26 +1398,27 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 i32.const 0 i32.store offset=4 - local.get $3 + local.get $4 local.get $1 i32.store offset=12 local.get $0 - local.get $3 + local.get $4 call $~lib/rt/tlsf/removeBlock local.get $0 + local.get $4 local.get $3 - local.get $2 call $~lib/rt/tlsf/prepareBlock - local.get $3 + local.get $4 call $~lib/rt/rtrace/onalloc - local.get $3 + local.get $4 ) - (func $~lib/rt/tlsf/__alloc (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/tlsf/ROOT local.set $2 local.get $2 @@ -1447,14 +1432,74 @@ local.get $0 call $~lib/rt/tlsf/allocateBlock local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 + local.set $4 + local.get $4 local.get $1 i32.store offset=8 - local.get $3 + local.get $4 i32.const 16 i32.add ) - (func $~lib/util/memory/memcpy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/error/Error#constructor (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 192 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 24 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/rt/__typeinfo (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2482,7 +2527,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2707,7 +2752,7 @@ end end ) - (func $~lib/rt/tlsf/__free (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -2744,7 +2789,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 23 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 24 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -2773,6 +2818,12 @@ local.get $4 i32.const 0 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $5 local.get $5 i32.const 16 @@ -2802,7 +2853,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.set $1 @@ -2811,6 +2862,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -2822,9 +2877,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.set $1 @@ -2890,6 +2946,12 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 16 i32.and i32.eqz @@ -2910,6 +2972,10 @@ if local.get $0 call $~lib/rt/pure/appendRoot + global.get $~lib/error + if + return + end end else local.get $0 @@ -2926,7 +2992,7 @@ end end ) - (func $~lib/rt/pure/__release (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/heap/__heap_base i32.gt_u @@ -2935,9 +3001,13 @@ i32.const 16 i32.sub call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end end ) - (func $start:rc/global-init (; 27 ;) (type $FUNCSIG$v) + (func $start:rc/global-init (; 28 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $rc/global-init/getRef @@ -2973,10 +3043,10 @@ local.get $1 global.set $rc/global-init/b ) - (func $start (; 28 ;) (type $FUNCSIG$v) + (func $start (; 29 ;) (type $FUNCSIG$v) call $start:rc/global-init ) - (func $~lib/rt/pure/markGray (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3003,7 +3073,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -3020,7 +3090,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3057,7 +3127,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3095,7 +3165,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3141,6 +3211,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -3229,16 +3303,27 @@ end end ) - (func $~lib/rt/__visit_members (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$default + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -3250,10 +3335,26 @@ local.get $1 call $~lib/rt/pure/__visit end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end return end unreachable ) - (func $null (; 35 ;) (type $FUNCSIG$v) + (func $null (; 36 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/rc/local-init.optimized.wat b/tests/compiler/rc/local-init.optimized.wat index 26110d7189..91445d25c8 100644 --- a/tests/compiler/rc/local-init.optimized.wat +++ b/tests/compiler/rc/local-init.optimized.wat @@ -3,8 +3,8 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$v (func)) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$v (func)) (type $FUNCSIG$viii (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) @@ -15,10 +15,11 @@ (data (i32.const 12) "\01\00\00\00\01") (data (i32.const 24) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") (data (i32.const 72) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 120) "$\00\00\00\01\00\00\00\01\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 176) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 216) "(\00\00\00\01\00\00\00\01\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 272) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (data (i32.const 120) "(\00\00\00\01\00\00\00\01\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 176) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\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 264) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) @@ -555,27 +556,7 @@ local.get $1 call $~lib/rt/rtrace/onfree ) - (func $~lib/rt/__typeinfo (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 272 - i32.load - i32.gt_u - if - i32.const 136 - i32.const 192 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.shl - i32.const 276 - i32.add - i32.load - ) - (func $~lib/rt/tlsf/addMemory (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -689,7 +670,7 @@ local.get $1 call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/tlsf/initializeRoot (; 12 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 11 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 1 @@ -772,17 +753,16 @@ i32.const 320 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 232 - i32.const 88 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 136 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -796,7 +776,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 i32.const 256 @@ -927,7 +907,7 @@ end end ) - (func $~lib/rt/tlsf/growMemory (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) memory.size local.tee $2 @@ -964,7 +944,7 @@ i32.shl call $~lib/rt/tlsf/addMemory ) - (func $~lib/rt/tlsf/prepareBlock (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -1040,13 +1020,19 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 local.get $1 call $~lib/rt/tlsf/prepareSize - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz @@ -1099,7 +1085,7 @@ call $~lib/rt/rtrace/onalloc local.get $2 ) - (func $~lib/rt/tlsf/__alloc (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/rt/tlsf/ROOT local.tee $2 @@ -1111,14 +1097,63 @@ end local.get $0 call $~lib/rt/tlsf/allocateBlock - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 local.get $1 i32.store offset=8 local.get $0 i32.const 16 i32.add ) - (func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/error/Error#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $1 + i32.const 192 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + i32.const 24 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/rt/__typeinfo (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 264 + i32.load + i32.gt_u + if + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 268 + i32.add + i32.load + ) + (func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) block $~lib/util/memory/memmove|inlined.0 @@ -1293,7 +1328,7 @@ end end ) - (func $~lib/rt/tlsf/__free (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -1326,7 +1361,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 21 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 22 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1347,7 +1382,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $0 + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 i32.const 16 i32.sub call $~lib/rt/rtrace/onfree @@ -1375,7 +1415,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.tee $1 @@ -1383,6 +1423,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -1394,9 +1438,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1453,6 +1498,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1484,7 +1533,7 @@ end end ) - (func $~lib/rt/pure/__release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.const 308 i32.gt_u @@ -1495,7 +1544,7 @@ call $~lib/rt/pure/decrement end ) - (func $start (; 25 ;) (type $FUNCSIG$v) + (func $start (; 26 ;) (type $FUNCSIG$v) i32.const 24 call $~lib/rt/pure/__retain call $~lib/rt/pure/__release @@ -1503,12 +1552,12 @@ call $~lib/rt/pure/__retain call $~lib/rt/pure/__release i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain call $~lib/rt/pure/__release ) - (func $~lib/rt/pure/markGray (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1532,7 +1581,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -1545,7 +1594,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1579,7 +1628,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1612,7 +1661,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i32.const 308 i32.lt_u @@ -1647,6 +1696,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -1722,20 +1775,48 @@ unreachable end ) - (func $~lib/rt/__visit_members (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$2 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 local.tee $0 if local.get $0 @@ -1746,7 +1827,7 @@ end unreachable ) - (func $null (; 32 ;) (type $FUNCSIG$v) + (func $null (; 33 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/rc/local-init.untouched.wat b/tests/compiler/rc/local-init.untouched.wat index 9d48bb4bcc..bf72e848cc 100644 --- a/tests/compiler/rc/local-init.untouched.wat +++ b/tests/compiler/rc/local-init.untouched.wat @@ -3,8 +3,8 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$v (func)) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$v (func)) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) @@ -17,18 +17,19 @@ (data (i32.const 8) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") (data (i32.const 24) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") (data (i32.const 72) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 120) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 176) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 216) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 272) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") + (data (i32.const 120) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 176) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 264) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 272)) + (global $~lib/rt/__rtti_base i32 (i32.const 264)) (global $~lib/heap/__heap_base i32 (i32.const 308)) (export "memory" (memory $0)) (start $start) @@ -682,32 +683,7 @@ local.get $1 call $~lib/rt/rtrace/onfree ) - (func $~lib/rt/__typeinfo (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 136 - i32.const 192 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/rt/tlsf/addMemory (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/addMemory (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -855,7 +831,7 @@ call $~lib/rt/tlsf/insertBlock i32.const 1 ) - (func $~lib/rt/tlsf/initializeRoot (; 12 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 11 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1000,19 +976,19 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 232 - i32.const 88 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 136 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -1029,7 +1005,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1212,7 +1188,7 @@ end local.get $7 ) - (func $~lib/rt/tlsf/growMemory (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1265,7 +1241,7 @@ call $~lib/rt/tlsf/addMemory drop ) - (func $~lib/rt/tlsf/prepareBlock (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1360,27 +1336,35 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $1 call $~lib/rt/tlsf/prepareSize local.set $2 - local.get $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 - call $~lib/rt/tlsf/searchBlock local.set $3 + local.get $0 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if local.get $0 - local.get $2 + local.get $3 call $~lib/rt/tlsf/growMemory local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if i32.const 0 @@ -1391,13 +1375,13 @@ unreachable end end - local.get $3 + local.get $4 i32.load i32.const 3 i32.const -1 i32.xor i32.and - local.get $2 + local.get $3 i32.ge_u i32.eqz if @@ -1408,26 +1392,27 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 i32.const 0 i32.store offset=4 - local.get $3 + local.get $4 local.get $1 i32.store offset=12 local.get $0 - local.get $3 + local.get $4 call $~lib/rt/tlsf/removeBlock local.get $0 + local.get $4 local.get $3 - local.get $2 call $~lib/rt/tlsf/prepareBlock - local.get $3 + local.get $4 call $~lib/rt/rtrace/onalloc - local.get $3 + local.get $4 ) - (func $~lib/rt/tlsf/__alloc (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/tlsf/ROOT local.set $2 local.get $2 @@ -1441,14 +1426,74 @@ local.get $0 call $~lib/rt/tlsf/allocateBlock local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 + local.set $4 + local.get $4 local.get $1 i32.store offset=8 - local.get $3 + local.get $4 i32.const 16 i32.add ) - (func $~lib/util/memory/memcpy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/error/Error#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 192 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 24 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/rt/__typeinfo (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2476,7 +2521,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2701,7 +2746,7 @@ end end ) - (func $~lib/rt/tlsf/__free (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -2738,7 +2783,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 22 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 23 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -2767,6 +2812,12 @@ local.get $4 i32.const 0 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $5 local.get $5 i32.const 16 @@ -2796,7 +2847,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.set $1 @@ -2805,6 +2856,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -2816,9 +2871,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.set $1 @@ -2884,6 +2940,12 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 16 i32.and i32.eqz @@ -2904,6 +2966,10 @@ if local.get $0 call $~lib/rt/pure/appendRoot + global.get $~lib/error + if + return + end end else local.get $0 @@ -2920,7 +2986,7 @@ end end ) - (func $~lib/rt/pure/__release (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/heap/__heap_base i32.gt_u @@ -2929,25 +2995,29 @@ i32.const 16 i32.sub call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end end ) - (func $rc/local-init/getRef (; 26 ;) (type $FUNCSIG$i) (result i32) + (func $rc/local-init/getRef (; 27 ;) (type $FUNCSIG$i) (result i32) i32.const 24 call $~lib/rt/pure/__retain ) - (func $rc/local-init/Ref#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $rc/local-init/Ref#constructor (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 end local.get $0 ) - (func $start:rc/local-init (; 28 ;) (type $FUNCSIG$v) + (func $start:rc/local-init (; 29 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 24 call $~lib/rt/pure/__retain @@ -2964,10 +3034,10 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $start (; 29 ;) (type $FUNCSIG$v) + (func $start (; 30 ;) (type $FUNCSIG$v) call $start:rc/local-init ) - (func $~lib/rt/pure/markGray (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2994,7 +3064,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -3011,7 +3081,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3048,7 +3118,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3086,7 +3156,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3132,6 +3202,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -3220,16 +3294,27 @@ end end ) - (func $~lib/rt/__visit_members (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$default + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$2 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -3241,10 +3326,26 @@ local.get $1 call $~lib/rt/pure/__visit end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end return end unreachable ) - (func $null (; 36 ;) (type $FUNCSIG$v) + (func $null (; 37 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/rc/logical-and-mismatch.optimized.wat b/tests/compiler/rc/logical-and-mismatch.optimized.wat index ae907e6b68..6887f55577 100644 --- a/tests/compiler/rc/logical-and-mismatch.optimized.wat +++ b/tests/compiler/rc/logical-and-mismatch.optimized.wat @@ -4,26 +4,30 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 160) "$\00\00\00\01\00\00\00\01\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 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 256) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 140) "\01\00\00\00\01") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\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 208) "(\00\00\00\01\00\00\00\01\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 264) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (data (i32.const 312) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00r\00c\00/\00l\00o\00g\00i\00c\00a\00l\00-\00a\00n\00d\00-\00m\00i\00s\00m\00a\00t\00c\00h\00.\00t\00s") + (data (i32.const 384) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $rc/logical-and-mismatch/gloRef (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) + (global $rc/logical-and-mismatch/gloRef (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -611,10 +615,10 @@ if unreachable end - i32.const 304 + i32.const 432 i32.const 0 i32.store - i32.const 1872 + i32.const 2000 i32.const 0 i32.store i32.const 0 @@ -628,7 +632,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 304 + i32.const 432 i32.add i32.const 0 i32.store offset=4 @@ -647,7 +651,7 @@ i32.add i32.const 2 i32.shl - i32.const 304 + i32.const 432 i32.add i32.const 0 i32.store offset=96 @@ -665,473 +669,120 @@ br $loop|0 end end - i32.const 304 - i32.const 1888 + i32.const 432 + i32.const 2016 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 304 + i32.const 432 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const -16 + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $0 - i32.const 16 + if + i32.const 0 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 16 + i32.const 428 i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - local.get $1 - i32.const 4 - i32.shr_u - local.set $1 - i32.const 0 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - local.get $1 - i32.add - i32.const 1 - i32.sub - local.set $1 - end - local.get $1 - i32.const 31 - local.get $1 - i32.clz - i32.sub - local.tee $2 - i32.const 4 - i32.sub - i32.shr_u + if + local.get $0 i32.const 16 - i32.xor - local.set $1 - local.get $2 - i32.const 7 i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load local.tee $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $1 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz + i32.const 1 + i32.and if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - i32.const 2 - i32.shl + i32.const 1 + i32.or + i32.store local.get $0 - i32.add - i32.load offset=4 - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.get $2 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -1 - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - memory.size - local.tee $2 local.get $1 - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.tee $1 - local.get $2 + call $~lib/rt/tlsf/insertBlock local.get $1 - i32.gt_s - select - memory.grow - i32.const 0 - i32.lt_s + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 384 + i32.load + i32.gt_u if - local.get $1 - memory.grow + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error i32.const 0 - i32.lt_s - if - unreachable - end + return end local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 + i32.const 3 i32.shl - call $~lib/rt/tlsf/addMemory + i32.const 388 + i32.add + i32.load ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $4 - i32.const 32 - i32.ge_u - if - local.get $1 - local.get $3 - i32.const 2 - i32.and + block $~lib/util/memory/memmove|inlined.0 local.get $2 - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $2 - i32.add - local.tee $1 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const -2 - i32.and - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.tee $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - local.get $0 - local.get $3 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - i32.load - i32.const -4 - i32.and - local.get $3 - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $2 - local.get $3 - call $~lib/rt/tlsf/prepareBlock - local.get $2 - call $~lib/rt/rtrace/onalloc - local.get $2 - ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/rt/tlsf/ROOT - local.tee $2 - if (result i32) - local.get $2 - else - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - end - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.tee $0 - local.get $1 - i32.store offset=8 - local.get $0 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 292 - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $rc/logical-and-mismatch/Ref#constructor (; 17 ;) (type $FUNCSIG$i) (result i32) - i32.const 0 - i32.const 3 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - ) - (func $~lib/rt/tlsf/freeBlock (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 256 - i32.load - i32.gt_u - if - i32.const 176 - i32.const 232 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.shl - i32.const 260 - i32.add - i32.load - ) - (func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $2 - local.set $3 - local.get $0 + local.set $3 + local.get $0 local.get $1 i32.eq br_if $~lib/util/memory/memmove|inlined.0 @@ -1300,7 +951,7 @@ end end ) - (func $~lib/rt/tlsf/__free (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -1333,7 +984,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 22 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 15 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1382,7 +1033,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.tee $1 @@ -1401,9 +1052,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1418,7 +1070,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -1451,7 +1103,7 @@ i32.le_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -1460,6 +1112,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1491,9 +1147,9 @@ end end ) - (func $~lib/rt/pure/__release (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 292 + i32.const 428 i32.gt_u if local.get $0 @@ -1502,31 +1158,418 @@ call $~lib/rt/pure/decrement end ) - (func $start:rc/logical-and-mismatch (; 26 ;) (type $FUNCSIG$v) - (local $0 i32) - call $rc/logical-and-mismatch/Ref#constructor - global.set $rc/logical-and-mismatch/gloRef - call $rc/logical-and-mismatch/Ref#constructor - local.tee $0 - if (result i32) - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - call $~lib/rt/pure/__retain - else - local.get $0 - end - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - local.tee $0 - if (result i32) - call $rc/logical-and-mismatch/Ref#constructor - else - local.get $0 - call $~lib/rt/pure/__retain - end + (func $~lib/error/Error#constructor (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $1 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/rt/pure/__release - call $rc/logical-and-mismatch/Ref#constructor + local.get $1 + ) + (func $~lib/rt/tlsf/prepareSize (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const -16 + i32.and + local.tee $0 + i32.const 16 + local.get $0 + i32.const 16 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + local.set $1 + i32.const 0 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + local.get $1 + i32.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $1 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $1 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + i32.const -1 + local.get $1 + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.tee $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.ctz + local.get $1 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + i32.const 0 + end + end + ) + (func $~lib/rt/tlsf/growMemory (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + memory.size + local.tee $2 + local.get $1 + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $1 + local.get $2 + local.get $1 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $1 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + local.get $0 + local.get $2 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + ) + (func $~lib/rt/tlsf/prepareBlock (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 364 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.get $2 + i32.sub + local.tee $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $3 + i32.const 2 + i32.and + local.get $2 + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + local.tee $1 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const -2 + i32.and + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + i32.load + i32.const -3 + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.load + i32.const -4 + i32.and + local.get $3 + i32.lt_u + if + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $2 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $2 + call $~lib/rt/rtrace/onalloc + local.get $2 + ) + (func $~lib/rt/tlsf/__alloc (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/rt/tlsf/ROOT + local.tee $2 + if (result i32) + local.get $2 + else + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + end + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + i32.const 16 + i32.add + ) + (func $rc/logical-and-mismatch/Ref#constructor (; 26 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + ) + (func $start:rc/logical-and-mismatch (; 27 ;) (type $FUNCSIG$v) + (local $0 i32) + call $rc/logical-and-mismatch/Ref#constructor + global.set $rc/logical-and-mismatch/gloRef + call $rc/logical-and-mismatch/Ref#constructor + local.tee $0 + if (result i32) + local.get $0 + call $~lib/rt/pure/__release + global.get $rc/logical-and-mismatch/gloRef + call $~lib/rt/pure/__retain + else + local.get $0 + end + call $~lib/rt/pure/__release + global.get $rc/logical-and-mismatch/gloRef + local.tee $0 + if (result i32) + call $rc/logical-and-mismatch/Ref#constructor + else + local.get $0 + call $~lib/rt/pure/__retain + end + call $~lib/rt/pure/__release + call $rc/logical-and-mismatch/Ref#constructor local.tee $0 if (result i32) local.get $0 @@ -1547,11 +1590,22 @@ call $~lib/rt/pure/__release global.get $rc/logical-and-mismatch/gloRef call $~lib/rt/pure/__release + global.get $~lib/error + i32.eqz + if + return + end + i32.const 280 + i32.const 328 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 27 ;) (type $FUNCSIG$v) + (func $start (; 28 ;) (type $FUNCSIG$v) call $start:rc/logical-and-mismatch ) - (func $~lib/rt/pure/markGray (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1575,7 +1629,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -1588,7 +1642,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1622,7 +1676,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1655,9 +1709,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 292 + i32.const 428 i32.lt_u if return @@ -1690,6 +1744,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -1700,7 +1758,7 @@ i32.le_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -1733,7 +1791,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -1758,27 +1816,55 @@ br $break|0 end i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/rt/__visit_members (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$case$6 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 local.tee $0 if local.get $0 @@ -1789,7 +1875,7 @@ end unreachable ) - (func $null (; 34 ;) (type $FUNCSIG$v) + (func $null (; 35 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/rc/logical-and-mismatch.untouched.wat b/tests/compiler/rc/logical-and-mismatch.untouched.wat index aff5fca9e4..1228647b6e 100644 --- a/tests/compiler/rc/logical-and-mismatch.untouched.wat +++ b/tests/compiler/rc/logical-and-mismatch.untouched.wat @@ -5,31 +5,35 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 160) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 256) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 136) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 208) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 264) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") + (data (i32.const 312) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00r\00c\00/\00l\00o\00g\00i\00c\00a\00l\00-\00a\00n\00d\00-\00m\00i\00s\00m\00a\00t\00c\00h\00.\00t\00s\00") + (data (i32.const 384) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $rc/logical-and-mismatch/gloRef (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 256)) - (global $~lib/heap/__heap_base i32 (i32.const 292)) + (global $rc/logical-and-mismatch/gloRef (mut i32) (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 384)) + (global $~lib/heap/__heap_base i32 (i32.const 428)) (export "memory" (memory $0)) (start $start) (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -885,601 +889,279 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - (local $2 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const 15 - i32.const -1 - i32.xor + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $1 - i32.const 16 - local.tee $2 - local.get $1 - local.get $2 - i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (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 $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u + i32.eqz + i32.eqz if i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable end - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 + ) + (func $~lib/rt/pure/__retain (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 i32.const 16 - i32.lt_u - else - i32.const 0 + i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz i32.eqz if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $5 + local.get $1 local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u if - local.get $0 - i32.load i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $break|0 + loop $continue|0 local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - local.get $6 - i32.eqz - if + if (result i32) + local.get $1 + i32.const 3 + i32.and + else i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable end + i32.eqz + br_if $break|0 local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl + local.tee $5 + i32.const 1 i32.add - i32.load offset=96 - local.set $7 + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 + unreachable end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - memory.size - local.set $2 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor + local.get $0 + i32.const 3 i32.and - i32.const 16 - i32.shr_u - local.set $3 - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow i32.const 0 - i32.lt_s + i32.eq if - local.get $3 - memory.grow - i32.const 0 - i32.lt_s - if + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|1 + end unreachable end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 32 - i32.ge_u - if - local.get $1 local.get $2 - local.get $3 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 i32.const 2 i32.and - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 i32.const 1 - i32.const -1 - i32.xor i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - i32.load - i32.const 2 - i32.const -1 - i32.xor - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - local.get $3 - call $~lib/rt/rtrace/onalloc - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/rt/tlsf/ROOT - local.set $2 - local.get $2 - i32.eqz - if - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - local.set $2 - end - local.get $2 - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $rc/logical-and-mismatch/Ref#constructor (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 3 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - ) - (func $rc/logical-and-mismatch/getRef (; 18 ;) (type $FUNCSIG$i) (result i32) - i32.const 0 - call $rc/logical-and-mismatch/Ref#constructor - ) - (func $~lib/rt/tlsf/freeBlock (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.set $2 - local.get $2 - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 176 - i32.const 232 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/util/memory/memcpy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $break|0 - loop $continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - i32.eqz - br_if $break|0 local.get $0 local.tee $5 i32.const 1 @@ -1494,150 +1176,8 @@ local.get $5 i32.load8_u i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $continue|0 end - unreachable - end - local.get $0 - i32.const 3 - i32.and - i32.const 0 - i32.eq - if - block $break|1 - loop $continue|1 - local.get $2 - i32.const 16 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.const 8 - i32.add - i32.load - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $continue|1 - end - unreachable - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.const 4 - i32.add - local.set $1 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.get $1 - i32.load16_u - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - return + return end local.get $2 i32.const 32 @@ -2492,7 +2032,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2717,295 +2257,827 @@ end end ) - (func $~lib/rt/tlsf/__free (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz + (func $~lib/rt/tlsf/__free (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.ne + if (result i32) + local.get $0 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/pure/growRoots (; 16 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/rt/pure/ROOTS + local.set $0 + global.get $~lib/rt/pure/CUR + local.get $0 + i32.sub + local.set $1 + local.get $1 + i32.const 2 + i32.mul + local.tee $2 + i32.const 64 + i32.const 2 + i32.shl + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + local.set $4 + local.get $4 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $5 + local.get $5 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onfree + local.get $5 + local.get $0 + local.get $1 + call $~lib/memory/memory.copy + local.get $0 + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onalloc + local.get $0 + call $~lib/rt/tlsf/__free + end + local.get $5 + global.set $~lib/rt/pure/ROOTS + local.get $5 + local.get $1 + i32.add + global.set $~lib/rt/pure/CUR + local.get $5 + local.get $4 + i32.add + global.set $~lib/rt/pure/END + ) + (func $~lib/rt/pure/appendRoot (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + global.get $~lib/rt/pure/CUR + local.set $1 + local.get $1 + global.get $~lib/rt/pure/END + i32.ge_u + if + call $~lib/rt/pure/growRoots + global.get $~lib/rt/pure/CUR + local.set $1 + end + local.get $1 + local.get $0 + i32.store + local.get $1 + i32.const 4 + i32.add + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.and + local.set $2 + local.get $0 + call $~lib/rt/rtrace/ondecrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 16 + i32.add + i32.const 1 + call $~lib/rt/__visit_members + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + else + local.get $0 + i32.const -2147483648 + i32.const 0 + i32.or + i32.const 0 + i32.or + i32.store offset=4 + end + else + local.get $2 + i32.const 0 + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.and + i32.eqz + if + local.get $0 + i32.const -2147483648 + i32.const 805306368 + i32.or + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + else + local.get $0 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + end + end + ) + (func $~lib/rt/pure/__release (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end + end + ) + (func $~lib/error/Error#constructor (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/rt/tlsf/prepareSize (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.const 16 + local.tee $2 + local.get $1 + local.get $2 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 22 ;) (type $FUNCSIG$iii) (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 $8 i32) + (local $9 i32) + local.get $1 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $2 + local.get $1 + i32.const 4 + i32.shr_u + local.set $3 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $1 + end + local.set $4 + i32.const 31 + local.get $4 + i32.clz + i32.sub + local.set $2 + local.get $4 + local.get $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $3 + local.get $2 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $2 + end + local.get $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $3 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $5 + local.get $2 + local.set $4 + local.get $5 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 0 + i32.const -1 + i32.xor + local.get $3 + i32.shl + i32.and + local.set $6 + i32.const 0 + local.set $7 + local.get $6 + i32.eqz + if + local.get $0 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.set $5 + local.get $5 + i32.eqz + if + i32.const 0 + local.set $7 + else + local.get $5 + i32.ctz + local.set $2 + local.get $0 + local.set $8 + local.get $2 + local.set $4 + local.get $8 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $6 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + else + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + local.get $7 + ) + (func $~lib/rt/tlsf/growMemory (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + memory.size + local.set $2 + local.get $1 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $6 + local.get $6 + memory.grow + i32.const 0 + i32.lt_s if + local.get $3 + memory.grow i32.const 0 - i32.const 24 - i32.const 561 - i32.const 13 - call $~lib/builtins/abort - unreachable + i32.lt_s + if + unreachable + end end + memory.size + local.set $7 local.get $0 - i32.const 0 - i32.ne - if (result i32) - local.get $0 - i32.const 15 - i32.and - i32.eqz - else - i32.const 0 - end + local.get $2 + i32.const 16 + i32.shl + local.get $7 + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + i32.eqz i32.eqz if i32.const 0 i32.const 24 - i32.const 562 - i32.const 2 + i32.const 364 + i32.const 13 call $~lib/builtins/abort unreachable end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - i32.const 16 + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $2 i32.sub - call $~lib/rt/tlsf/freeBlock + local.set $4 + local.get $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $2 + local.get $3 + i32.const 2 + i32.and + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + local.set $5 + local.get $5 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $5 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const 1 + i32.const -1 + i32.xor + i32.and + i32.store + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + i32.load + i32.const 2 + i32.const -1 + i32.xor + i32.and + i32.store + end ) - (func $~lib/rt/pure/growRoots (; 24 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/allocateBlock (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - global.get $~lib/rt/pure/ROOTS - local.set $0 - global.get $~lib/rt/pure/CUR - local.get $0 - i32.sub - local.set $1 local.get $1 - i32.const 2 - i32.mul - local.tee $2 - i32.const 64 - i32.const 2 - i32.shl - local.tee $3 + call $~lib/rt/tlsf/prepareSize + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 + local.set $3 + local.get $0 local.get $3 - i32.gt_u - select + call $~lib/rt/tlsf/searchBlock local.set $4 local.get $4 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $5 - local.get $5 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onfree - local.get $5 - local.get $0 - local.get $1 - call $~lib/memory/memory.copy - local.get $0 + i32.eqz if local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onalloc + local.get $3 + call $~lib/rt/tlsf/growMemory local.get $0 - call $~lib/rt/tlsf/__free + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end end - local.get $5 - global.set $~lib/rt/pure/ROOTS - local.get $5 - local.get $1 - i32.add - global.set $~lib/rt/pure/CUR - local.get $5 local.get $4 - i32.add - global.set $~lib/rt/pure/END - ) - (func $~lib/rt/pure/appendRoot (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - global.get $~lib/rt/pure/CUR - local.set $1 - local.get $1 - global.get $~lib/rt/pure/END + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $3 i32.ge_u + i32.eqz if - call $~lib/rt/pure/growRoots - global.get $~lib/rt/pure/CUR - local.set $1 + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable end + local.get $4 + i32.const 0 + i32.store offset=4 + local.get $4 local.get $1 + i32.store offset=12 local.get $0 - i32.store - local.get $1 - i32.const 4 - i32.add - global.set $~lib/rt/pure/CUR + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $4 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $4 + call $~lib/rt/rtrace/onalloc + local.get $4 ) - (func $~lib/rt/pure/decrement (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/__alloc (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.and + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/tlsf/ROOT local.set $2 - local.get $0 - call $~lib/rt/rtrace/ondecrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz + local.get $2 i32.eqz if - i32.const 0 - i32.const 128 - i32.const 115 - i32.const 13 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + local.set $2 end local.get $2 - i32.const 1 - i32.eq + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error if - local.get $0 - i32.const 16 - i32.add - i32.const 1 - call $~lib/rt/__visit_members - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - if - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - else - local.get $0 - i32.const -2147483648 - i32.const 0 - i32.or - i32.const 0 - i32.or - i32.store offset=4 - end - else - local.get $2 i32.const 0 - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 124 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo - i32.const 16 - i32.and - i32.eqz - if - local.get $0 - i32.const -2147483648 - i32.const 805306368 - i32.or - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - if - local.get $0 - call $~lib/rt/pure/appendRoot - end - else - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end + return end + local.get $3 + local.set $4 + local.get $4 + local.get $1 + i32.store offset=8 + local.get $4 + i32.const 16 + i32.add ) - (func $~lib/rt/pure/__release (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $rc/logical-and-mismatch/Ref#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u + i32.eqz if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + i32.const 0 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 end + local.get $0 ) - (func $start:rc/logical-and-mismatch (; 28 ;) (type $FUNCSIG$v) - (local $0 i32) + (func $rc/logical-and-mismatch/getRef (; 28 ;) (type $FUNCSIG$i) (result i32) i32.const 0 call $rc/logical-and-mismatch/Ref#constructor - global.set $rc/logical-and-mismatch/gloRef - call $rc/logical-and-mismatch/getRef - local.tee $0 - if (result i32) + ) + (func $start:rc/logical-and-mismatch (; 29 ;) (type $FUNCSIG$v) + (local $0 i32) + block $uncaughtError + i32.const 0 + call $rc/logical-and-mismatch/Ref#constructor + global.set $rc/logical-and-mismatch/gloRef + call $rc/logical-and-mismatch/getRef + local.tee $0 + if (result i32) + local.get $0 + call $~lib/rt/pure/__release + global.get $rc/logical-and-mismatch/gloRef + call $~lib/rt/pure/__retain + else + local.get $0 + end + local.set $0 local.get $0 call $~lib/rt/pure/__release global.get $rc/logical-and-mismatch/gloRef - call $~lib/rt/pure/__retain - else + local.tee $0 + if (result i32) + call $rc/logical-and-mismatch/getRef + else + local.get $0 + call $~lib/rt/pure/__retain + end + local.set $0 local.get $0 - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - local.tee $0 - if (result i32) + call $~lib/rt/pure/__release call $rc/logical-and-mismatch/getRef - else + local.tee $0 + if (result i32) + local.get $0 + call $~lib/rt/pure/__release + call $rc/logical-and-mismatch/getRef + else + local.get $0 + end + local.set $0 local.get $0 + call $~lib/rt/pure/__release + global.get $rc/logical-and-mismatch/gloRef + local.tee $0 + if (result i32) + global.get $rc/logical-and-mismatch/gloRef + else + local.get $0 + end call $~lib/rt/pure/__retain - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - call $rc/logical-and-mismatch/getRef - local.tee $0 - if (result i32) + local.set $0 local.get $0 call $~lib/rt/pure/__release - call $rc/logical-and-mismatch/getRef - else - local.get $0 - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - local.tee $0 - if (result i32) global.get $rc/logical-and-mismatch/gloRef - else - local.get $0 + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + return end - call $~lib/rt/pure/__retain - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-and-mismatch/gloRef - call $~lib/rt/pure/__release + i32.const 280 + i32.const 328 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 29 ;) (type $FUNCSIG$v) + (func $start (; 30 ;) (type $FUNCSIG$v) call $start:rc/logical-and-mismatch ) - (func $~lib/rt/pure/markGray (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3032,7 +3104,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -3049,7 +3121,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3086,7 +3158,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3124,7 +3196,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3170,6 +3242,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -3181,7 +3257,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -3220,7 +3296,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -3250,7 +3326,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -3258,16 +3334,27 @@ end end ) - (func $~lib/rt/__visit_members (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$default + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$case$6 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -3279,10 +3366,26 @@ local.get $1 call $~lib/rt/pure/__visit end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end return end unreachable ) - (func $null (; 36 ;) (type $FUNCSIG$v) + (func $null (; 37 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/rc/logical-or-mismatch.optimized.wat b/tests/compiler/rc/logical-or-mismatch.optimized.wat index e5401942dc..d07b88b248 100644 --- a/tests/compiler/rc/logical-or-mismatch.optimized.wat +++ b/tests/compiler/rc/logical-or-mismatch.optimized.wat @@ -4,26 +4,30 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 160) "$\00\00\00\01\00\00\00\01\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 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 256) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 140) "\01\00\00\00\01") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\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 208) "(\00\00\00\01\00\00\00\01\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 264) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (data (i32.const 312) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00r\00c\00/\00l\00o\00g\00i\00c\00a\00l\00-\00o\00r\00-\00m\00i\00s\00m\00a\00t\00c\00h\00.\00t\00s") + (data (i32.const 384) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $rc/logical-or-mismatch/gloRef (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) + (global $rc/logical-or-mismatch/gloRef (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -611,10 +615,10 @@ if unreachable end - i32.const 304 + i32.const 432 i32.const 0 i32.store - i32.const 1872 + i32.const 2000 i32.const 0 i32.store i32.const 0 @@ -628,7 +632,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 304 + i32.const 432 i32.add i32.const 0 i32.store offset=4 @@ -647,7 +651,7 @@ i32.add i32.const 2 i32.shl - i32.const 304 + i32.const 432 i32.add i32.const 0 i32.store offset=96 @@ -665,473 +669,120 @@ br $loop|0 end end - i32.const 304 - i32.const 1888 + i32.const 432 + i32.const 2016 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 304 + i32.const 432 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const -16 + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $0 - i32.const 16 + if + i32.const 0 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 16 + i32.const 428 i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - local.get $1 - i32.const 4 - i32.shr_u - local.set $1 - i32.const 0 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - local.get $1 - i32.add - i32.const 1 - i32.sub - local.set $1 - end - local.get $1 - i32.const 31 - local.get $1 - i32.clz - i32.sub - local.tee $2 - i32.const 4 - i32.sub - i32.shr_u + if + local.get $0 i32.const 16 - i32.xor - local.set $1 - local.get $2 - i32.const 7 i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load local.tee $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $1 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz + i32.const 1 + i32.and if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - i32.const 2 - i32.shl + i32.const 1 + i32.or + i32.store local.get $0 - i32.add - i32.load offset=4 - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.get $2 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -1 - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - memory.size - local.tee $2 local.get $1 - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.tee $1 - local.get $2 + call $~lib/rt/tlsf/insertBlock local.get $1 - i32.gt_s - select - memory.grow - i32.const 0 - i32.lt_s + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 384 + i32.load + i32.gt_u if - local.get $1 - memory.grow + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error i32.const 0 - i32.lt_s - if - unreachable - end + return end local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 + i32.const 3 i32.shl - call $~lib/rt/tlsf/addMemory + i32.const 388 + i32.add + i32.load ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $4 - i32.const 32 - i32.ge_u - if - local.get $1 - local.get $3 - i32.const 2 - i32.and + block $~lib/util/memory/memmove|inlined.0 local.get $2 - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $2 - i32.add - local.tee $1 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const -2 - i32.and - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.tee $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - local.get $0 - local.get $3 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - i32.load - i32.const -4 - i32.and - local.get $3 - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $2 - local.get $3 - call $~lib/rt/tlsf/prepareBlock - local.get $2 - call $~lib/rt/rtrace/onalloc - local.get $2 - ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/rt/tlsf/ROOT - local.tee $2 - if (result i32) - local.get $2 - else - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - end - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.tee $0 - local.get $1 - i32.store offset=8 - local.get $0 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 292 - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $rc/logical-or-mismatch/Ref#constructor (; 17 ;) (type $FUNCSIG$i) (result i32) - i32.const 0 - i32.const 3 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - ) - (func $~lib/rt/tlsf/freeBlock (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 256 - i32.load - i32.gt_u - if - i32.const 176 - i32.const 232 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.shl - i32.const 260 - i32.add - i32.load - ) - (func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $2 - local.set $3 - local.get $0 + local.set $3 + local.get $0 local.get $1 i32.eq br_if $~lib/util/memory/memmove|inlined.0 @@ -1300,7 +951,7 @@ end end ) - (func $~lib/rt/tlsf/__free (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -1333,7 +984,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 22 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 15 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1382,7 +1033,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.tee $1 @@ -1401,9 +1052,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1418,7 +1070,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -1451,7 +1103,7 @@ i32.le_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -1460,6 +1112,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1491,9 +1147,9 @@ end end ) - (func $~lib/rt/pure/__release (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 292 + i32.const 428 i32.gt_u if local.get $0 @@ -1502,31 +1158,418 @@ call $~lib/rt/pure/decrement end ) - (func $start:rc/logical-or-mismatch (; 26 ;) (type $FUNCSIG$v) - (local $0 i32) - call $rc/logical-or-mismatch/Ref#constructor - global.set $rc/logical-or-mismatch/gloRef - call $rc/logical-or-mismatch/Ref#constructor - local.tee $0 - if (result i32) - local.get $0 - else - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - call $~lib/rt/pure/__retain - end - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - local.tee $0 - if (result i32) - local.get $0 - call $~lib/rt/pure/__retain - else - call $rc/logical-or-mismatch/Ref#constructor - end + (func $~lib/error/Error#constructor (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $1 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/rt/pure/__release - call $rc/logical-or-mismatch/Ref#constructor + local.get $1 + ) + (func $~lib/rt/tlsf/prepareSize (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const -16 + i32.and + local.tee $0 + i32.const 16 + local.get $0 + i32.const 16 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + local.set $1 + i32.const 0 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + local.get $1 + i32.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $1 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $1 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + i32.const -1 + local.get $1 + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.tee $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.ctz + local.get $1 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + i32.const 0 + end + end + ) + (func $~lib/rt/tlsf/growMemory (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + memory.size + local.tee $2 + local.get $1 + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $1 + local.get $2 + local.get $1 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $1 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + local.get $0 + local.get $2 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + ) + (func $~lib/rt/tlsf/prepareBlock (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 364 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.get $2 + i32.sub + local.tee $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $3 + i32.const 2 + i32.and + local.get $2 + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + local.tee $1 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const -2 + i32.and + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + i32.load + i32.const -3 + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.load + i32.const -4 + i32.and + local.get $3 + i32.lt_u + if + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $2 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $2 + call $~lib/rt/rtrace/onalloc + local.get $2 + ) + (func $~lib/rt/tlsf/__alloc (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/rt/tlsf/ROOT + local.tee $2 + if (result i32) + local.get $2 + else + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + end + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + i32.const 16 + i32.add + ) + (func $rc/logical-or-mismatch/Ref#constructor (; 26 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + ) + (func $start:rc/logical-or-mismatch (; 27 ;) (type $FUNCSIG$v) + (local $0 i32) + call $rc/logical-or-mismatch/Ref#constructor + global.set $rc/logical-or-mismatch/gloRef + call $rc/logical-or-mismatch/Ref#constructor + local.tee $0 + if (result i32) + local.get $0 + else + local.get $0 + call $~lib/rt/pure/__release + global.get $rc/logical-or-mismatch/gloRef + call $~lib/rt/pure/__retain + end + call $~lib/rt/pure/__release + global.get $rc/logical-or-mismatch/gloRef + local.tee $0 + if (result i32) + local.get $0 + call $~lib/rt/pure/__retain + else + call $rc/logical-or-mismatch/Ref#constructor + end + call $~lib/rt/pure/__release + call $rc/logical-or-mismatch/Ref#constructor local.tee $0 if (result i32) local.get $0 @@ -1547,11 +1590,22 @@ call $~lib/rt/pure/__release global.get $rc/logical-or-mismatch/gloRef call $~lib/rt/pure/__release + global.get $~lib/error + i32.eqz + if + return + end + i32.const 280 + i32.const 328 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 27 ;) (type $FUNCSIG$v) + (func $start (; 28 ;) (type $FUNCSIG$v) call $start:rc/logical-or-mismatch ) - (func $~lib/rt/pure/markGray (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1575,7 +1629,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -1588,7 +1642,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1622,7 +1676,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1655,9 +1709,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 292 + i32.const 428 i32.lt_u if return @@ -1690,6 +1744,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -1700,7 +1758,7 @@ i32.le_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -1733,7 +1791,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -1758,27 +1816,55 @@ br $break|0 end i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/rt/__visit_members (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$case$6 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 local.tee $0 if local.get $0 @@ -1789,7 +1875,7 @@ end unreachable ) - (func $null (; 34 ;) (type $FUNCSIG$v) + (func $null (; 35 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/rc/logical-or-mismatch.untouched.wat b/tests/compiler/rc/logical-or-mismatch.untouched.wat index 1960f0fb45..ca1cfb19f7 100644 --- a/tests/compiler/rc/logical-or-mismatch.untouched.wat +++ b/tests/compiler/rc/logical-or-mismatch.untouched.wat @@ -5,31 +5,35 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 160) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 256) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 136) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 208) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 264) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") + (data (i32.const 312) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00r\00c\00/\00l\00o\00g\00i\00c\00a\00l\00-\00o\00r\00-\00m\00i\00s\00m\00a\00t\00c\00h\00.\00t\00s\00") + (data (i32.const 384) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $rc/logical-or-mismatch/gloRef (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 256)) - (global $~lib/heap/__heap_base i32 (i32.const 292)) + (global $rc/logical-or-mismatch/gloRef (mut i32) (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 384)) + (global $~lib/heap/__heap_base i32 (i32.const 428)) (export "memory" (memory $0)) (start $start) (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -885,601 +889,279 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - (local $2 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const 15 - i32.const -1 - i32.xor + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $1 - i32.const 16 - local.tee $2 - local.get $1 - local.get $2 - i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (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 $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u + i32.eqz + i32.eqz if i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable end - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 + ) + (func $~lib/rt/pure/__retain (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 i32.const 16 - i32.lt_u - else - i32.const 0 + i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz i32.eqz if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $5 + local.get $1 local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u if - local.get $0 - i32.load i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $break|0 + loop $continue|0 local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - local.get $6 - i32.eqz - if + if (result i32) + local.get $1 + i32.const 3 + i32.and + else i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable end + i32.eqz + br_if $break|0 local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl + local.tee $5 + i32.const 1 i32.add - i32.load offset=96 - local.set $7 + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 + unreachable end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - memory.size - local.set $2 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor + local.get $0 + i32.const 3 i32.and - i32.const 16 - i32.shr_u - local.set $3 - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow i32.const 0 - i32.lt_s + i32.eq if - local.get $3 - memory.grow - i32.const 0 - i32.lt_s - if + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|1 + end unreachable end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 32 - i32.ge_u - if - local.get $1 local.get $2 - local.get $3 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 i32.const 2 i32.and - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 i32.const 1 - i32.const -1 - i32.xor i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - i32.load - i32.const 2 - i32.const -1 - i32.xor - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - local.get $3 - call $~lib/rt/rtrace/onalloc - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/rt/tlsf/ROOT - local.set $2 - local.get $2 - i32.eqz - if - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - local.set $2 - end - local.get $2 - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $rc/logical-or-mismatch/Ref#constructor (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 3 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - ) - (func $rc/logical-or-mismatch/getRef (; 18 ;) (type $FUNCSIG$i) (result i32) - i32.const 0 - call $rc/logical-or-mismatch/Ref#constructor - ) - (func $~lib/rt/tlsf/freeBlock (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.set $2 - local.get $2 - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 176 - i32.const 232 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/util/memory/memcpy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $break|0 - loop $continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - i32.eqz - br_if $break|0 local.get $0 local.tee $5 i32.const 1 @@ -1494,150 +1176,8 @@ local.get $5 i32.load8_u i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $continue|0 end - unreachable - end - local.get $0 - i32.const 3 - i32.and - i32.const 0 - i32.eq - if - block $break|1 - loop $continue|1 - local.get $2 - i32.const 16 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.const 8 - i32.add - i32.load - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $continue|1 - end - unreachable - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.const 4 - i32.add - local.set $1 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.get $1 - i32.load16_u - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - return + return end local.get $2 i32.const 32 @@ -2492,7 +2032,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2717,295 +2257,827 @@ end end ) - (func $~lib/rt/tlsf/__free (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz + (func $~lib/rt/tlsf/__free (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.ne + if (result i32) + local.get $0 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/pure/growRoots (; 16 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/rt/pure/ROOTS + local.set $0 + global.get $~lib/rt/pure/CUR + local.get $0 + i32.sub + local.set $1 + local.get $1 + i32.const 2 + i32.mul + local.tee $2 + i32.const 64 + i32.const 2 + i32.shl + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + local.set $4 + local.get $4 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $5 + local.get $5 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onfree + local.get $5 + local.get $0 + local.get $1 + call $~lib/memory/memory.copy + local.get $0 + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onalloc + local.get $0 + call $~lib/rt/tlsf/__free + end + local.get $5 + global.set $~lib/rt/pure/ROOTS + local.get $5 + local.get $1 + i32.add + global.set $~lib/rt/pure/CUR + local.get $5 + local.get $4 + i32.add + global.set $~lib/rt/pure/END + ) + (func $~lib/rt/pure/appendRoot (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + global.get $~lib/rt/pure/CUR + local.set $1 + local.get $1 + global.get $~lib/rt/pure/END + i32.ge_u + if + call $~lib/rt/pure/growRoots + global.get $~lib/rt/pure/CUR + local.set $1 + end + local.get $1 + local.get $0 + i32.store + local.get $1 + i32.const 4 + i32.add + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.and + local.set $2 + local.get $0 + call $~lib/rt/rtrace/ondecrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 16 + i32.add + i32.const 1 + call $~lib/rt/__visit_members + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + else + local.get $0 + i32.const -2147483648 + i32.const 0 + i32.or + i32.const 0 + i32.or + i32.store offset=4 + end + else + local.get $2 + i32.const 0 + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.and + i32.eqz + if + local.get $0 + i32.const -2147483648 + i32.const 805306368 + i32.or + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + else + local.get $0 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + end + end + ) + (func $~lib/rt/pure/__release (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end + end + ) + (func $~lib/error/Error#constructor (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/rt/tlsf/prepareSize (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.const 16 + local.tee $2 + local.get $1 + local.get $2 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 22 ;) (type $FUNCSIG$iii) (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 $8 i32) + (local $9 i32) + local.get $1 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $2 + local.get $1 + i32.const 4 + i32.shr_u + local.set $3 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $1 + end + local.set $4 + i32.const 31 + local.get $4 + i32.clz + i32.sub + local.set $2 + local.get $4 + local.get $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $3 + local.get $2 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $2 + end + local.get $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $3 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $5 + local.get $2 + local.set $4 + local.get $5 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 0 + i32.const -1 + i32.xor + local.get $3 + i32.shl + i32.and + local.set $6 + i32.const 0 + local.set $7 + local.get $6 + i32.eqz + if + local.get $0 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.set $5 + local.get $5 + i32.eqz + if + i32.const 0 + local.set $7 + else + local.get $5 + i32.ctz + local.set $2 + local.get $0 + local.set $8 + local.get $2 + local.set $4 + local.get $8 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $6 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + else + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + local.get $7 + ) + (func $~lib/rt/tlsf/growMemory (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + memory.size + local.set $2 + local.get $1 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $6 + local.get $6 + memory.grow + i32.const 0 + i32.lt_s if + local.get $3 + memory.grow i32.const 0 - i32.const 24 - i32.const 561 - i32.const 13 - call $~lib/builtins/abort - unreachable + i32.lt_s + if + unreachable + end end + memory.size + local.set $7 local.get $0 - i32.const 0 - i32.ne - if (result i32) - local.get $0 - i32.const 15 - i32.and - i32.eqz - else - i32.const 0 - end + local.get $2 + i32.const 16 + i32.shl + local.get $7 + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + i32.eqz i32.eqz if i32.const 0 i32.const 24 - i32.const 562 - i32.const 2 + i32.const 364 + i32.const 13 call $~lib/builtins/abort unreachable end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - i32.const 16 + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $2 i32.sub - call $~lib/rt/tlsf/freeBlock + local.set $4 + local.get $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $2 + local.get $3 + i32.const 2 + i32.and + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + local.set $5 + local.get $5 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $5 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const 1 + i32.const -1 + i32.xor + i32.and + i32.store + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + i32.load + i32.const 2 + i32.const -1 + i32.xor + i32.and + i32.store + end ) - (func $~lib/rt/pure/growRoots (; 24 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/allocateBlock (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - global.get $~lib/rt/pure/ROOTS - local.set $0 - global.get $~lib/rt/pure/CUR - local.get $0 - i32.sub - local.set $1 local.get $1 - i32.const 2 - i32.mul - local.tee $2 - i32.const 64 - i32.const 2 - i32.shl - local.tee $3 + call $~lib/rt/tlsf/prepareSize + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 + local.set $3 + local.get $0 local.get $3 - i32.gt_u - select + call $~lib/rt/tlsf/searchBlock local.set $4 local.get $4 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $5 - local.get $5 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onfree - local.get $5 - local.get $0 - local.get $1 - call $~lib/memory/memory.copy - local.get $0 + i32.eqz if local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onalloc + local.get $3 + call $~lib/rt/tlsf/growMemory local.get $0 - call $~lib/rt/tlsf/__free + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end end - local.get $5 - global.set $~lib/rt/pure/ROOTS - local.get $5 - local.get $1 - i32.add - global.set $~lib/rt/pure/CUR - local.get $5 local.get $4 - i32.add - global.set $~lib/rt/pure/END - ) - (func $~lib/rt/pure/appendRoot (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - global.get $~lib/rt/pure/CUR - local.set $1 - local.get $1 - global.get $~lib/rt/pure/END + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $3 i32.ge_u + i32.eqz if - call $~lib/rt/pure/growRoots - global.get $~lib/rt/pure/CUR - local.set $1 + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable end + local.get $4 + i32.const 0 + i32.store offset=4 + local.get $4 local.get $1 + i32.store offset=12 local.get $0 - i32.store - local.get $1 - i32.const 4 - i32.add - global.set $~lib/rt/pure/CUR + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $4 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $4 + call $~lib/rt/rtrace/onalloc + local.get $4 ) - (func $~lib/rt/pure/decrement (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/__alloc (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.and + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/tlsf/ROOT local.set $2 - local.get $0 - call $~lib/rt/rtrace/ondecrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz + local.get $2 i32.eqz if - i32.const 0 - i32.const 128 - i32.const 115 - i32.const 13 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + local.set $2 end local.get $2 - i32.const 1 - i32.eq + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error if - local.get $0 - i32.const 16 - i32.add - i32.const 1 - call $~lib/rt/__visit_members - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - if - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - else - local.get $0 - i32.const -2147483648 - i32.const 0 - i32.or - i32.const 0 - i32.or - i32.store offset=4 - end - else - local.get $2 i32.const 0 - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 124 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo - i32.const 16 - i32.and - i32.eqz - if - local.get $0 - i32.const -2147483648 - i32.const 805306368 - i32.or - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - if - local.get $0 - call $~lib/rt/pure/appendRoot - end - else - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end + return end + local.get $3 + local.set $4 + local.get $4 + local.get $1 + i32.store offset=8 + local.get $4 + i32.const 16 + i32.add ) - (func $~lib/rt/pure/__release (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $rc/logical-or-mismatch/Ref#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u + i32.eqz if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + i32.const 0 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 end + local.get $0 ) - (func $start:rc/logical-or-mismatch (; 28 ;) (type $FUNCSIG$v) - (local $0 i32) + (func $rc/logical-or-mismatch/getRef (; 28 ;) (type $FUNCSIG$i) (result i32) i32.const 0 call $rc/logical-or-mismatch/Ref#constructor - global.set $rc/logical-or-mismatch/gloRef - call $rc/logical-or-mismatch/getRef - local.tee $0 - if (result i32) - local.get $0 - else + ) + (func $start:rc/logical-or-mismatch (; 29 ;) (type $FUNCSIG$v) + (local $0 i32) + block $uncaughtError + i32.const 0 + call $rc/logical-or-mismatch/Ref#constructor + global.set $rc/logical-or-mismatch/gloRef + call $rc/logical-or-mismatch/getRef + local.tee $0 + if (result i32) + local.get $0 + else + local.get $0 + call $~lib/rt/pure/__release + global.get $rc/logical-or-mismatch/gloRef + call $~lib/rt/pure/__retain + end + local.set $0 local.get $0 call $~lib/rt/pure/__release global.get $rc/logical-or-mismatch/gloRef - call $~lib/rt/pure/__retain - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - local.tee $0 - if (result i32) + local.tee $0 + if (result i32) + local.get $0 + call $~lib/rt/pure/__retain + else + call $rc/logical-or-mismatch/getRef + end + local.set $0 local.get $0 - call $~lib/rt/pure/__retain - else + call $~lib/rt/pure/__release call $rc/logical-or-mismatch/getRef - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - call $rc/logical-or-mismatch/getRef - local.tee $0 - if (result i32) - local.get $0 - else + local.tee $0 + if (result i32) + local.get $0 + else + local.get $0 + call $~lib/rt/pure/__release + call $rc/logical-or-mismatch/getRef + end + local.set $0 local.get $0 call $~lib/rt/pure/__release - call $rc/logical-or-mismatch/getRef - end - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - local.tee $0 - if (result i32) + global.get $rc/logical-or-mismatch/gloRef + local.tee $0 + if (result i32) + local.get $0 + else + global.get $rc/logical-or-mismatch/gloRef + end + call $~lib/rt/pure/__retain + local.set $0 local.get $0 - else + call $~lib/rt/pure/__release global.get $rc/logical-or-mismatch/gloRef + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + return end - call $~lib/rt/pure/__retain - local.set $0 - local.get $0 - call $~lib/rt/pure/__release - global.get $rc/logical-or-mismatch/gloRef - call $~lib/rt/pure/__release + i32.const 280 + i32.const 328 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 29 ;) (type $FUNCSIG$v) + (func $start (; 30 ;) (type $FUNCSIG$v) call $start:rc/logical-or-mismatch ) - (func $~lib/rt/pure/markGray (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3032,7 +3104,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -3049,7 +3121,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3086,7 +3158,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3124,7 +3196,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3170,6 +3242,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -3181,7 +3257,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -3220,7 +3296,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -3250,7 +3326,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -3258,16 +3334,27 @@ end end ) - (func $~lib/rt/__visit_members (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$default + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$case$6 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -3279,10 +3366,26 @@ local.get $1 call $~lib/rt/pure/__visit end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end return end unreachable ) - (func $null (; 36 ;) (type $FUNCSIG$v) + (func $null (; 37 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/rc/rereturn.optimized.wat b/tests/compiler/rc/rereturn.optimized.wat index 475d7446b2..726c2bf6dd 100644 --- a/tests/compiler/rc/rereturn.optimized.wat +++ b/tests/compiler/rc/rereturn.optimized.wat @@ -4,21 +4,23 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 160) "$\00\00\00\01\00\00\00\01\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 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 256) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 140) "\01\00\00\00\01") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\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 208) "(\00\00\00\01\00\00\00\01\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 264) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 256)) + (global $~lib/rt/__rtti_base i32 (i32.const 264)) (export "memory" (memory $0)) (export "__alloc" (func $~lib/rt/tlsf/__alloc)) (export "__retain" (func $~lib/rt/pure/__retain)) @@ -611,10 +613,10 @@ if unreachable end - i32.const 304 + i32.const 320 i32.const 0 i32.store - i32.const 1872 + i32.const 1888 i32.const 0 i32.store i32.const 0 @@ -628,7 +630,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 304 + i32.const 320 i32.add i32.const 0 i32.store offset=4 @@ -647,7 +649,7 @@ i32.add i32.const 2 i32.shl - i32.const 304 + i32.const 320 i32.add i32.const 0 i32.store offset=96 @@ -665,460 +667,115 @@ br $loop|0 end end - i32.const 304 - i32.const 1888 + i32.const 320 + i32.const 1904 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 304 + i32.const 320 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const -16 + i32.store offset=4 + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $0 - i32.const 16 + if + i32.const 0 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 16 + i32.const 308 i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - local.get $1 - i32.const 4 - i32.shr_u - local.set $1 - i32.const 0 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - local.get $1 - i32.add - i32.const 1 - i32.sub - local.set $1 - end - local.get $1 - i32.const 31 - local.get $1 - i32.clz - i32.sub - local.tee $2 - i32.const 4 - i32.sub - i32.shr_u + if + local.get $0 i32.const 16 - i32.xor - local.set $1 - local.get $2 - i32.const 7 i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load local.tee $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $1 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz + i32.const 1 + i32.and if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - i32.const 2 - i32.shl + i32.const 1 + i32.or + i32.store local.get $0 - i32.add - i32.load offset=4 - i32.const -1 local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.get $2 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -1 - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - i32.const 0 - end - end + call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/tlsf/growMemory (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - memory.size - local.tee $2 - local.get $1 - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.tee $1 - local.get $2 - local.get $1 - i32.gt_s - select - memory.grow - i32.const 0 - i32.lt_s + (func $~lib/rt/__typeinfo (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 264 + i32.load + i32.gt_u if - local.get $1 - memory.grow + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error i32.const 0 - i32.lt_s - if - unreachable - end + return end local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 + i32.const 3 i32.shl - call $~lib/rt/tlsf/addMemory + i32.const 268 + i32.add + i32.load ) - (func $~lib/rt/tlsf/prepareBlock (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $4 - i32.const 32 - i32.ge_u - if - local.get $1 - local.get $3 - i32.const 2 - i32.and - local.get $2 - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add + block $~lib/util/memory/memmove|inlined.0 local.get $2 - i32.add - local.tee $1 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const -2 - i32.and - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.tee $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - local.get $0 - local.get $3 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - i32.load - i32.const -4 - i32.and - local.get $3 - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $2 - local.get $3 - call $~lib/rt/tlsf/prepareBlock - local.get $2 - ) - (func $~lib/rt/tlsf/__alloc (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/rt/tlsf/ROOT - local.tee $2 - if (result i32) - local.get $2 - else - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - end - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.tee $0 - local.get $1 - i32.store offset=8 - local.get $0 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 292 - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/rt/tlsf/freeBlock (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/__typeinfo (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 256 - i32.load - i32.gt_u - if - i32.const 176 - i32.const 232 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.shl - i32.const 260 - i32.add - i32.load - ) - (func $~lib/memory/memory.copy (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $2 - local.set $3 + local.set $3 local.get $0 local.get $1 i32.eq @@ -1288,7 +945,7 @@ end end ) - (func $~lib/rt/tlsf/__free (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -1321,7 +978,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 17 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 11 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1362,125 +1019,509 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.tee $1 global.get $~lib/rt/pure/END i32.ge_u if - call $~lib/rt/pure/growRoots - global.get $~lib/rt/pure/CUR - local.set $1 + call $~lib/rt/pure/growRoots + global.get $~lib/rt/pure/CUR + local.set $1 + end + local.get $1 + local.get $0 + i32.store + local.get $1 + i32.const 4 + i32.add + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 268435455 + i32.and + local.set $1 + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 16 + i32.add + i32.const 1 + call $~lib/rt/__visit_members + local.get $2 + i32.const -2147483648 + i32.and + if + local.get $0 + i32.const -2147483648 + i32.store offset=4 + else + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + end + else + local.get $1 + i32.const 0 + i32.le_u + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end + i32.const 16 + i32.and + if + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $2 + i32.const -268435456 + i32.and + i32.or + i32.store offset=4 + else + local.get $0 + local.get $1 + i32.const 1 + i32.sub + i32.const -1342177280 + i32.or + i32.store offset=4 + local.get $2 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + end + end + ) + (func $~lib/rt/pure/__release (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.const 308 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + end + ) + (func $~lib/error/Error#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $1 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/rt/tlsf/prepareSize (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const -16 + i32.and + local.tee $0 + i32.const 16 + local.get $0 + i32.const 16 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + local.set $1 + i32.const 0 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + local.get $1 + i32.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $1 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $1 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + i32.const -1 + local.get $1 + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.tee $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.ctz + local.get $1 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + i32.const 0 + end + end + ) + (func $~lib/rt/tlsf/growMemory (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + memory.size + local.tee $2 + local.get $1 + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $1 + local.get $2 + local.get $1 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $1 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end end - local.get $1 local.get $0 - i32.store - local.get $1 - i32.const 4 - i32.add - global.set $~lib/rt/pure/CUR + local.get $2 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory ) - (func $~lib/rt/pure/decrement (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 268435455 - i32.and - local.set $1 - local.get $0 + (func $~lib/rt/tlsf/prepareBlock (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 i32.load - i32.const 1 + local.set $3 + local.get $2 + i32.const 15 i32.and if i32.const 0 - i32.const 128 - i32.const 115 + i32.const 24 + i32.const 364 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $1 - i32.const 1 - i32.eq + local.get $3 + i32.const -4 + i32.and + local.get $2 + i32.sub + local.tee $4 + i32.const 32 + i32.ge_u if - local.get $0 + local.get $1 + local.get $3 + i32.const 2 + i32.and + local.get $2 + i32.or + i32.store + local.get $1 i32.const 16 i32.add - i32.const 1 - call $~lib/rt/__visit_members local.get $2 - i32.const -2147483648 - i32.and - if - local.get $0 - i32.const -2147483648 - i32.store offset=4 - else - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - end + i32.add + local.tee $1 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock else local.get $1 + local.get $3 + i32.const -2 + i32.and + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + i32.load + i32.const -3 + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $3 + global.get $~lib/error + if i32.const 0 - i32.le_u + return + end + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz if i32.const 0 - i32.const 128 - i32.const 124 + i32.const 24 + i32.const 477 i32.const 15 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo - i32.const 16 - i32.and - if - local.get $0 - local.get $1 - i32.const 1 - i32.sub - local.get $2 - i32.const -268435456 - i32.and - i32.or - i32.store offset=4 - else - local.get $0 - local.get $1 - i32.const 1 - i32.sub - i32.const -1342177280 - i32.or - i32.store offset=4 - local.get $2 - i32.const -2147483648 - i32.and - i32.eqz - if - local.get $0 - call $~lib/rt/pure/appendRoot - end - end end + local.get $2 + i32.load + i32.const -4 + i32.and + local.get $3 + i32.lt_u + if + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $2 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $2 ) - (func $~lib/rt/pure/__release (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__alloc (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/rt/tlsf/ROOT + local.tee $2 + if (result i32) + local.get $2 + else + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + end local.get $0 - i32.const 292 - i32.gt_u + call $~lib/rt/tlsf/allocateBlock + local.set $0 + global.get $~lib/error if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + i32.const 0 + return end + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + i32.const 16 + i32.add ) - (func $~lib/rt/pure/markGray (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1504,7 +1545,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -1517,7 +1558,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1551,7 +1592,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1584,7 +1625,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__collect (; 25 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/__collect (; 26 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1708,16 +1749,16 @@ local.get $5 global.set $~lib/rt/pure/CUR ) - (func $start (; 26 ;) (type $FUNCSIG$v) + (func $start (; 27 ;) (type $FUNCSIG$v) i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain call $~lib/rt/pure/__release ) - (func $~lib/rt/pure/__visit (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 292 + i32.const 308 i32.lt_u if return @@ -1750,6 +1791,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -1760,7 +1805,7 @@ i32.le_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -1793,7 +1838,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -1818,27 +1863,55 @@ br $break|0 end i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/rt/__visit_members (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$2 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 local.tee $0 if local.get $0 @@ -1849,7 +1922,7 @@ end unreachable ) - (func $null (; 29 ;) (type $FUNCSIG$v) + (func $null (; 30 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/rc/rereturn.untouched.wat b/tests/compiler/rc/rereturn.untouched.wat index 07dadcff4d..0cc5526a28 100644 --- a/tests/compiler/rc/rereturn.untouched.wat +++ b/tests/compiler/rc/rereturn.untouched.wat @@ -5,26 +5,28 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 160) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 256) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 136) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 208) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 264) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 256)) - (global $~lib/heap/__heap_base i32 (i32.const 292)) + (global $~lib/rt/__rtti_base i32 (i32.const 264)) + (global $~lib/heap/__heap_base i32 (i32.const 308)) (export "memory" (memory $0)) (export "__alloc" (func $~lib/rt/tlsf/__alloc)) (export "__retain" (func $~lib/rt/pure/__retain)) @@ -885,579 +887,275 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - (local $2 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const 15 - i32.const -1 - i32.xor + i32.store offset=4 + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $1 - i32.const 16 - local.tee $2 - local.get $1 - local.get $2 - i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 6 ;) (type $FUNCSIG$iii) (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 $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u + i32.eqz + i32.eqz if i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable end - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 i32.const 16 - i32.lt_u - else - i32.const 0 + i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz i32.eqz if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $5 + local.get $1 local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/__typeinfo (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u if - local.get $0 - i32.load i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $break|0 + loop $continue|0 local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - local.get $6 - i32.eqz - if + if (result i32) + local.get $1 + i32.const 3 + i32.and + else i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable end + i32.eqz + br_if $break|0 local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 + local.tee $5 + i32.const 1 i32.add - i32.const 2 - i32.shl + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 i32.add - i32.load offset=96 - local.set $7 - end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - memory.size - local.set $2 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $3 - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow - i32.const 0 - i32.lt_s - if - local.get $3 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 3 - i32.const -1 - i32.xor i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 32 - i32.ge_u + i32.const 0 + i32.eq if - local.get $1 + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|1 + end + unreachable + end local.get $2 - local.get $3 - i32.const 2 + i32.const 8 i32.and - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const 1 - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor + i32.const 4 i32.and - i32.add - i32.load + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 i32.const 2 - i32.const -1 - i32.xor i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 end - end - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/rt/tlsf/ROOT - local.set $2 - local.get $2 - i32.eqz - if - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - local.set $2 - end - local.get $2 - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/rt/tlsf/freeBlock (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.set $2 - local.get $2 - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/__typeinfo (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 176 - i32.const 232 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/util/memory/memcpy (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $break|0 - loop $continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - i32.eqz - br_if $break|0 + local.get $2 + i32.const 1 + i32.and + if local.get $0 local.tee $5 i32.const 1 @@ -1472,154 +1170,12 @@ local.get $5 i32.load8_u i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $continue|0 end - unreachable + return end - local.get $0 - i32.const 3 - i32.and - i32.const 0 - i32.eq - if - block $break|1 - loop $continue|1 - local.get $2 - i32.const 16 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.const 8 - i32.add - i32.load - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $continue|1 - end - unreachable - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.const 4 - i32.add - local.set $1 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.get $1 - i32.load16_u - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - return - end - local.get $2 - i32.const 32 - i32.ge_u + local.get $2 + i32.const 32 + i32.ge_u if block $break|2 block $case2|2 @@ -2352,570 +1908,1071 @@ i32.const 1 i32.add local.set $1 - local.get $5 - i32.load8_u - i32.store8 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + ) + (func $~lib/memory/memory.copy (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + local.get $4 + i32.eq + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $4 + local.get $3 + i32.add + local.get $5 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $5 + local.get $3 + i32.add + local.get $4 + i32.le_u + end + if + local.get $5 + local.get $4 + local.get $3 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $4 + i32.lt_u + if + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + block $break|0 + loop $continue|0 + local.get $5 + i32.const 7 + i32.and + i32.eqz + br_if $break|0 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $5 + local.tee $6 + i32.const 1 + i32.add + local.set $5 + local.get $6 + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.load8_u + i32.store8 + br $continue|0 + end + unreachable + end + block $break|1 + loop $continue|1 + local.get $3 + i32.const 8 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $5 + local.get $4 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $4 + i32.const 8 + i32.add + local.set $4 + br $continue|1 + end + unreachable + end + end + block $break|2 + loop $continue|2 + local.get $3 + i32.eqz + br_if $break|2 + local.get $5 + local.tee $6 + i32.const 1 + i32.add + local.set $5 + local.get $6 + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|2 + end + unreachable + end + else + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + block $break|3 + loop $continue|3 + local.get $5 + local.get $3 + i32.add + i32.const 7 + i32.and + i32.eqz + br_if $break|3 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + unreachable + end + block $break|4 + loop $continue|4 + local.get $3 + i32.const 8 + i32.ge_u + i32.eqz + br_if $break|4 + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + local.get $3 + i32.add + local.get $4 + local.get $3 + i32.add + i64.load + i64.store + br $continue|4 + end + unreachable + end + end + block $break|5 + loop $continue|5 + local.get $3 + i32.eqz + br_if $break|5 + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + unreachable + end + end + end + ) + (func $~lib/rt/tlsf/__free (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.ne + if (result i32) + local.get $0 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/pure/growRoots (; 12 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/rt/pure/ROOTS + local.set $0 + global.get $~lib/rt/pure/CUR + local.get $0 + i32.sub + local.set $1 + local.get $1 + i32.const 2 + i32.mul + local.tee $2 + i32.const 64 + i32.const 2 + i32.shl + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + local.set $4 + local.get $4 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $5 + local.get $5 + local.get $0 + local.get $1 + call $~lib/memory/memory.copy + local.get $0 + if + local.get $0 + call $~lib/rt/tlsf/__free + end + local.get $5 + global.set $~lib/rt/pure/ROOTS + local.get $5 + local.get $1 + i32.add + global.set $~lib/rt/pure/CUR + local.get $5 + local.get $4 + i32.add + global.set $~lib/rt/pure/END + ) + (func $~lib/rt/pure/appendRoot (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + global.get $~lib/rt/pure/CUR + local.set $1 + local.get $1 + global.get $~lib/rt/pure/END + i32.ge_u + if + call $~lib/rt/pure/growRoots + global.get $~lib/rt/pure/CUR + local.set $1 end - local.get $2 + local.get $1 + local.get $0 + i32.store + local.get $1 i32.const 4 + i32.add + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.and + local.set $2 + local.get $0 + i32.load + i32.const 1 i32.and + i32.eqz + i32.eqz if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable end local.get $2 - i32.const 2 - i32.and + i32.const 1 + i32.eq if local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 + i32.const 16 i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 i32.const 1 - i32.add - local.set $0 - local.get $5 + call $~lib/rt/__visit_members local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const -2147483648 + i32.and + i32.eqz + if + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + else + local.get $0 + i32.const -2147483648 + i32.const 0 + i32.or + i32.const 0 + i32.or + i32.store offset=4 + end + else + local.get $2 + i32.const 0 + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.and + i32.eqz + if + local.get $0 + i32.const -2147483648 + i32.const 805306368 + i32.or + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + else + local.get $0 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + end end - local.get $2 - i32.const 1 - i32.and + ) + (func $~lib/rt/pure/__release (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u if local.get $0 - local.tee $5 - i32.const 1 - i32.add + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end + end + ) + (func $~lib/error/Error#constructor (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 end + local.get $0 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/rt/tlsf/prepareSize (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.const 16 + local.tee $2 + local.get $1 + local.get $2 + i32.gt_u + select ) - (func $~lib/memory/memory.copy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/searchBlock (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.set $5 + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $1 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $2 local.get $1 - local.set $4 - local.get $2 + i32.const 4 + i32.shr_u local.set $3 - local.get $5 - local.get $4 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $4 - local.get $3 - i32.add - local.get $5 - i32.le_u + else + local.get $1 + i32.const 536870904 + i32.lt_u if (result i32) + local.get $1 i32.const 1 - else - local.get $5 - local.get $3 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl i32.add - local.get $4 - i32.le_u - end - if - local.get $5 - local.get $4 - local.get $3 - call $~lib/util/memory/memcpy - br $~lib/util/memory/memmove|inlined.0 - end - local.get $5 - local.get $4 - i32.lt_u - if - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - block $break|0 - loop $continue|0 - local.get $5 - i32.const 7 - i32.and - i32.eqz - br_if $break|0 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $3 - i32.const 1 - i32.sub - local.set $3 - local.get $5 - local.tee $6 - i32.const 1 - i32.add - local.set $5 - local.get $6 - local.get $4 - local.tee $6 - i32.const 1 - i32.add - local.set $4 - local.get $6 - i32.load8_u - i32.store8 - br $continue|0 - end - unreachable - end - block $break|1 - loop $continue|1 - local.get $3 - i32.const 8 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $5 - local.get $4 - i64.load - i64.store - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - i32.const 8 - i32.add - local.set $5 - local.get $4 - i32.const 8 - i32.add - local.set $4 - br $continue|1 - end - unreachable - end - end - block $break|2 - loop $continue|2 - local.get $3 - i32.eqz - br_if $break|2 - local.get $5 - local.tee $6 - i32.const 1 - i32.add - local.set $5 - local.get $6 - local.get $4 - local.tee $6 - i32.const 1 - i32.add - local.set $4 - local.get $6 - i32.load8_u - i32.store8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $continue|2 - end - unreachable - end + i32.const 1 + i32.sub else - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $5 - local.get $3 - i32.add - i32.const 7 - i32.and - i32.eqz - br_if $break|3 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - unreachable - end - block $break|4 - loop $continue|4 - local.get $3 - i32.const 8 - i32.ge_u - i32.eqz - br_if $break|4 - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - local.get $3 - i32.add - local.get $4 - local.get $3 - i32.add - i64.load - i64.store - br $continue|4 - end - unreachable - end - end - block $break|5 - loop $continue|5 - local.get $3 - i32.eqz - br_if $break|5 - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - unreachable - end + local.get $1 end + local.set $4 + i32.const 31 + local.get $4 + i32.clz + i32.sub + local.set $2 + local.get $4 + local.get $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $3 + local.get $2 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $2 + end + local.get $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $3 + i32.const 16 + i32.lt_u + else + i32.const 0 end - ) - (func $~lib/rt/tlsf/__free (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT i32.eqz if i32.const 0 i32.const 24 - i32.const 561 + i32.const 337 i32.const 13 call $~lib/builtins/abort unreachable end local.get $0 + local.set $5 + local.get $2 + local.set $4 + local.get $5 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 i32.const 0 - i32.ne - if (result i32) + i32.const -1 + i32.xor + local.get $3 + i32.shl + i32.and + local.set $6 + i32.const 0 + local.set $7 + local.get $6 + i32.eqz + if local.get $0 - i32.const 15 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $2 + i32.const 1 + i32.add + i32.shl i32.and + local.set $5 + local.get $5 i32.eqz + if + i32.const 0 + local.set $7 + else + local.get $5 + i32.ctz + local.set $2 + local.get $0 + local.set $8 + local.get $2 + local.set $4 + local.get $8 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $6 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 562 + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add i32.const 2 - call $~lib/builtins/abort - unreachable + i32.shl + i32.add + i32.load offset=96 + local.set $7 end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/tlsf/freeBlock + local.get $7 ) - (func $~lib/rt/pure/growRoots (; 18 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/growMemory (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - global.get $~lib/rt/pure/ROOTS - local.set $0 - global.get $~lib/rt/pure/CUR - local.get $0 - i32.sub - local.set $1 + (local $6 i32) + (local $7 i32) + memory.size + local.set $2 local.get $1 - i32.const 2 - i32.mul - local.tee $2 - i32.const 64 - i32.const 2 - i32.shl - local.tee $3 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 local.get $2 + local.tee $4 local.get $3 - i32.gt_u - select - local.set $4 + local.tee $5 local.get $4 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $5 - local.get $5 - local.get $0 - local.get $1 - call $~lib/memory/memory.copy - local.get $0 - if - local.get $0 - call $~lib/rt/tlsf/__free - end local.get $5 - global.set $~lib/rt/pure/ROOTS - local.get $5 - local.get $1 - i32.add - global.set $~lib/rt/pure/CUR - local.get $5 - local.get $4 - i32.add - global.set $~lib/rt/pure/END - ) - (func $~lib/rt/pure/appendRoot (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - global.get $~lib/rt/pure/CUR - local.set $1 - local.get $1 - global.get $~lib/rt/pure/END - i32.ge_u + i32.gt_s + select + local.set $6 + local.get $6 + memory.grow + i32.const 0 + i32.lt_s if - call $~lib/rt/pure/growRoots - global.get $~lib/rt/pure/CUR - local.set $1 + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end end - local.get $1 + memory.size + local.set $7 local.get $0 - i32.store - local.get $1 - i32.const 4 - i32.add - global.set $~lib/rt/pure/CUR + local.get $2 + i32.const 16 + i32.shl + local.get $7 + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop ) - (func $~lib/rt/pure/decrement (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 + (func $~lib/rt/tlsf/prepareBlock (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $1 - i32.const 268435455 - i32.and - local.set $2 - local.get $0 i32.load - i32.const 1 + local.set $3 + local.get $2 + i32.const 15 i32.and i32.eqz i32.eqz if i32.const 0 - i32.const 128 - i32.const 115 + i32.const 24 + i32.const 364 i32.const 13 call $~lib/builtins/abort unreachable end + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and local.get $2 - i32.const 1 - i32.eq + i32.sub + local.set $4 + local.get $4 + i32.const 32 + i32.ge_u if - local.get $0 + local.get $1 + local.get $2 + local.get $3 + i32.const 2 + i32.and + i32.or + i32.store + local.get $1 i32.const 16 i32.add + local.get $2 + i32.add + local.set $5 + local.get $5 + local.get $4 + i32.const 16 + i32.sub i32.const 1 - call $~lib/rt/__visit_members + i32.or + i32.store + local.get $0 + local.get $5 + call $~lib/rt/tlsf/insertBlock + else local.get $1 - i32.const -2147483648 + local.get $3 + i32.const 1 + i32.const -1 + i32.xor i32.and - i32.eqz - if - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - else - local.get $0 - i32.const -2147483648 - i32.const 0 - i32.or - i32.const 0 - i32.or - i32.store offset=4 - end - else - local.get $2 + i32.store + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + i32.load + i32.const 2 + i32.const -1 + i32.xor + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $2 + global.get $~lib/error + if i32.const 0 - i32.gt_u + return + end + local.get $2 + local.set $3 + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if i32.const 0 - i32.const 128 - i32.const 124 + i32.const 24 + i32.const 477 i32.const 15 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo - i32.const 16 - i32.and - i32.eqz - if - local.get $0 - i32.const -2147483648 - i32.const 805306368 - i32.or - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - if - local.get $0 - call $~lib/rt/pure/appendRoot - end - else - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end end + local.get $4 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $3 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 0 + i32.store offset=4 + local.get $4 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $4 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $4 ) - (func $~lib/rt/pure/__release (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__alloc (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/tlsf/ROOT + local.set $2 + local.get $2 + i32.eqz + if + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + local.set $2 + end + local.get $2 local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u + call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + i32.const 0 + return end + local.get $3 + local.set $4 + local.get $4 + local.get $1 + i32.store offset=8 + local.get $4 + i32.const 16 + i32.add ) - (func $~lib/rt/pure/markGray (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2942,7 +2999,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -2959,7 +3016,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2996,7 +3053,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3034,7 +3091,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__collect (; 26 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/__collect (; 27 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -3177,33 +3234,33 @@ local.get $0 global.set $~lib/rt/pure/CUR ) - (func $rc/rereturn/Ref#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $rc/rereturn/Ref#constructor (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 end local.get $0 ) - (func $rc/rereturn/getRef (; 28 ;) (type $FUNCSIG$i) (result i32) + (func $rc/rereturn/getRef (; 29 ;) (type $FUNCSIG$i) (result i32) i32.const 0 call $rc/rereturn/Ref#constructor ) - (func $rc/rereturn/rereturnRef (; 29 ;) (type $FUNCSIG$i) (result i32) + (func $rc/rereturn/rereturnRef (; 30 ;) (type $FUNCSIG$i) (result i32) call $rc/rereturn/getRef ) - (func $start:rc/rereturn (; 30 ;) (type $FUNCSIG$v) + (func $start:rc/rereturn (; 31 ;) (type $FUNCSIG$v) call $rc/rereturn/rereturnRef call $~lib/rt/pure/__release ) - (func $start (; 31 ;) (type $FUNCSIG$v) + (func $start (; 32 ;) (type $FUNCSIG$v) call $start:rc/rereturn ) - (func $~lib/rt/pure/__visit (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3249,6 +3306,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -3260,7 +3321,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -3299,7 +3360,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -3329,7 +3390,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -3337,16 +3398,27 @@ end end ) - (func $~lib/rt/__visit_members (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$default + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$2 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -3358,10 +3430,26 @@ local.get $1 call $~lib/rt/pure/__visit end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end return end unreachable ) - (func $null (; 34 ;) (type $FUNCSIG$v) + (func $null (; 35 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/rc/ternary-mismatch.optimized.wat b/tests/compiler/rc/ternary-mismatch.optimized.wat index a4786c34f8..efa3bc9353 100644 --- a/tests/compiler/rc/ternary-mismatch.optimized.wat +++ b/tests/compiler/rc/ternary-mismatch.optimized.wat @@ -4,26 +4,30 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 160) "$\00\00\00\01\00\00\00\01\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 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 256) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 140) "\01\00\00\00\01") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\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 208) "(\00\00\00\01\00\00\00\01\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 264) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (data (i32.const 312) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00r\00c\00/\00t\00e\00r\00n\00a\00r\00y\00-\00m\00i\00s\00m\00a\00t\00c\00h\00.\00t\00s") + (data (i32.const 376) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $rc/ternary-mismatch/gloRef (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) + (global $rc/ternary-mismatch/gloRef (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "test1" (func $rc/ternary-mismatch/test1)) (export "test2" (func $rc/ternary-mismatch/test2)) @@ -613,10 +617,10 @@ if unreachable end - i32.const 304 + i32.const 432 i32.const 0 i32.store - i32.const 1872 + i32.const 2000 i32.const 0 i32.store i32.const 0 @@ -630,7 +634,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 304 + i32.const 432 i32.add i32.const 0 i32.store offset=4 @@ -649,7 +653,7 @@ i32.add i32.const 2 i32.shl - i32.const 304 + i32.const 432 i32.add i32.const 0 i32.store offset=96 @@ -667,482 +671,120 @@ br $loop|0 end end - i32.const 304 - i32.const 1888 + i32.const 432 + i32.const 2016 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 304 + i32.const 432 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const -16 + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $0 - i32.const 16 + if + i32.const 0 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 16 + i32.const 420 i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - local.get $1 - i32.const 4 - i32.shr_u - local.set $1 - i32.const 0 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - local.get $1 - i32.add - i32.const 1 - i32.sub - local.set $1 - end - local.get $1 - i32.const 31 - local.get $1 - i32.clz - i32.sub - local.tee $2 - i32.const 4 - i32.sub - i32.shr_u + if + local.get $0 i32.const 16 - i32.xor - local.set $1 - local.get $2 - i32.const 7 i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load local.tee $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $1 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz + i32.const 1 + i32.and if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - i32.const 2 - i32.shl + i32.const 1 + i32.or + i32.store local.get $0 - i32.add - i32.load offset=4 - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.get $2 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -1 - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - memory.size - local.tee $2 local.get $1 - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.tee $1 - local.get $2 + call $~lib/rt/tlsf/insertBlock local.get $1 - i32.gt_s - select - memory.grow - i32.const 0 - i32.lt_s + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 376 + i32.load + i32.gt_u if - local.get $1 - memory.grow + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error i32.const 0 - i32.lt_s - if - unreachable - end + return end local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 + i32.const 3 i32.shl - call $~lib/rt/tlsf/addMemory + i32.const 380 + i32.add + i32.load ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $4 - i32.const 32 - i32.ge_u - if - local.get $1 - local.get $3 - i32.const 2 - i32.and + block $~lib/util/memory/memmove|inlined.0 local.get $2 - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $2 - i32.add - local.tee $1 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const -2 - i32.and - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.tee $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - local.get $0 - local.get $3 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - i32.load - i32.const -4 - i32.and - local.get $3 - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $2 - local.get $3 - call $~lib/rt/tlsf/prepareBlock - local.get $2 - call $~lib/rt/rtrace/onalloc - local.get $2 - ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/rt/tlsf/ROOT - local.tee $2 - if (result i32) - local.get $2 - else - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - end - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.tee $0 - local.get $1 - i32.store offset=8 - local.get $0 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 292 - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $rc/ternary-mismatch/Ref#constructor (; 17 ;) (type $FUNCSIG$i) (result i32) - i32.const 0 - i32.const 3 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - ) - (func $rc/ternary-mismatch/test1 (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - if (result i32) - call $rc/ternary-mismatch/Ref#constructor - else - global.get $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__retain - end - ) - (func $~lib/rt/tlsf/freeBlock (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 256 - i32.load - i32.gt_u - if - i32.const 176 - i32.const 232 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.shl - i32.const 260 - i32.add - i32.load - ) - (func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $2 - local.set $3 - local.get $0 + local.set $3 + local.get $0 local.get $1 i32.eq br_if $~lib/util/memory/memmove|inlined.0 @@ -1311,7 +953,7 @@ end end ) - (func $~lib/rt/tlsf/__free (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -1344,7 +986,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 23 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 15 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1393,7 +1035,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.tee $1 @@ -1412,9 +1054,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1429,7 +1072,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -1462,7 +1105,7 @@ i32.le_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -1471,6 +1114,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1502,9 +1149,9 @@ end end ) - (func $~lib/rt/pure/__release (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 292 + i32.const 420 i32.gt_u if local.get $0 @@ -1513,43 +1160,450 @@ call $~lib/rt/pure/decrement end ) - (func $rc/ternary-mismatch/test2 (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - if (result i32) - global.get $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__retain - else - call $rc/ternary-mismatch/Ref#constructor - end - ) - (func $start:rc/ternary-mismatch (; 28 ;) (type $FUNCSIG$v) - call $rc/ternary-mismatch/Ref#constructor - global.set $rc/ternary-mismatch/gloRef - i32.const 1 - call $rc/ternary-mismatch/test1 - call $~lib/rt/pure/__release - i32.const 0 - call $rc/ternary-mismatch/test1 - call $~lib/rt/pure/__release - i32.const 1 - call $rc/ternary-mismatch/test2 - call $~lib/rt/pure/__release - i32.const 0 - call $rc/ternary-mismatch/test2 - call $~lib/rt/pure/__release - global.get $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__release - ) - (func $start (; 29 ;) (type $FUNCSIG$v) - call $start:rc/ternary-mismatch - ) - (func $~lib/rt/pure/markGray (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/error/Error#constructor (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.load offset=4 - local.tee $1 - i32.const 1879048192 - i32.and + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $1 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/rt/tlsf/prepareSize (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const -16 + i32.and + local.tee $0 + i32.const 16 + local.get $0 + i32.const 16 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + local.set $1 + i32.const 0 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + local.get $1 + i32.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $1 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $1 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + i32.const -1 + local.get $1 + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.tee $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.ctz + local.get $1 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + i32.const 0 + end + end + ) + (func $~lib/rt/tlsf/growMemory (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + memory.size + local.tee $2 + local.get $1 + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $1 + local.get $2 + local.get $1 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $1 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + local.get $0 + local.get $2 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + ) + (func $~lib/rt/tlsf/prepareBlock (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 364 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.get $2 + i32.sub + local.tee $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $3 + i32.const 2 + i32.and + local.get $2 + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + local.tee $1 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const -2 + i32.and + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + i32.load + i32.const -3 + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.load + i32.const -4 + i32.and + local.get $3 + i32.lt_u + if + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $2 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $2 + call $~lib/rt/rtrace/onalloc + local.get $2 + ) + (func $~lib/rt/tlsf/__alloc (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/rt/tlsf/ROOT + local.tee $2 + if (result i32) + local.get $2 + else + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + end + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + i32.const 16 + i32.add + ) + (func $rc/ternary-mismatch/Ref#constructor (; 26 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + ) + (func $rc/ternary-mismatch/test1 (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + if (result i32) + call $rc/ternary-mismatch/Ref#constructor + else + global.get $rc/ternary-mismatch/gloRef + call $~lib/rt/pure/__retain + end + ) + (func $rc/ternary-mismatch/test2 (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + if (result i32) + global.get $rc/ternary-mismatch/gloRef + call $~lib/rt/pure/__retain + else + call $rc/ternary-mismatch/Ref#constructor + end + ) + (func $start:rc/ternary-mismatch (; 29 ;) (type $FUNCSIG$v) + call $rc/ternary-mismatch/Ref#constructor + global.set $rc/ternary-mismatch/gloRef + i32.const 1 + call $rc/ternary-mismatch/test1 + call $~lib/rt/pure/__release + i32.const 0 + call $rc/ternary-mismatch/test1 + call $~lib/rt/pure/__release + i32.const 1 + call $rc/ternary-mismatch/test2 + call $~lib/rt/pure/__release + i32.const 0 + call $rc/ternary-mismatch/test2 + call $~lib/rt/pure/__release + global.get $rc/ternary-mismatch/gloRef + call $~lib/rt/pure/__release + global.get $~lib/error + i32.eqz + if + return + end + i32.const 280 + i32.const 328 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 30 ;) (type $FUNCSIG$v) + call $start:rc/ternary-mismatch + ) + (func $~lib/rt/pure/markGray (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const 1879048192 + i32.and i32.const 268435456 i32.ne if @@ -1567,7 +1621,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -1580,7 +1634,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1614,7 +1668,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1647,9 +1701,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 292 + i32.const 420 i32.lt_u if return @@ -1682,6 +1736,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -1692,7 +1750,7 @@ i32.le_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -1725,7 +1783,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -1750,27 +1808,55 @@ br $break|0 end i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/rt/__visit_members (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$case$6 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 local.tee $0 if local.get $0 @@ -1781,7 +1867,7 @@ end unreachable ) - (func $null (; 36 ;) (type $FUNCSIG$v) + (func $null (; 37 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/rc/ternary-mismatch.untouched.wat b/tests/compiler/rc/ternary-mismatch.untouched.wat index ac38554466..32c2f77e85 100644 --- a/tests/compiler/rc/ternary-mismatch.untouched.wat +++ b/tests/compiler/rc/ternary-mismatch.untouched.wat @@ -5,31 +5,35 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 160) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 256) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 136) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 208) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 264) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") + (data (i32.const 312) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00r\00c\00/\00t\00e\00r\00n\00a\00r\00y\00-\00m\00i\00s\00m\00a\00t\00c\00h\00.\00t\00s\00") + (data (i32.const 376) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $rc/ternary-mismatch/gloRef (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 256)) - (global $~lib/heap/__heap_base i32 (i32.const 292)) + (global $rc/ternary-mismatch/gloRef (mut i32) (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 376)) + (global $~lib/heap/__heap_base i32 (i32.const 420)) (export "memory" (memory $0)) (export "test1" (func $rc/ternary-mismatch/test1)) (export "test2" (func $rc/ternary-mismatch/test2)) @@ -887,748 +891,275 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - (local $2 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const 15 - i32.const -1 - i32.xor + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $1 - i32.const 16 - local.tee $2 - local.get $1 - local.get $2 - i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (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 $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u + i32.eqz + i32.eqz if i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable end - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 + ) + (func $~lib/rt/pure/__retain (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 i32.const 16 - i32.lt_u - else - i32.const 0 + i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz i32.eqz if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $5 + local.get $1 local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u if - local.get $0 - i32.load i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $break|0 + loop $continue|0 local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - local.get $6 - i32.eqz - if + if (result i32) + local.get $1 + i32.const 3 + i32.and + else i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable end + i32.eqz + br_if $break|0 local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl + local.tee $5 + i32.const 1 i32.add - i32.load offset=96 - local.set $7 + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 + unreachable end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - memory.size - local.set $2 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor + local.get $0 + i32.const 3 i32.and - i32.const 16 - i32.shr_u - local.set $3 - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow i32.const 0 - i32.lt_s + i32.eq if - local.get $3 - memory.grow - i32.const 0 - i32.lt_s - if + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|1 + end unreachable end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 32 - i32.ge_u - if - local.get $1 local.get $2 - local.get $3 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 i32.const 2 i32.and - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const 1 - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - i32.load - i32.const 2 - i32.const -1 - i32.xor - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - local.get $3 - call $~lib/rt/rtrace/onalloc - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/rt/tlsf/ROOT - local.set $2 - local.get $2 - i32.eqz - if - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - local.set $2 - end - local.get $2 - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $rc/ternary-mismatch/Ref#constructor (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 3 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - ) - (func $rc/ternary-mismatch/getRef (; 18 ;) (type $FUNCSIG$i) (result i32) - i32.const 0 - call $rc/ternary-mismatch/Ref#constructor - ) - (func $rc/ternary-mismatch/test1 (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - if (result i32) - call $rc/ternary-mismatch/getRef - else - global.get $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__retain - end - ) - (func $~lib/rt/tlsf/freeBlock (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.set $2 - local.get $2 - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 176 - i32.const 232 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/util/memory/memcpy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $break|0 - loop $continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - i32.eqz - br_if $break|0 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $continue|0 - end - unreachable - end - local.get $0 - i32.const 3 - i32.and - i32.const 0 - i32.eq - if - block $break|1 - loop $continue|1 - local.get $2 - i32.const 16 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.const 8 - i32.add - i32.load - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $continue|1 - end - unreachable - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.const 4 - i32.add - local.set $1 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.get $1 - i32.load16_u - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - end + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end local.get $2 i32.const 1 i32.and @@ -2503,7 +2034,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2728,237 +2259,765 @@ end end ) - (func $~lib/rt/tlsf/__free (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz + (func $~lib/rt/tlsf/__free (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.ne + if (result i32) + local.get $0 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/pure/growRoots (; 16 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/rt/pure/ROOTS + local.set $0 + global.get $~lib/rt/pure/CUR + local.get $0 + i32.sub + local.set $1 + local.get $1 + i32.const 2 + i32.mul + local.tee $2 + i32.const 64 + i32.const 2 + i32.shl + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + local.set $4 + local.get $4 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $5 + local.get $5 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onfree + local.get $5 + local.get $0 + local.get $1 + call $~lib/memory/memory.copy + local.get $0 + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onalloc + local.get $0 + call $~lib/rt/tlsf/__free + end + local.get $5 + global.set $~lib/rt/pure/ROOTS + local.get $5 + local.get $1 + i32.add + global.set $~lib/rt/pure/CUR + local.get $5 + local.get $4 + i32.add + global.set $~lib/rt/pure/END + ) + (func $~lib/rt/pure/appendRoot (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + global.get $~lib/rt/pure/CUR + local.set $1 + local.get $1 + global.get $~lib/rt/pure/END + i32.ge_u + if + call $~lib/rt/pure/growRoots + global.get $~lib/rt/pure/CUR + local.set $1 + end + local.get $1 + local.get $0 + i32.store + local.get $1 + i32.const 4 + i32.add + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.and + local.set $2 + local.get $0 + call $~lib/rt/rtrace/ondecrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 16 + i32.add + i32.const 1 + call $~lib/rt/__visit_members + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + else + local.get $0 + i32.const -2147483648 + i32.const 0 + i32.or + i32.const 0 + i32.or + i32.store offset=4 + end + else + local.get $2 + i32.const 0 + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.and + i32.eqz + if + local.get $0 + i32.const -2147483648 + i32.const 805306368 + i32.or + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + else + local.get $0 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + end + end + ) + (func $~lib/rt/pure/__release (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end + end + ) + (func $~lib/error/Error#constructor (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/rt/tlsf/prepareSize (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.const 16 + local.tee $2 + local.get $1 + local.get $2 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 22 ;) (type $FUNCSIG$iii) (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 $8 i32) + (local $9 i32) + local.get $1 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $2 + local.get $1 + i32.const 4 + i32.shr_u + local.set $3 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $1 + end + local.set $4 + i32.const 31 + local.get $4 + i32.clz + i32.sub + local.set $2 + local.get $4 + local.get $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $3 + local.get $2 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $2 + end + local.get $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $3 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $5 + local.get $2 + local.set $4 + local.get $5 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 0 + i32.const -1 + i32.xor + local.get $3 + i32.shl + i32.and + local.set $6 + i32.const 0 + local.set $7 + local.get $6 + i32.eqz + if + local.get $0 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.set $5 + local.get $5 + i32.eqz + if + i32.const 0 + local.set $7 + else + local.get $5 + i32.ctz + local.set $2 + local.get $0 + local.set $8 + local.get $2 + local.set $4 + local.get $8 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $6 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + else + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + local.get $7 + ) + (func $~lib/rt/tlsf/growMemory (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + memory.size + local.set $2 + local.get $1 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $6 + local.get $6 + memory.grow + i32.const 0 + i32.lt_s if + local.get $3 + memory.grow i32.const 0 - i32.const 24 - i32.const 561 - i32.const 13 - call $~lib/builtins/abort - unreachable + i32.lt_s + if + unreachable + end end + memory.size + local.set $7 local.get $0 - i32.const 0 - i32.ne - if (result i32) - local.get $0 - i32.const 15 - i32.and - i32.eqz - else - i32.const 0 - end + local.get $2 + i32.const 16 + i32.shl + local.get $7 + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + i32.eqz i32.eqz if i32.const 0 i32.const 24 - i32.const 562 - i32.const 2 + i32.const 364 + i32.const 13 call $~lib/builtins/abort unreachable end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - i32.const 16 + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $2 i32.sub - call $~lib/rt/tlsf/freeBlock + local.set $4 + local.get $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $2 + local.get $3 + i32.const 2 + i32.and + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + local.set $5 + local.get $5 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $5 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const 1 + i32.const -1 + i32.xor + i32.and + i32.store + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + i32.load + i32.const 2 + i32.const -1 + i32.xor + i32.and + i32.store + end ) - (func $~lib/rt/pure/growRoots (; 25 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/allocateBlock (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - global.get $~lib/rt/pure/ROOTS - local.set $0 - global.get $~lib/rt/pure/CUR - local.get $0 - i32.sub - local.set $1 local.get $1 - i32.const 2 - i32.mul - local.tee $2 - i32.const 64 - i32.const 2 - i32.shl - local.tee $3 + call $~lib/rt/tlsf/prepareSize + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 + local.set $3 + local.get $0 local.get $3 - i32.gt_u - select + call $~lib/rt/tlsf/searchBlock local.set $4 local.get $4 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $5 - local.get $5 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onfree - local.get $5 - local.get $0 - local.get $1 - call $~lib/memory/memory.copy - local.get $0 + i32.eqz if local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onalloc + local.get $3 + call $~lib/rt/tlsf/growMemory local.get $0 - call $~lib/rt/tlsf/__free + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end end - local.get $5 - global.set $~lib/rt/pure/ROOTS - local.get $5 - local.get $1 - i32.add - global.set $~lib/rt/pure/CUR - local.get $5 local.get $4 - i32.add - global.set $~lib/rt/pure/END - ) - (func $~lib/rt/pure/appendRoot (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - global.get $~lib/rt/pure/CUR - local.set $1 - local.get $1 - global.get $~lib/rt/pure/END + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $3 i32.ge_u + i32.eqz if - call $~lib/rt/pure/growRoots - global.get $~lib/rt/pure/CUR - local.set $1 + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable end + local.get $4 + i32.const 0 + i32.store offset=4 + local.get $4 local.get $1 + i32.store offset=12 local.get $0 - i32.store - local.get $1 - i32.const 4 - i32.add - global.set $~lib/rt/pure/CUR + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $4 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $4 + call $~lib/rt/rtrace/onalloc + local.get $4 ) - (func $~lib/rt/pure/decrement (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/__alloc (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.and + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/tlsf/ROOT local.set $2 - local.get $0 - call $~lib/rt/rtrace/ondecrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz + local.get $2 i32.eqz if - i32.const 0 - i32.const 128 - i32.const 115 - i32.const 13 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + local.set $2 end local.get $2 - i32.const 1 - i32.eq + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error if - local.get $0 - i32.const 16 - i32.add - i32.const 1 - call $~lib/rt/__visit_members - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - if - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - else - local.get $0 - i32.const -2147483648 - i32.const 0 - i32.or - i32.const 0 - i32.or - i32.store offset=4 - end - else - local.get $2 i32.const 0 - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 124 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo - i32.const 16 - i32.and - i32.eqz - if - local.get $0 - i32.const -2147483648 - i32.const 805306368 - i32.or - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - if - local.get $0 - call $~lib/rt/pure/appendRoot - end - else - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end + return end + local.get $3 + local.set $4 + local.get $4 + local.get $1 + i32.store offset=8 + local.get $4 + i32.const 16 + i32.add ) - (func $~lib/rt/pure/__release (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $rc/ternary-mismatch/Ref#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u + i32.eqz if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + i32.const 0 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + ) + (func $rc/ternary-mismatch/getRef (; 28 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 + call $rc/ternary-mismatch/Ref#constructor + ) + (func $rc/ternary-mismatch/test1 (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + if (result i32) + call $rc/ternary-mismatch/getRef + else + global.get $rc/ternary-mismatch/gloRef + call $~lib/rt/pure/__retain end ) - (func $rc/ternary-mismatch/test2 (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $rc/ternary-mismatch/test2 (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 if (result i32) global.get $rc/ternary-mismatch/gloRef @@ -2967,29 +3026,42 @@ call $rc/ternary-mismatch/getRef end ) - (func $start:rc/ternary-mismatch (; 30 ;) (type $FUNCSIG$v) - i32.const 0 - call $rc/ternary-mismatch/Ref#constructor - global.set $rc/ternary-mismatch/gloRef - i32.const 1 - call $rc/ternary-mismatch/test1 - call $~lib/rt/pure/__release - i32.const 0 - call $rc/ternary-mismatch/test1 - call $~lib/rt/pure/__release + (func $start:rc/ternary-mismatch (; 31 ;) (type $FUNCSIG$v) + block $uncaughtError + i32.const 0 + call $rc/ternary-mismatch/Ref#constructor + global.set $rc/ternary-mismatch/gloRef + i32.const 1 + call $rc/ternary-mismatch/test1 + call $~lib/rt/pure/__release + i32.const 0 + call $rc/ternary-mismatch/test1 + call $~lib/rt/pure/__release + i32.const 1 + call $rc/ternary-mismatch/test2 + call $~lib/rt/pure/__release + i32.const 0 + call $rc/ternary-mismatch/test2 + call $~lib/rt/pure/__release + global.get $rc/ternary-mismatch/gloRef + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + return + end + i32.const 280 + i32.const 328 i32.const 1 - call $rc/ternary-mismatch/test2 - call $~lib/rt/pure/__release i32.const 0 - call $rc/ternary-mismatch/test2 - call $~lib/rt/pure/__release - global.get $rc/ternary-mismatch/gloRef - call $~lib/rt/pure/__release + call $~lib/builtins/abort + unreachable ) - (func $start (; 31 ;) (type $FUNCSIG$v) + (func $start (; 32 ;) (type $FUNCSIG$v) call $start:rc/ternary-mismatch ) - (func $~lib/rt/pure/markGray (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3016,7 +3088,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -3033,7 +3105,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3070,7 +3142,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3108,7 +3180,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3154,6 +3226,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -3165,7 +3241,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -3204,7 +3280,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -3234,7 +3310,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -3242,16 +3318,27 @@ end end ) - (func $~lib/rt/__visit_members (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$default + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$case$6 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -3263,10 +3350,26 @@ local.get $1 call $~lib/rt/pure/__visit end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end return end unreachable ) - (func $null (; 38 ;) (type $FUNCSIG$v) + (func $null (; 39 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/recursive.untouched.wat b/tests/compiler/recursive.untouched.wat index daf56987dc..ce377b301e 100644 --- a/tests/compiler/recursive.untouched.wat +++ b/tests/compiler/recursive.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "fib" (func $recursive/fib)) (func $recursive/fib (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) diff --git a/tests/compiler/reexport.untouched.wat b/tests/compiler/reexport.untouched.wat index 662fe579a4..fcb25f4b78 100644 --- a/tests/compiler/reexport.untouched.wat +++ b/tests/compiler/reexport.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) diff --git a/tests/compiler/rereexport.untouched.wat b/tests/compiler/rereexport.untouched.wat index 7f469d6e96..36c076c645 100644 --- a/tests/compiler/rereexport.untouched.wat +++ b/tests/compiler/rereexport.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) diff --git a/tests/compiler/resolve-nested.untouched.wat b/tests/compiler/resolve-nested.untouched.wat index 08e34bd69a..8fccbcd2e3 100644 --- a/tests/compiler/resolve-nested.untouched.wat +++ b/tests/compiler/resolve-nested.untouched.wat @@ -8,6 +8,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $resolve-nested/Outer.Inner.a (mut i32) (i32.const 0)) (global $resolve-nested/Outer.Inner.b (mut i32) (i32.const 0)) (global $resolve-nested/Outer.Inner.c (mut i32) (i32.const 0)) diff --git a/tests/compiler/retain-i32.untouched.wat b/tests/compiler/retain-i32.untouched.wat index fa6fcdc449..c411d70060 100644 --- a/tests/compiler/retain-i32.untouched.wat +++ b/tests/compiler/retain-i32.untouched.wat @@ -7,6 +7,7 @@ (data (i32.const 8) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/builtins/i8.MAX_VALUE i32 (i32.const 127)) (global $~lib/builtins/i8.MIN_VALUE i32 (i32.const -128)) (global $~lib/builtins/u8.MAX_VALUE i32 (i32.const 255)) diff --git a/tests/compiler/retain-release-sanity.optimized.wat b/tests/compiler/retain-release-sanity.optimized.wat index 55e4754d3e..d32d7785b5 100644 --- a/tests/compiler/retain-release-sanity.optimized.wat +++ b/tests/compiler/retain-release-sanity.optimized.wat @@ -1,41 +1,97 @@ (module (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (memory $0 1) - (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 56) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 160) "(\00\00\00\01\00\00\00\01\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 216) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\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 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 360) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 408) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y") - (data (i32.const 456) "^\00\00\00\01\00\00\00\01\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 572) "\01\00\00\00\01") - (data (i32.const 584) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a") - (data (i32.const 608) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b") - (data (i32.const 632) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l") - (data (i32.const 656) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00d") - (data (i32.const 680) "\08\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\93\04\00\00\02\00\00\00\93 \00\00\02\00\00\00\93 \00\00\02") + (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 104) "(\00\00\00\01\00\00\00\01\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 160) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 196) "\01\00\00\00\01") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\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 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 352) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y") + (data (i32.const 400) "^\00\00\00\01\00\00\00\01\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 512) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a") + (data (i32.const 536) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b") + (data (i32.const 560) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l") + (data (i32.const 584) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00d") + (data (i32.const 608) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (data (i32.const 656) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\00r\00e\00t\00a\00i\00n\00-\00r\00e\00l\00e\00a\00s\00e\00-\00s\00a\00n\00i\00t\00y\00.\00t\00s") + (data (i32.const 720) "\n\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\93\04\00\00\02\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\00\93 \00\00\02\00\00\00\93 \00\00\02") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) - (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 804 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -48,7 +104,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -70,7 +126,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -115,7 +171,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -201,7 +257,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -212,7 +268,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -226,7 +282,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -299,7 +355,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -356,7 +412,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -371,7 +427,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -421,7 +477,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -486,7 +542,7 @@ i32.or i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -507,7 +563,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -524,7 +580,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -552,7 +608,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -600,7 +656,7 @@ local.get $1 call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/tlsf/initializeRoot (; 8 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 10 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 1 @@ -620,10 +676,10 @@ if unreachable end - i32.const 752 + i32.const 816 i32.const 0 i32.store - i32.const 2320 + i32.const 2384 i32.const 0 i32.store i32.const 0 @@ -637,7 +693,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 752 + i32.const 816 i32.add i32.const 0 i32.store offset=4 @@ -656,7 +712,7 @@ i32.add i32.const 2 i32.shl - i32.const 752 + i32.const 816 i32.add i32.const 0 i32.store offset=96 @@ -674,26 +730,26 @@ br $loop|0 end end - i32.const 752 - i32.const 2336 + i32.const 816 + i32.const 2400 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 752 + i32.const 816 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 176 - i32.const 128 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -707,7 +763,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 i32.const 256 @@ -764,7 +820,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -816,7 +872,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -838,7 +894,7 @@ end end ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) memory.size local.tee $2 @@ -875,7 +931,7 @@ i32.shl call $~lib/rt/tlsf/addMemory ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -886,7 +942,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -951,13 +1007,19 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 local.get $1 call $~lib/rt/tlsf/prepareSize - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz @@ -972,7 +1034,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 477 i32.const 15 call $~lib/builtins/abort @@ -987,7 +1049,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 479 i32.const 13 call $~lib/builtins/abort @@ -1010,7 +1072,7 @@ call $~lib/rt/rtrace/onalloc local.get $2 ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/rt/tlsf/ROOT local.tee $2 @@ -1022,65 +1084,18 @@ end local.get $0 call $~lib/rt/tlsf/allocateBlock - local.tee $0 - local.get $1 - i32.store offset=8 - local.get $0 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne + local.set $0 + global.get $~lib/error if i32.const 0 - i32.const 232 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end local.get $0 local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 232 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 748 - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end + i32.store offset=8 local.get $0 + i32.const 16 + i32.add ) (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) @@ -1091,7 +1106,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 531 i32.const 2 call $~lib/builtins/abort @@ -1110,21 +1125,21 @@ ) (func $~lib/rt/__typeinfo (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 680 + i32.const 720 i32.load i32.gt_u if - i32.const 280 - i32.const 336 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 3 i32.shl - i32.const 684 + i32.const 724 i32.add i32.load ) @@ -1308,7 +1323,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 561 i32.const 13 call $~lib/builtins/abort @@ -1324,7 +1339,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 562 i32.const 2 call $~lib/builtins/abort @@ -1357,7 +1372,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $0 + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 i32.const 16 i32.sub call $~lib/rt/rtrace/onfree @@ -1393,6 +1413,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -1407,6 +1431,7 @@ (func $~lib/rt/pure/decrement (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1421,7 +1446,7 @@ i32.and if i32.const 0 - i32.const 232 + i32.const 24 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -1454,7 +1479,7 @@ i32.le_u if i32.const 0 - i32.const 232 + i32.const 24 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -1463,6 +1488,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1496,7 +1525,7 @@ ) (func $~lib/rt/pure/__release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 748 + i32.const 804 i32.gt_u if local.get $0 @@ -1505,19 +1534,78 @@ call $~lib/rt/pure/decrement end ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/error/Error#constructor (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 176 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 208 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.get $0 + call $~lib/error/Error#constructor + local.tee $1 + local.get $1 + i32.load + local.tee $3 + i32.const 280 + i32.ne + if + i32.const 280 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release + end + i32.const 280 + i32.store + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 i32.const 268435452 i32.gt_u if - i32.const 24 - i32.const 72 - i32.const 14 - i32.const 56 - call $~lib/builtins/abort - unreachable + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 i32.const 2 @@ -1526,6 +1614,11 @@ i32.const 0 call $~lib/rt/tlsf/__alloc local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.eqz if @@ -1567,7 +1660,29 @@ i32.store offset=8 local.get $0 ) - (func $~lib/rt/tlsf/reallocateBlock (; 26 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#constructor (; 28 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + i32.const 16 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $0 + i32.const 3 + i32.store offset=12 + local.get $0 + ) + (func $~lib/rt/tlsf/reallocateBlock (; 29 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1575,6 +1690,11 @@ local.get $2 call $~lib/rt/tlsf/prepareSize local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 i32.load local.tee $4 @@ -1582,7 +1702,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 493 i32.const 13 call $~lib/builtins/abort @@ -1655,7 +1775,13 @@ local.get $0 local.get $2 call $~lib/rt/tlsf/allocateBlock - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.get $1 i32.load offset=4 i32.store offset=4 @@ -1681,12 +1807,12 @@ call $~lib/rt/tlsf/insertBlock local.get $3 ) - (func $~lib/rt/tlsf/__realloc (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 553 i32.const 13 call $~lib/builtins/abort @@ -1702,7 +1828,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 554 i32.const 2 call $~lib/builtins/abort @@ -1714,10 +1840,15 @@ i32.sub local.get $1 call $~lib/rt/tlsf/reallocateBlock - i32.const 16 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 16 i32.add ) - (func $~lib/memory/memory.fill (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -1926,7 +2057,7 @@ end end ) - (func $~lib/array/ensureSize (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureSize (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1942,12 +2073,10 @@ i32.const 268435452 i32.gt_u if - i32.const 24 - i32.const 376 - i32.const 14 - i32.const 47 - call $~lib/builtins/abort - unreachable + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load @@ -1957,7 +2086,12 @@ i32.shl local.tee $3 call $~lib/rt/tlsf/__realloc - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.get $2 i32.add local.get $3 @@ -1981,7 +2115,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#push (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/array/Array#push (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -1992,6 +2126,10 @@ i32.add local.tee $2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 i32.load offset=4 local.get $1 @@ -2004,7 +2142,7 @@ local.get $2 i32.store offset=12 ) - (func $~lib/array/Array#pop (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/array/Array#pop (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=12 @@ -2012,12 +2150,10 @@ i32.const 1 i32.lt_s if - i32.const 424 - i32.const 376 - i32.const 287 - i32.const 20 - call $~lib/builtins/abort - unreachable + i32.const 368 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -2034,10 +2170,54 @@ local.get $1 i32.store offset=12 ) - (func $~lib/array/Array<~lib/string/String>#push (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#constructor (; 35 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + i32.const 16 + i32.const 7 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $0 + ) + (func $~lib/array/Array<~lib/string/String>#constructor (; 36 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + i32.const 16 + i32.const 6 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $0 + ) + (func $~lib/array/Array<~lib/string/String>#push (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) - i32.const 584 + i32.const 208 call $~lib/rt/pure/__retain drop local.get $0 @@ -2048,22 +2228,26 @@ i32.add local.tee $2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.const 584 + i32.const 208 call $~lib/rt/pure/__retain i32.store local.get $0 local.get $2 i32.store offset=12 - i32.const 584 + i32.const 208 call $~lib/rt/pure/__release ) - (func $~lib/string/String#get:length (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -2071,7 +2255,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/string/String#concat (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2082,16 +2266,16 @@ i32.eqz if local.get $1 - i32.const 648 + i32.const 576 i32.ne if - i32.const 648 + i32.const 576 call $~lib/rt/pure/__retain drop local.get $1 call $~lib/rt/pure/__release end - i32.const 648 + i32.const 576 local.set $1 end local.get $0 @@ -2108,7 +2292,7 @@ local.tee $2 i32.eqz if - i32.const 584 + i32.const 208 call $~lib/rt/pure/__retain local.get $1 call $~lib/rt/pure/__release @@ -2117,6 +2301,11 @@ local.get $2 i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.tee $2 local.get $0 @@ -2132,7 +2321,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -2141,17 +2330,22 @@ call $~lib/rt/pure/__retain drop local.get $0 - i32.const 648 + i32.const 576 local.get $0 select local.get $1 call $~lib/string/String#concat + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/rt/pure/markGray (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2175,7 +2369,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -2188,7 +2382,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2222,7 +2416,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 39 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2255,7 +2449,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__collect (; 40 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/__collect (; 45 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -2379,223 +2573,219 @@ local.get $5 global.set $~lib/rt/pure/CUR ) - (func $start:retain-release-sanity (; 41 ;) (type $FUNCSIG$v) + (func $start:retain-release-sanity (; 46 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 16 - i32.const 3 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.const 0 - i32.store offset=12 - local.get $0 - i32.const 3 - i32.store offset=12 - local.get $0 - call $~lib/array/Array#push - local.get $0 - call $~lib/array/Array#push - local.get $0 - call $~lib/array/Array#pop - local.get $0 - call $~lib/rt/pure/__release - i32.const 16 - i32.const 5 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.const 0 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $0 - loop $loop|0 - local.get $3 - i32.const 10 - i32.lt_s - if - i32.const 16 - i32.const 4 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.const 0 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=12 - i32.const 0 - local.set $2 - loop $loop|1 - local.get $2 - i32.const 10 - i32.lt_s - if - local.get $0 - call $~lib/array/Array<~lib/string/String>#push + call $~lib/array/Array#constructor + local.set $0 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/array/Array#pop + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__release + call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#constructor + global.get $~lib/error + br_if $uncaughtError + loop $loop|0 + local.get $3 + i32.const 10 + i32.lt_s + if + call $~lib/array/Array<~lib/string/String>#constructor + local.set $0 + global.get $~lib/error + br_if $uncaughtError + i32.const 0 + local.set $2 + loop $loop|1 local.get $2 - i32.const 1 - i32.add - local.set $2 - br $loop|1 + i32.const 10 + i32.lt_s + if + local.get $0 + call $~lib/array/Array<~lib/string/String>#push + global.get $~lib/error + br_if $uncaughtError + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $loop|1 + end end + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $0 + call $~lib/rt/pure/__release + br $loop|0 end - local.get $3 - i32.const 1 - i32.add - local.set $3 - local.get $0 - call $~lib/rt/pure/__release - br $loop|0 end - end - call $~lib/rt/pure/__release - i32.const 600 - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 624 - call $~lib/string/String.__concat - local.tee $1 - call $~lib/rt/pure/__retain - local.tee $2 - i32.const 672 - call $~lib/string/String.__concat - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - call $~lib/rt/pure/__release - i32.const 4 - i32.const 6 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 0 - i32.store - local.get $0 - i32.const 4 - i32.const 7 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - i32.const 0 - i32.store - local.get $1 - local.set $2 - local.get $0 - i32.load - local.tee $4 - local.get $1 - i32.ne - if - local.get $2 - call $~lib/rt/pure/__retain - drop - local.get $4 call $~lib/rt/pure/__release - end - local.get $2 - i32.store - local.get $0 - i32.load - local.tee $2 - local.get $1 - i32.ne - if - local.get $1 + i32.const 528 call $~lib/rt/pure/__retain - drop - local.get $2 - call $~lib/rt/pure/__release - end - local.get $0 - local.get $1 - i32.store - local.get $1 - i32.load - local.tee $2 - local.get $0 - i32.ne - if + local.tee $1 + i32.const 552 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/error + br_if $uncaughtError local.get $0 call $~lib/rt/pure/__retain - drop - local.get $2 + local.tee $2 + i32.const 600 + call $~lib/string/String.__concat + global.get $~lib/error + br_if $uncaughtError + local.get $1 call $~lib/rt/pure/__release - end - local.get $1 - local.get $0 - i32.store - local.get $1 - i32.load - local.tee $2 - local.get $0 - i32.ne - if local.get $0 - call $~lib/rt/pure/__retain - drop - local.get $2 call $~lib/rt/pure/__release - end - local.get $1 - local.get $0 - i32.store - local.get $0 - i32.load - local.tee $2 - local.get $1 - i32.ne - if - local.get $1 - call $~lib/rt/pure/__retain - drop local.get $2 call $~lib/rt/pure/__release - end - local.get $0 - local.get $1 - i32.store - local.get $1 - i32.load - local.tee $2 - local.get $0 - i32.ne - if + call $~lib/rt/pure/__release + i32.const 4 + i32.const 8 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $0 + i32.const 0 + i32.store local.get $0 + i32.const 4 + i32.const 9 + call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain - drop + local.tee $1 + i32.const 0 + i32.store + local.get $1 + local.set $2 + local.get $0 + i32.load + local.tee $4 + local.get $1 + i32.ne + if + local.get $2 + call $~lib/rt/pure/__retain + drop + local.get $4 + call $~lib/rt/pure/__release + end local.get $2 + i32.store + local.get $0 + i32.load + local.tee $2 + local.get $1 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release + end + local.get $0 + local.get $1 + i32.store + local.get $1 + i32.load + local.tee $2 + local.get $0 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release + end + local.get $1 + local.get $0 + i32.store + local.get $1 + i32.load + local.tee $2 + local.get $0 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release + end + local.get $1 + local.get $0 + i32.store + local.get $0 + i32.load + local.tee $2 + local.get $1 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release + end + local.get $0 + local.get $1 + i32.store + local.get $1 + i32.load + local.tee $2 + local.get $0 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release + end + local.get $1 + local.get $0 + i32.store + local.get $0 + call $~lib/rt/pure/__release + local.get $1 call $~lib/rt/pure/__release + call $~lib/rt/pure/__collect + return end - local.get $1 - local.get $0 - i32.store - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - call $~lib/rt/pure/__collect + i32.const 624 + i32.const 672 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 42 ;) (type $FUNCSIG$v) + (func $start (; 47 ;) (type $FUNCSIG$v) call $start:retain-release-sanity ) - (func $~lib/rt/pure/__visit (; 43 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 748 + i32.const 804 i32.lt_u if return @@ -2628,6 +2818,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -2638,7 +2832,7 @@ i32.le_u if i32.const 0 - i32.const 232 + i32.const 24 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -2671,7 +2865,7 @@ i32.ne if i32.const 0 - i32.const 232 + i32.const 24 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -2696,14 +2890,14 @@ br $break|0 end i32.const 0 - i32.const 232 + i32.const 24 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2727,6 +2921,10 @@ local.get $3 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -2736,17 +2934,45 @@ end end ) - (func $~lib/rt/__visit_members (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$7 - block $switch$1$case$6 - block $switch$1$case$2 + block $switch$1$case$9 + block $switch$1$case$8 + block $switch$1$case$6 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $switch$1$case$6 $switch$1$case$6 $switch$1$case$8 $switch$1$case$9 $block$4$break $block$4$break $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $switch$1$case$6 $switch$1$case$7 $block$4$break $block$4$break $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -2771,7 +2997,7 @@ call $~lib/rt/pure/__visit end ) - (func $null (; 46 ;) (type $FUNCSIG$v) + (func $null (; 51 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/retain-release-sanity.untouched.wat b/tests/compiler/retain-release-sanity.untouched.wat index 42543afa83..ef5ef0584c 100644 --- a/tests/compiler/retain-release-sanity.untouched.wat +++ b/tests/compiler/retain-release-sanity.untouched.wat @@ -1,46 +1,109 @@ (module (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (memory $0 1) - (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 56) "&\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 160) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 216) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 360) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 408) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y\00") - (data (i32.const 456) "^\00\00\00\01\00\00\00\01\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") - (data (i32.const 568) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 584) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a\00") - (data (i32.const 608) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b\00") - (data (i32.const 632) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00") - (data (i32.const 656) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00d\00") - (data (i32.const 680) "\08\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\93\04\00\00\02\00\00\00\93 \00\00\02\00\00\00\93 \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 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 104) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 160) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 192) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 352) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y\00") + (data (i32.const 400) "^\00\00\00\01\00\00\00\01\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") + (data (i32.const 512) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a\00") + (data (i32.const 536) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b\00") + (data (i32.const 560) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00") + (data (i32.const 584) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00d\00") + (data (i32.const 608) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") + (data (i32.const 656) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\00r\00e\00t\00a\00i\00n\00-\00r\00e\00l\00e\00a\00s\00e\00-\00s\00a\00n\00i\00t\00y\00.\00t\00s\00") + (data (i32.const 720) "\n\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\93\04\00\00\02\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\00\93 \00\00\02\00\00\00\93 \00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 680)) - (global $~lib/heap/__heap_base i32 (i32.const 748)) + (global $~lib/rt/__rtti_base i32 (i32.const 720)) + (global $~lib/heap/__heap_base i32 (i32.const 804)) (export "memory" (memory $0)) (start $start) - (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -60,7 +123,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -85,7 +148,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -137,7 +200,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -250,7 +313,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -267,7 +330,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -282,7 +345,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -375,7 +438,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -438,7 +501,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -454,7 +517,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -511,7 +574,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -600,7 +663,7 @@ local.get $7 i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/addMemory (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -630,7 +693,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -653,7 +716,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -684,7 +747,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -748,7 +811,7 @@ call $~lib/rt/tlsf/insertBlock i32.const 1 ) - (func $~lib/rt/tlsf/initializeRoot (; 8 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 10 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -893,19 +956,19 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 176 - i32.const 128 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -922,7 +985,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -995,7 +1058,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -1058,7 +1121,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -1105,7 +1168,7 @@ end local.get $7 ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1158,7 +1221,7 @@ call $~lib/rt/tlsf/addMemory drop ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1172,7 +1235,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -1253,74 +1316,83 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $1 call $~lib/rt/tlsf/prepareSize local.set $2 - local.get $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 - call $~lib/rt/tlsf/searchBlock local.set $3 + local.get $0 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if local.get $0 - local.get $2 + local.get $3 call $~lib/rt/tlsf/growMemory local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 477 i32.const 15 call $~lib/builtins/abort unreachable end end - local.get $3 + local.get $4 i32.load i32.const 3 i32.const -1 i32.xor i32.and - local.get $2 + local.get $3 i32.ge_u i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 479 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 i32.const 0 i32.store offset=4 - local.get $3 + local.get $4 local.get $1 i32.store offset=12 local.get $0 - local.get $3 + local.get $4 call $~lib/rt/tlsf/removeBlock local.get $0 + local.get $4 local.get $3 - local.get $2 call $~lib/rt/tlsf/prepareBlock - local.get $3 + local.get $4 call $~lib/rt/rtrace/onalloc - local.get $3 + local.get $4 ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/tlsf/ROOT local.set $2 local.get $2 @@ -1334,73 +1406,19 @@ local.get $0 call $~lib/rt/tlsf/allocateBlock local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz + global.get $~lib/error if i32.const 0 - i32.const 232 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end - local.get $0 + local.get $3 + local.set $4 + local.get $4 local.get $1 - i32.const 1 + i32.store offset=8 + local.get $4 + i32.const 16 i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 232 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 ) (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) @@ -1414,7 +1432,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 531 i32.const 2 call $~lib/builtins/abort @@ -1440,12 +1458,12 @@ i32.load i32.gt_u if - i32.const 280 - i32.const 336 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 i32.const 4 @@ -2714,7 +2732,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 561 i32.const 13 call $~lib/builtins/abort @@ -2734,7 +2752,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 562 i32.const 2 call $~lib/builtins/abort @@ -2775,6 +2793,12 @@ local.get $4 i32.const 0 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $5 local.get $5 i32.const 16 @@ -2813,6 +2837,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -2827,6 +2855,7 @@ (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.set $1 @@ -2844,7 +2873,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -2883,7 +2912,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -2892,6 +2921,12 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 16 i32.and i32.eqz @@ -2912,6 +2947,10 @@ if local.get $0 call $~lib/rt/pure/appendRoot + global.get $~lib/error + if + return + end end else local.get $0 @@ -2937,76 +2976,155 @@ i32.const 16 i32.sub call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end end ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 26 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.const 1073741808 - local.get $2 - i32.shr_u - i32.gt_u - if - i32.const 24 - i32.const 72 - i32.const 14 - i32.const 56 - call $~lib/builtins/abort - unreachable - end + (func $~lib/error/Error#constructor (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $2 - i32.shl - local.tee $1 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $3 + call $~lib/rt/pure/__retain + drop local.get $0 i32.eqz if i32.const 12 - i32.const 2 + i32.const 4 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 end local.get $0 - i32.const 0 + i32.const 176 + call $~lib/rt/pure/__retain i32.store local.get $0 - i32.const 0 + i32.const 208 + call $~lib/rt/pure/__retain i32.store offset=4 local.get $0 - i32.const 0 + local.get $1 i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release local.get $0 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - i32.load - local.tee $4 - i32.ne - if - local.get $5 - call $~lib/rt/pure/__retain - drop - local.get $4 + ) + (func $~lib/error/RangeError#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 280 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $2 call $~lib/rt/pure/__release end - local.get $5 + local.get $3 + i32.store + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.const 1073741808 + local.get $2 + i32.shr_u + i32.gt_u + if + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + local.get $2 + i32.shl + local.tee $1 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $4 + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 2 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 0 i32.store local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + local.tee $3 + local.get $4 + local.tee $5 local.get $3 + i32.load + local.tee $3 + i32.ne + if + local.get $5 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release + end + local.get $5 + i32.store + local.get $0 + local.get $4 i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $0 ) - (func $~lib/array/Array#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 @@ -3019,6 +3137,13 @@ local.get $1 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 i32.const 0 @@ -3028,7 +3153,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/rt/tlsf/reallocateBlock (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 30 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3038,31 +3163,38 @@ local.get $2 call $~lib/rt/tlsf/prepareSize local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $4 local.get $1 i32.load - local.set $4 - local.get $4 + local.set $5 + local.get $5 i32.const 1 i32.and i32.eqz i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 493 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $3 local.get $4 + local.get $5 i32.const -4 i32.and i32.le_u if local.get $0 local.get $1 - local.get $3 + local.get $4 call $~lib/rt/tlsf/prepareBlock local.get $1 local.get $2 @@ -3071,11 +3203,11 @@ return end local.get $1 - local.set $5 - local.get $5 + local.set $3 + local.get $3 i32.const 16 i32.add - local.get $5 + local.get $3 i32.load i32.const 3 i32.const -1 @@ -3090,7 +3222,7 @@ i32.const 1 i32.and if - local.get $4 + local.get $5 i32.const 3 i32.const -1 i32.xor @@ -3103,19 +3235,19 @@ i32.xor i32.and i32.add - local.set $5 - local.get $5 + local.set $3 local.get $3 + local.get $4 i32.ge_u if local.get $0 local.get $6 call $~lib/rt/tlsf/removeBlock local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.and - local.get $5 + local.get $3 i32.or i32.store local.get $1 @@ -3123,7 +3255,7 @@ i32.store offset=12 local.get $0 local.get $1 - local.get $3 + local.get $4 call $~lib/rt/tlsf/prepareBlock local.get $1 return @@ -3132,6 +3264,13 @@ local.get $0 local.get $2 call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.set $8 local.get $8 local.get $1 @@ -3150,7 +3289,7 @@ local.get $2 call $~lib/memory/memory.copy local.get $1 - local.get $4 + local.get $5 i32.const 1 i32.or i32.store @@ -3159,12 +3298,13 @@ call $~lib/rt/tlsf/insertBlock local.get $8 ) - (func $~lib/rt/tlsf/__realloc (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 553 i32.const 13 call $~lib/builtins/abort @@ -3184,7 +3324,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 554 i32.const 2 call $~lib/builtins/abort @@ -3196,10 +3336,17 @@ i32.sub local.get $1 call $~lib/rt/tlsf/reallocateBlock + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 i32.const 16 i32.add ) - (func $~lib/memory/memory.fill (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 32 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3463,7 +3610,7 @@ end end ) - (func $~lib/array/ensureSize (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureSize (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3483,12 +3630,11 @@ i32.shr_u i32.gt_u if - i32.const 24 - i32.const 376 - i32.const 14 - i32.const 47 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load @@ -3501,6 +3647,12 @@ local.get $5 call $~lib/rt/tlsf/__realloc local.set $6 + global.get $~lib/error + if + return + end + local.get $6 + local.set $6 local.get $6 local.get $3 i32.add @@ -3526,7 +3678,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#push (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#push (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3540,6 +3692,11 @@ local.get $3 i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.load offset=4 local.get $2 @@ -3553,7 +3710,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array#pop (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#pop (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -3563,12 +3720,12 @@ i32.const 1 i32.lt_s if - i32.const 424 - i32.const 376 - i32.const 287 - i32.const 20 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 368 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -3586,69 +3743,85 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#constructor (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#constructor (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 16 - i32.const 5 + i32.const 7 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 i32.const 0 i32.store offset=12 local.get $1 if - i32.const 472 - i32.const 376 - i32.const 56 - i32.const 20 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 416 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 i32.store offset=12 local.get $0 ) - (func $~lib/array/Array<~lib/string/String>#constructor (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#constructor (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 16 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 i32.const 0 i32.store offset=12 local.get $1 if - i32.const 472 - i32.const 376 - i32.const 56 - i32.const 20 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 416 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 i32.store offset=12 local.get $0 ) - (func $~lib/array/Array<~lib/string/String>#push (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#push (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3666,6 +3839,11 @@ local.get $3 i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.load offset=4 local.get $2 @@ -3684,7 +3862,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/string/String#get:length (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -3692,7 +3870,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/string/String#concat (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3706,7 +3884,7 @@ i32.const 0 i32.eq if - i32.const 648 + i32.const 576 local.tee $2 local.get $1 local.tee $3 @@ -3739,7 +3917,7 @@ i32.const 0 i32.eq if - i32.const 584 + i32.const 208 call $~lib/rt/pure/__retain local.set $2 local.get $1 @@ -3750,6 +3928,13 @@ local.get $6 i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 call $~lib/rt/pure/__retain local.set $7 local.get $7 @@ -3768,7 +3953,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3777,7 +3962,7 @@ call $~lib/rt/pure/__retain drop local.get $0 - i32.const 648 + i32.const 576 local.get $0 i32.const 0 i32.ne @@ -3785,18 +3970,25 @@ local.get $1 call $~lib/string/String#concat local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $0 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release local.get $2 ) - (func $retain-release-sanity/A#constructor (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $retain-release-sanity/A#constructor (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 4 - i32.const 6 + i32.const 8 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -3806,12 +3998,12 @@ i32.store local.get $0 ) - (func $retain-release-sanity/B#constructor (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $retain-release-sanity/B#constructor (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 4 - i32.const 7 + i32.const 9 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -3821,7 +4013,7 @@ i32.store local.get $0 ) - (func $~lib/rt/pure/markGray (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3848,7 +4040,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -3865,7 +4057,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3902,7 +4094,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3940,7 +4132,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__collect (; 46 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/__collect (; 48 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -4083,221 +4275,285 @@ local.get $0 global.set $~lib/rt/pure/CUR ) - (func $start:retain-release-sanity (; 47 ;) (type $FUNCSIG$v) + (func $start:retain-release-sanity (; 49 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 0 - i32.const 3 - call $~lib/array/Array#constructor - local.set $0 - local.get $0 - i32.const 123 - call $~lib/array/Array#push - drop - local.get $0 - i32.const 123 - call $~lib/array/Array#push - drop - local.get $0 - call $~lib/array/Array#pop - drop - local.get $0 - call $~lib/rt/pure/__release - i32.const 0 - i32.const 0 - call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#constructor - local.set $0 - block $break|0 + (local $4 i32) + block $uncaughtError i32.const 0 + i32.const 3 + call $~lib/array/Array#constructor + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.set $0 + local.get $0 + i32.const 123 + call $~lib/array/Array#push local.set $1 - loop $loop|0 - local.get $1 - i32.const 10 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 0 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#constructor - local.set $2 - block $break|1 - i32.const 0 - local.set $3 - loop $loop|1 - local.get $3 - i32.const 10 - i32.lt_s - i32.eqz - br_if $break|1 - local.get $2 - i32.const 584 - call $~lib/array/Array<~lib/string/String>#push - drop - local.get $3 - i32.const 1 - i32.add + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + drop + local.get $0 + i32.const 123 + call $~lib/array/Array#push + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + drop + local.get $0 + call $~lib/array/Array#pop + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + drop + local.get $0 + call $~lib/rt/pure/__release + i32.const 0 + i32.const 0 + call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#constructor + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.set $0 + block $break|0 + i32.const 0 + local.set $1 + loop $loop|0 + local.get $1 + i32.const 10 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#constructor + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + block $break|1 + i32.const 0 local.set $3 - br $loop|1 + loop $loop|1 + local.get $3 + i32.const 10 + i32.lt_s + i32.eqz + br_if $break|1 + local.get $2 + i32.const 208 + call $~lib/array/Array<~lib/string/String>#push + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + drop + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $loop|1 + end + unreachable end - unreachable + local.get $1 + i32.const 1 + i32.add + local.set $1 + local.get $2 + call $~lib/rt/pure/__release + br $loop|0 end - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $2 - call $~lib/rt/pure/__release - br $loop|0 + unreachable end - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - i32.const 600 - call $~lib/rt/pure/__retain - local.set $0 - local.get $0 - i32.const 624 - call $~lib/string/String.__concat - local.tee $2 - call $~lib/rt/pure/__retain - local.set $1 - local.get $1 - i32.const 672 - call $~lib/string/String.__concat - local.tee $3 - drop - local.get $0 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - i32.const 0 - call $retain-release-sanity/A#constructor - local.set $3 - i32.const 0 - call $retain-release-sanity/B#constructor - local.set $1 - local.get $3 - local.tee $2 - local.get $1 - local.tee $0 - local.get $2 - i32.load - local.tee $2 - i32.ne - if local.get $0 - call $~lib/rt/pure/__retain - drop - local.get $2 call $~lib/rt/pure/__release - end - local.get $0 - i32.store - local.get $3 - local.tee $0 - local.get $1 - local.tee $2 - local.get $0 - i32.load - local.tee $0 - i32.ne - if + i32.const 528 + call $~lib/rt/pure/__retain + local.set $0 + local.get $0 + i32.const 552 + call $~lib/string/String.__concat + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end local.get $2 + local.tee $2 call $~lib/rt/pure/__retain + local.set $1 + local.get $1 + i32.const 600 + call $~lib/string/String.__concat + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + local.tee $3 drop local.get $0 call $~lib/rt/pure/__release - end - local.get $2 - i32.store - local.get $1 - local.tee $2 - local.get $3 - local.tee $0 - local.get $2 - i32.load - local.tee $2 - i32.ne - if - local.get $0 - call $~lib/rt/pure/__retain - drop local.get $2 call $~lib/rt/pure/__release - end - local.get $0 - i32.store - local.get $1 - local.tee $0 - local.get $3 - local.tee $2 - local.get $0 - i32.load - local.tee $0 - i32.ne - if + local.get $1 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + i32.const 0 + call $retain-release-sanity/A#constructor + local.set $3 + i32.const 0 + call $retain-release-sanity/B#constructor + local.set $1 + local.get $3 + local.tee $2 + local.get $1 + local.tee $4 local.get $2 - call $~lib/rt/pure/__retain - drop + i32.load + local.tee $2 + i32.ne + if + local.get $4 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release + end + local.get $4 + i32.store + local.get $3 + local.tee $4 + local.get $1 + local.tee $0 + local.get $4 + i32.load + local.tee $4 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $4 + call $~lib/rt/pure/__release + end local.get $0 - call $~lib/rt/pure/__release - end - local.get $2 - i32.store - local.get $3 - local.tee $2 - local.get $1 - local.tee $0 - local.get $2 - i32.load - local.tee $2 - i32.ne - if + i32.store + local.get $1 + local.tee $0 + local.get $3 + local.tee $2 local.get $0 - call $~lib/rt/pure/__retain - drop + i32.load + local.tee $0 + i32.ne + if + local.get $2 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end local.get $2 - call $~lib/rt/pure/__release - end - local.get $0 - i32.store - local.get $1 - local.tee $0 - local.get $3 - local.tee $2 - local.get $0 - i32.load - local.tee $0 - i32.ne - if + i32.store + local.get $1 + local.tee $2 + local.get $3 + local.tee $4 local.get $2 - call $~lib/rt/pure/__retain - drop + i32.load + local.tee $2 + i32.ne + if + local.get $4 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release + end + local.get $4 + i32.store + local.get $3 + local.tee $4 + local.get $1 + local.tee $0 + local.get $4 + i32.load + local.tee $4 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $4 + call $~lib/rt/pure/__release + end + local.get $0 + i32.store + local.get $1 + local.tee $0 + local.get $3 + local.tee $2 local.get $0 + i32.load + local.tee $0 + i32.ne + if + local.get $2 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $2 + i32.store + local.get $3 + call $~lib/rt/pure/__release + local.get $1 call $~lib/rt/pure/__release + call $~lib/rt/pure/__collect + return end - local.get $2 - i32.store - local.get $3 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - call $~lib/rt/pure/__collect + i32.const 624 + i32.const 672 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 48 ;) (type $FUNCSIG$v) + (func $start (; 50 ;) (type $FUNCSIG$v) call $start:retain-release-sanity ) - (func $~lib/array/Array#__visit_impl (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 51 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/pure/__visit (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4343,6 +4599,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -4354,7 +4614,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -4393,7 +4653,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -4423,7 +4683,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -4431,7 +4691,7 @@ end end ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 51 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4460,6 +4720,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -4470,7 +4734,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__visit_impl (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__visit_impl (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4499,6 +4763,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -4509,29 +4777,56 @@ unreachable end ) - (func $~lib/rt/__visit_members (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$7 - block $switch$1$case$6 - block $switch$1$case$5 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$7 $switch$1$case$4 $switch$1$case$4 $switch$1$default + block $switch$1$case$9 + block $switch$1$case$8 + block $switch$1$case$6 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$6 $switch$1$case$8 $switch$1$case$9 $switch$1$case$4 $switch$1$case$4 $switch$1$default + end + return end - return + br $block$4$break end + local.get $0 + local.get $1 + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 - local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + return end local.get $0 local.get $1 @@ -4555,6 +4850,6 @@ end return ) - (func $null (; 54 ;) (type $FUNCSIG$v) + (func $null (; 56 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/retain-release.optimized.wat b/tests/compiler/retain-release.optimized.wat index ec4359055e..b30e9e43c3 100644 --- a/tests/compiler/retain-release.optimized.wat +++ b/tests/compiler/retain-release.optimized.wat @@ -4,13 +4,13 @@ (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00e\00r\00r\00o\00r") - (data (i32.const 40) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\00r\00e\00t\00a\00i\00n\00-\00r\00e\00l\00e\00a\00s\00e\00.\00t\00s") + (data (i32.const 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 44) "\01\00\00\00\01") + (data (i32.const 56) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00e\00r\00r\00o\00r") (table $0 1 funcref) (elem (i32.const 0) $retain-release/receiveRef) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $retain-release/REF (mut i32) (i32.const 0)) @@ -54,7 +54,7 @@ (export "provideRefIndirect" (func $retain-release/provideRefIndirect)) (export "receiveRefIndirect" (func $retain-release/receiveRefIndirect)) (export "receiveRefIndirectDrop" (func $retain-release/receiveRefIndirect)) - (func $~lib/rt/stub/__alloc (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/stub/__alloc (; 0 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -128,33 +128,33 @@ i32.store offset=12 local.get $3 ) - (func $retain-release/Ref#constructor (; 2 ;) (type $FUNCSIG$i) (result i32) + (func $retain-release/Ref#constructor (; 1 ;) (type $FUNCSIG$i) (result i32) i32.const 0 i32.const 3 call $~lib/rt/stub/__alloc ) - (func $retain-release/returnRef (; 3 ;) (type $FUNCSIG$i) (result i32) + (func $retain-release/returnRef (; 2 ;) (type $FUNCSIG$i) (result i32) global.get $retain-release/REF ) - (func $retain-release/receiveRef (; 4 ;) (type $FUNCSIG$v) + (func $retain-release/receiveRef (; 3 ;) (type $FUNCSIG$v) nop ) - (func $retain-release/takeRef (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/takeRef (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $retain-release/takeReturnRef (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $retain-release/takeReturnRef (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 ) - (func $retain-release/newRef (; 7 ;) (type $FUNCSIG$v) + (func $retain-release/newRef (; 6 ;) (type $FUNCSIG$v) call $retain-release/Ref#constructor drop ) - (func $retain-release/assignGlobal (; 8 ;) (type $FUNCSIG$v) + (func $retain-release/assignGlobal (; 7 ;) (type $FUNCSIG$v) (local $0 i32) global.get $retain-release/REF global.set $retain-release/glo ) - (func $retain-release/assignField (; 9 ;) (type $FUNCSIG$v) + (func $retain-release/assignField (; 8 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) global.get $retain-release/REF @@ -168,42 +168,50 @@ local.get $0 i32.store ) - (func $retain-release/scopeBlockToConditional (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeBlockToConditional (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) nop ) - (func $retain-release/scopeThrow (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeThrow (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 if + i32.const 12 + i32.const 5 + call $~lib/rt/stub/__alloc + local.tee $0 i32.const 24 + i32.store + local.get $0 i32.const 56 - i32.const 313 - i32.const 4 - call $~lib/builtins/abort - unreachable + i32.store offset=4 + local.get $0 + i32.const 72 + i32.store offset=8 + local.get $0 + global.set $~lib/error end ) - (func $retain-release/scopeUnreachable (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeUnreachable (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 if unreachable end ) - (func $retain-release/provideRefIndirect (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/provideRefIndirect (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 1 global.set $~lib/argc global.get $retain-release/REF local.get $0 call_indirect (type $FUNCSIG$vi) ) - (func $retain-release/receiveRefIndirect (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/receiveRefIndirect (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 0 global.set $~lib/argc local.get $0 call_indirect (type $FUNCSIG$i) drop ) - (func $start (; 15 ;) (type $FUNCSIG$v) + (func $start (; 14 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/started if diff --git a/tests/compiler/retain-release.untouched.wat b/tests/compiler/retain-release.untouched.wat index f8f33c111c..78142a31d7 100644 --- a/tests/compiler/retain-release.untouched.wat +++ b/tests/compiler/retain-release.untouched.wat @@ -4,13 +4,13 @@ (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00e\00r\00r\00o\00r\00") - (data (i32.const 40) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\00r\00e\00t\00a\00i\00n\00-\00r\00e\00l\00e\00a\00s\00e\00.\00t\00s\00") + (data (i32.const 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 40) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 56) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00e\00r\00r\00o\00r\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $retain-release/REF (mut i32) (i32.const 0)) @@ -18,7 +18,7 @@ (global $retain-release/TARGET (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/heap/__heap_base i32 (i32.const 92)) + (global $~lib/heap/__heap_base i32 (i32.const 84)) (export "__start" (func $start)) (export "memory" (memory $0)) (export "returnRef" (func $retain-release/returnRef)) @@ -55,7 +55,7 @@ (export "provideRefIndirect" (func $retain-release/provideRefIndirect)) (export "receiveRefIndirect" (func $retain-release/receiveRefIndirect)) (export "receiveRefIndirectDrop" (func $retain-release/receiveRefIndirectDrop)) - (func $~lib/rt/stub/__alloc (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/stub/__alloc (; 0 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -147,10 +147,10 @@ i32.store offset=12 local.get $2 ) - (func $~lib/rt/stub/__retain (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/stub/__retain (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 ) - (func $retain-release/Ref#constructor (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $retain-release/Ref#constructor (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -162,7 +162,7 @@ end local.get $0 ) - (func $retain-release/Target#constructor (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $retain-release/Target#constructor (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -177,7 +177,7 @@ i32.store local.get $0 ) - (func $start:retain-release (; 5 ;) (type $FUNCSIG$v) + (func $start:retain-release (; 4 ;) (type $FUNCSIG$v) global.get $~lib/heap/__heap_base i32.const 15 i32.add @@ -195,14 +195,14 @@ call $retain-release/Target#constructor global.set $retain-release/TARGET ) - (func $retain-release/returnRef (; 6 ;) (type $FUNCSIG$i) (result i32) + (func $retain-release/returnRef (; 5 ;) (type $FUNCSIG$i) (result i32) global.get $retain-release/REF call $~lib/rt/stub/__retain ) - (func $~lib/rt/stub/__release (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/stub/__release (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $retain-release/receiveRef (; 8 ;) (type $FUNCSIG$v) + (func $retain-release/receiveRef (; 7 ;) (type $FUNCSIG$v) (local $0 i32) call $retain-release/returnRef local.tee $0 @@ -211,35 +211,35 @@ local.get $0 call $~lib/rt/stub/__release ) - (func $retain-release/receiveRefDrop (; 9 ;) (type $FUNCSIG$v) + (func $retain-release/receiveRefDrop (; 8 ;) (type $FUNCSIG$v) call $retain-release/returnRef call $~lib/rt/stub/__release ) - (func $retain-release/receiveRefRetain (; 10 ;) (type $FUNCSIG$v) + (func $retain-release/receiveRefRetain (; 9 ;) (type $FUNCSIG$v) (local $0 i32) call $retain-release/returnRef local.set $0 local.get $0 call $~lib/rt/stub/__release ) - (func $retain-release/takeRef (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/takeRef (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/rt/stub/__retain drop local.get $0 call $~lib/rt/stub/__release ) - (func $retain-release/provideRef (; 12 ;) (type $FUNCSIG$v) + (func $retain-release/provideRef (; 11 ;) (type $FUNCSIG$v) global.get $retain-release/REF call $retain-release/takeRef ) - (func $retain-release/takeReturnRef (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $retain-release/takeReturnRef (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/rt/stub/__retain drop local.get $0 ) - (func $retain-release/provideReceiveRef (; 14 ;) (type $FUNCSIG$v) + (func $retain-release/provideReceiveRef (; 13 ;) (type $FUNCSIG$v) (local $0 i32) global.get $retain-release/REF call $retain-release/takeReturnRef @@ -249,12 +249,12 @@ local.get $0 call $~lib/rt/stub/__release ) - (func $retain-release/newRef (; 15 ;) (type $FUNCSIG$v) + (func $retain-release/newRef (; 14 ;) (type $FUNCSIG$v) i32.const 0 call $retain-release/Ref#constructor call $~lib/rt/stub/__release ) - (func $retain-release/assignGlobal (; 16 ;) (type $FUNCSIG$v) + (func $retain-release/assignGlobal (; 15 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) global.get $retain-release/REF @@ -272,7 +272,7 @@ local.get $0 global.set $retain-release/glo ) - (func $retain-release/assignField (; 17 ;) (type $FUNCSIG$v) + (func $retain-release/assignField (; 16 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) global.get $retain-release/TARGET @@ -293,7 +293,7 @@ local.get $1 i32.store ) - (func $retain-release/scopeBlock (; 18 ;) (type $FUNCSIG$v) + (func $retain-release/scopeBlock (; 17 ;) (type $FUNCSIG$v) (local $0 i32) global.get $retain-release/REF call $~lib/rt/stub/__retain @@ -301,7 +301,7 @@ local.get $0 call $~lib/rt/stub/__release ) - (func $retain-release/scopeBlockToUninitialized (; 19 ;) (type $FUNCSIG$v) + (func $retain-release/scopeBlockToUninitialized (; 18 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -330,7 +330,7 @@ local.get $0 call $~lib/rt/stub/__release ) - (func $retain-release/scopeBlockToInitialized (; 20 ;) (type $FUNCSIG$v) + (func $retain-release/scopeBlockToInitialized (; 19 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -360,7 +360,7 @@ local.get $0 call $~lib/rt/stub/__release ) - (func $retain-release/scopeBlockToConditional (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeBlockToConditional (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -406,14 +406,14 @@ local.get $1 call $~lib/rt/stub/__release ) - (func $retain-release/scopeTopLevelUninitialized (; 22 ;) (type $FUNCSIG$v) + (func $retain-release/scopeTopLevelUninitialized (; 21 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 local.set $0 local.get $0 call $~lib/rt/stub/__release ) - (func $retain-release/scopeTopLevelInitialized (; 23 ;) (type $FUNCSIG$v) + (func $retain-release/scopeTopLevelInitialized (; 22 ;) (type $FUNCSIG$v) (local $0 i32) global.get $retain-release/REF call $~lib/rt/stub/__retain @@ -421,7 +421,7 @@ local.get $0 call $~lib/rt/stub/__release ) - (func $retain-release/scopeTopLevelConditional (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeTopLevelConditional (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -447,7 +447,7 @@ local.get $1 call $~lib/rt/stub/__release ) - (func $retain-release/scopeIf (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeIf (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 if @@ -458,7 +458,7 @@ call $~lib/rt/stub/__release end ) - (func $retain-release/scopeIfElse (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeIfElse (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 if @@ -475,7 +475,7 @@ call $~lib/rt/stub/__release end ) - (func $retain-release/scopeWhile (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeWhile (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) block $break|0 loop $continue|0 @@ -492,7 +492,7 @@ unreachable end ) - (func $retain-release/scopeDo (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeDo (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) loop $continue|0 global.get $retain-release/REF @@ -502,7 +502,7 @@ br_if $continue|0 end ) - (func $retain-release/scopeFor (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeFor (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) block $break|0 loop $loop|0 @@ -519,7 +519,7 @@ unreachable end ) - (func $retain-release/scopeBreak (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeBreak (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) block $break|0 local.get $0 @@ -533,7 +533,7 @@ br $break|0 end ) - (func $retain-release/scopeContinue (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $retain-release/scopeContinue (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) block $break|0 loop $continue|0 @@ -550,6 +550,34 @@ unreachable end ) + (func $~lib/error/Error#constructor (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 5 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + local.set $0 + end + local.get $0 + i32.const 24 + call $~lib/rt/stub/__retain + i32.store + local.get $0 + i32.const 56 + call $~lib/rt/stub/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) (func $retain-release/scopeThrow (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) block $break|0 @@ -559,14 +587,13 @@ global.get $retain-release/REF call $~lib/rt/stub/__retain local.set $1 + i32.const 0 + i32.const 72 + call $~lib/error/Error#constructor + global.set $~lib/error local.get $1 call $~lib/rt/stub/__release - i32.const 24 - i32.const 56 - i32.const 313 - i32.const 4 - call $~lib/builtins/abort - unreachable + return end ) (func $retain-release/scopeUnreachable (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) @@ -621,6 +648,10 @@ global.get $retain-release/REF local.get $0 call_indirect (type $FUNCSIG$vi) + global.get $~lib/error + if + return + end ) (func $retain-release/receiveRefIndirect (; 39 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) @@ -628,6 +659,12 @@ global.set $~lib/argc local.get $0 call_indirect (type $FUNCSIG$i) + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 i32.eqz drop @@ -635,10 +672,17 @@ call $~lib/rt/stub/__release ) (func $retain-release/receiveRefIndirectDrop (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) i32.const 0 global.set $~lib/argc local.get $0 call_indirect (type $FUNCSIG$i) + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/stub/__release ) (func $start (; 41 ;) (type $FUNCSIG$v) diff --git a/tests/compiler/rt/ids.untouched.wat b/tests/compiler/rt/ids.untouched.wat index aa86317bc6..953f5107a5 100644 --- a/tests/compiler/rt/ids.untouched.wat +++ b/tests/compiler/rt/ids.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00r\00t\00/\00i\00d\00s\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $start:rt/ids (; 1 ;) (type $FUNCSIG$v) diff --git a/tests/compiler/rt/instanceof.untouched.wat b/tests/compiler/rt/instanceof.untouched.wat index acaa8057f2..b685266843 100644 --- a/tests/compiler/rt/instanceof.untouched.wat +++ b/tests/compiler/rt/instanceof.untouched.wat @@ -10,6 +10,7 @@ (data (i32.const 56) "\06\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\03\00\00\00\10\00\00\00\04\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $rt/instanceof/animal (mut i32) (i32.const 0)) diff --git a/tests/compiler/runtime-full.optimized.wat b/tests/compiler/runtime-full.optimized.wat index a67fc0d9ef..b81a741e2c 100644 --- a/tests/compiler/runtime-full.optimized.wat +++ b/tests/compiler/runtime-full.optimized.wat @@ -4,21 +4,23 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 160) "$\00\00\00\01\00\00\00\01\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 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 256) "\03\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 140) "\01\00\00\00\01") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\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 208) "(\00\00\00\01\00\00\00\01\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 264) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 256)) + (global $~lib/rt/__rtti_base i32 (i32.const 264)) (export "memory" (memory $0)) (export "__alloc" (func $~lib/rt/tlsf/__alloc)) (export "__retain" (func $~lib/rt/pure/__retain)) @@ -610,10 +612,10 @@ if unreachable end - i32.const 288 + i32.const 304 i32.const 0 i32.store - i32.const 1856 + i32.const 1872 i32.const 0 i32.store i32.const 0 @@ -627,7 +629,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 288 + i32.const 304 i32.add i32.const 0 i32.store offset=4 @@ -646,7 +648,7 @@ i32.add i32.const 2 i32.shl - i32.const 288 + i32.const 304 i32.add i32.const 0 i32.store offset=96 @@ -664,460 +666,115 @@ br $loop|0 end end - i32.const 288 - i32.const 1872 + i32.const 304 + i32.const 1888 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 288 + i32.const 304 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const -16 + i32.store offset=4 + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $0 - i32.const 16 + if + i32.const 0 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 16 + i32.const 300 i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - local.get $1 - i32.const 4 - i32.shr_u - local.set $1 - i32.const 0 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - local.get $1 - i32.add - i32.const 1 - i32.sub - local.set $1 - end - local.get $1 - i32.const 31 - local.get $1 - i32.clz - i32.sub - local.tee $2 - i32.const 4 - i32.sub - i32.shr_u + if + local.get $0 i32.const 16 - i32.xor - local.set $1 - local.get $2 - i32.const 7 i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load local.tee $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $1 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz + i32.const 1 + i32.and if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - i32.const 2 - i32.shl + i32.const 1 + i32.or + i32.store local.get $0 - i32.add - i32.load offset=4 - i32.const -1 local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.get $2 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -1 - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - i32.const 0 - end - end + call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/tlsf/growMemory (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - memory.size - local.tee $2 - local.get $1 - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.tee $1 - local.get $2 - local.get $1 - i32.gt_s - select - memory.grow - i32.const 0 - i32.lt_s + (func $~lib/rt/__typeinfo (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 264 + i32.load + i32.gt_u if - local.get $1 - memory.grow + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error i32.const 0 - i32.lt_s - if - unreachable - end + return end local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 + i32.const 3 i32.shl - call $~lib/rt/tlsf/addMemory + i32.const 268 + i32.add + i32.load ) - (func $~lib/rt/tlsf/prepareBlock (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $4 - i32.const 32 - i32.ge_u - if - local.get $1 - local.get $3 - i32.const 2 - i32.and - local.get $2 - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add + block $~lib/util/memory/memmove|inlined.0 local.get $2 - i32.add - local.tee $1 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const -2 - i32.and - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.tee $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - local.get $0 - local.get $3 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - end - local.get $2 - i32.load - i32.const -4 - i32.and - local.get $3 - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $2 - local.get $3 - call $~lib/rt/tlsf/prepareBlock - local.get $2 - ) - (func $~lib/rt/tlsf/__alloc (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/rt/tlsf/ROOT - local.tee $2 - if (result i32) - local.get $2 - else - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - end - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.tee $0 - local.get $1 - i32.store offset=8 - local.get $0 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 284 - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/rt/tlsf/freeBlock (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/__typeinfo (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 256 - i32.load - i32.gt_u - if - i32.const 176 - i32.const 232 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.shl - i32.const 260 - i32.add - i32.load - ) - (func $~lib/memory/memory.copy (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $2 - local.set $3 + local.set $3 local.get $0 local.get $1 i32.eq @@ -1287,7 +944,7 @@ end end ) - (func $~lib/rt/tlsf/__free (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -1320,7 +977,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 17 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 11 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1361,7 +1018,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.tee $1 @@ -1380,106 +1037,490 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) + (func $~lib/rt/pure/decrement (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 268435455 + i32.and + local.set $1 + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 16 + i32.add + i32.const 1 + call $~lib/rt/__visit_members + local.get $2 + i32.const -2147483648 + i32.and + if + local.get $0 + i32.const -2147483648 + i32.store offset=4 + else + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + end + else + local.get $1 + i32.const 0 + i32.le_u + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end + i32.const 16 + i32.and + if + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $2 + i32.const -268435456 + i32.and + i32.or + i32.store offset=4 + else + local.get $0 + local.get $1 + i32.const 1 + i32.sub + i32.const -1342177280 + i32.or + i32.store offset=4 + local.get $2 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + end + end + ) + (func $~lib/rt/pure/__release (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.const 300 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + end + ) + (func $~lib/error/Error#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $1 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/rt/tlsf/prepareSize (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const -16 + i32.and + local.tee $0 + i32.const 16 + local.get $0 + i32.const 16 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + local.set $1 + i32.const 0 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + local.get $1 + i32.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $1 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $1 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + i32.const -1 + local.get $1 + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.tee $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.ctz + local.get $1 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + i32.const 0 + end + end + ) + (func $~lib/rt/tlsf/growMemory (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) - local.get $0 - i32.load offset=4 + memory.size local.tee $2 - i32.const 268435455 + local.get $1 + i32.const 65535 + i32.add + i32.const -65536 i32.and - local.set $1 + i32.const 16 + i32.shr_u + local.tee $1 + local.get $2 + local.get $1 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $1 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end local.get $0 + local.get $2 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + ) + (func $~lib/rt/tlsf/prepareBlock (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 i32.load - i32.const 1 + local.set $3 + local.get $2 + i32.const 15 i32.and if i32.const 0 - i32.const 128 - i32.const 115 + i32.const 24 + i32.const 364 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $1 - i32.const 1 - i32.eq + local.get $3 + i32.const -4 + i32.and + local.get $2 + i32.sub + local.tee $4 + i32.const 32 + i32.ge_u if - local.get $0 + local.get $1 + local.get $3 + i32.const 2 + i32.and + local.get $2 + i32.or + i32.store + local.get $1 i32.const 16 i32.add - i32.const 1 - call $~lib/rt/__visit_members local.get $2 - i32.const -2147483648 - i32.and - if - local.get $0 - i32.const -2147483648 - i32.store offset=4 - else - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - end + i32.add + local.tee $1 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock else local.get $1 + local.get $3 + i32.const -2 + i32.and + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + i32.load + i32.const -3 + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $3 + global.get $~lib/error + if i32.const 0 - i32.le_u + return + end + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz if i32.const 0 - i32.const 128 - i32.const 124 + i32.const 24 + i32.const 477 i32.const 15 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo - i32.const 16 - i32.and - if - local.get $0 - local.get $1 - i32.const 1 - i32.sub - local.get $2 - i32.const -268435456 - i32.and - i32.or - i32.store offset=4 - else - local.get $0 - local.get $1 - i32.const 1 - i32.sub - i32.const -1342177280 - i32.or - i32.store offset=4 - local.get $2 - i32.const -2147483648 - i32.and - i32.eqz - if - local.get $0 - call $~lib/rt/pure/appendRoot - end - end end + local.get $2 + i32.load + i32.const -4 + i32.and + local.get $3 + i32.lt_u + if + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $2 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $2 ) - (func $~lib/rt/pure/__release (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__alloc (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/rt/tlsf/ROOT + local.tee $2 + if (result i32) + local.get $2 + else + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + end local.get $0 - i32.const 284 - i32.gt_u + call $~lib/rt/tlsf/allocateBlock + local.set $0 + global.get $~lib/error if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + i32.const 0 + return end + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + i32.const 16 + i32.add ) - (func $~lib/rt/pure/markGray (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1503,7 +1544,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -1516,7 +1557,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1550,7 +1591,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1583,7 +1624,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__collect (; 25 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/__collect (; 26 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1707,9 +1748,9 @@ local.get $5 global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/__visit (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 284 + i32.const 300 i32.lt_u if return @@ -1742,6 +1783,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -1752,7 +1797,7 @@ i32.le_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -1785,7 +1830,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -1810,27 +1855,55 @@ br $break|0 end i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/rt/__visit_members (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 local.tee $0 if local.get $0 @@ -1841,7 +1914,7 @@ end unreachable ) - (func $null (; 28 ;) (type $FUNCSIG$v) + (func $null (; 29 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/runtime-full.untouched.wat b/tests/compiler/runtime-full.untouched.wat index 252b6ae297..2cd63120ea 100644 --- a/tests/compiler/runtime-full.untouched.wat +++ b/tests/compiler/runtime-full.untouched.wat @@ -5,25 +5,27 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 160) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 256) "\03\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 136) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 208) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 264) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 256)) - (global $~lib/heap/__heap_base i32 (i32.const 284)) + (global $~lib/rt/__rtti_base i32 (i32.const 264)) + (global $~lib/heap/__heap_base i32 (i32.const 300)) (export "memory" (memory $0)) (export "__alloc" (func $~lib/rt/tlsf/__alloc)) (export "__retain" (func $~lib/rt/pure/__retain)) @@ -883,579 +885,275 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - (local $2 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const 15 - i32.const -1 - i32.xor + i32.store offset=4 + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $1 - i32.const 16 - local.tee $2 - local.get $1 - local.get $2 - i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 6 ;) (type $FUNCSIG$iii) (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 $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u + i32.eqz + i32.eqz if i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable end - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 i32.const 16 - i32.lt_u - else - i32.const 0 + i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz i32.eqz if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $5 + local.get $1 local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/__typeinfo (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u if - local.get $0 - i32.load i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $break|0 + loop $continue|0 local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - local.get $6 - i32.eqz - if + if (result i32) + local.get $1 + i32.const 3 + i32.and + else i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable end + i32.eqz + br_if $break|0 local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 + local.tee $5 + i32.const 1 i32.add - i32.const 2 - i32.shl + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 i32.add - i32.load offset=96 - local.set $7 - end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 - end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - memory.size - local.set $2 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $3 - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow - i32.const 0 - i32.lt_s - if - local.get $3 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 3 - i32.const -1 - i32.xor i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 32 - i32.ge_u + i32.const 0 + i32.eq if - local.get $1 + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|1 + end + unreachable + end local.get $2 - local.get $3 - i32.const 2 + i32.const 8 i32.and - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const 1 - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor + i32.const 4 i32.and - i32.add - i32.load + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 i32.const 2 - i32.const -1 - i32.xor i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 end - end - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/rt/tlsf/ROOT - local.set $2 - local.get $2 - i32.eqz - if - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - local.set $2 - end - local.get $2 - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/rt/tlsf/freeBlock (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.set $2 - local.get $2 - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - ) - (func $~lib/rt/__typeinfo (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 176 - i32.const 232 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/util/memory/memcpy (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $break|0 - loop $continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - i32.eqz - br_if $break|0 + local.get $2 + i32.const 1 + i32.and + if local.get $0 local.tee $5 i32.const 1 @@ -1470,154 +1168,12 @@ local.get $5 i32.load8_u i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $continue|0 end - unreachable + return end - local.get $0 - i32.const 3 - i32.and - i32.const 0 - i32.eq - if - block $break|1 - loop $continue|1 - local.get $2 - i32.const 16 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.const 8 - i32.add - i32.load - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $continue|1 - end - unreachable - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.const 4 - i32.add - local.set $1 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.get $1 - i32.load16_u - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - return - end - local.get $2 - i32.const 32 - i32.ge_u + local.get $2 + i32.const 32 + i32.ge_u if block $break|2 block $case2|2 @@ -2350,570 +1906,1071 @@ i32.const 1 i32.add local.set $1 - local.get $5 - i32.load8_u - i32.store8 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + ) + (func $~lib/memory/memory.copy (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + local.get $4 + i32.eq + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $4 + local.get $3 + i32.add + local.get $5 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $5 + local.get $3 + i32.add + local.get $4 + i32.le_u + end + if + local.get $5 + local.get $4 + local.get $3 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $4 + i32.lt_u + if + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + block $break|0 + loop $continue|0 + local.get $5 + i32.const 7 + i32.and + i32.eqz + br_if $break|0 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $5 + local.tee $6 + i32.const 1 + i32.add + local.set $5 + local.get $6 + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.load8_u + i32.store8 + br $continue|0 + end + unreachable + end + block $break|1 + loop $continue|1 + local.get $3 + i32.const 8 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $5 + local.get $4 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $4 + i32.const 8 + i32.add + local.set $4 + br $continue|1 + end + unreachable + end + end + block $break|2 + loop $continue|2 + local.get $3 + i32.eqz + br_if $break|2 + local.get $5 + local.tee $6 + i32.const 1 + i32.add + local.set $5 + local.get $6 + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|2 + end + unreachable + end + else + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + block $break|3 + loop $continue|3 + local.get $5 + local.get $3 + i32.add + i32.const 7 + i32.and + i32.eqz + br_if $break|3 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + unreachable + end + block $break|4 + loop $continue|4 + local.get $3 + i32.const 8 + i32.ge_u + i32.eqz + br_if $break|4 + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + local.get $3 + i32.add + local.get $4 + local.get $3 + i32.add + i64.load + i64.store + br $continue|4 + end + unreachable + end + end + block $break|5 + loop $continue|5 + local.get $3 + i32.eqz + br_if $break|5 + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + unreachable + end + end + end + ) + (func $~lib/rt/tlsf/__free (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.ne + if (result i32) + local.get $0 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/pure/growRoots (; 12 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/rt/pure/ROOTS + local.set $0 + global.get $~lib/rt/pure/CUR + local.get $0 + i32.sub + local.set $1 + local.get $1 + i32.const 2 + i32.mul + local.tee $2 + i32.const 64 + i32.const 2 + i32.shl + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + local.set $4 + local.get $4 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $5 + local.get $5 + local.get $0 + local.get $1 + call $~lib/memory/memory.copy + local.get $0 + if + local.get $0 + call $~lib/rt/tlsf/__free + end + local.get $5 + global.set $~lib/rt/pure/ROOTS + local.get $5 + local.get $1 + i32.add + global.set $~lib/rt/pure/CUR + local.get $5 + local.get $4 + i32.add + global.set $~lib/rt/pure/END + ) + (func $~lib/rt/pure/appendRoot (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + global.get $~lib/rt/pure/CUR + local.set $1 + local.get $1 + global.get $~lib/rt/pure/END + i32.ge_u + if + call $~lib/rt/pure/growRoots + global.get $~lib/rt/pure/CUR + local.set $1 end - local.get $2 + local.get $1 + local.get $0 + i32.store + local.get $1 i32.const 4 + i32.add + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.and + local.set $2 + local.get $0 + i32.load + i32.const 1 i32.and + i32.eqz + i32.eqz if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable end local.get $2 - i32.const 2 - i32.and + i32.const 1 + i32.eq if local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 + i32.const 16 i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 i32.const 1 - i32.add - local.set $0 - local.get $5 + call $~lib/rt/__visit_members local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const -2147483648 + i32.and + i32.eqz + if + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + else + local.get $0 + i32.const -2147483648 + i32.const 0 + i32.or + i32.const 0 + i32.or + i32.store offset=4 + end + else + local.get $2 + i32.const 0 + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.and + i32.eqz + if + local.get $0 + i32.const -2147483648 + i32.const 805306368 + i32.or + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + else + local.get $0 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + end end - local.get $2 - i32.const 1 - i32.and + ) + (func $~lib/rt/pure/__release (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u if local.get $0 - local.tee $5 - i32.const 1 - i32.add + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end + end + ) + (func $~lib/error/Error#constructor (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 end + local.get $0 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/rt/tlsf/prepareSize (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.const 16 + local.tee $2 + local.get $1 + local.get $2 + i32.gt_u + select ) - (func $~lib/memory/memory.copy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/searchBlock (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.set $5 + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $1 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $2 local.get $1 - local.set $4 - local.get $2 + i32.const 4 + i32.shr_u local.set $3 - local.get $5 - local.get $4 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $4 - local.get $3 - i32.add - local.get $5 - i32.le_u + else + local.get $1 + i32.const 536870904 + i32.lt_u if (result i32) + local.get $1 i32.const 1 - else - local.get $5 - local.get $3 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl i32.add - local.get $4 - i32.le_u - end - if - local.get $5 - local.get $4 - local.get $3 - call $~lib/util/memory/memcpy - br $~lib/util/memory/memmove|inlined.0 - end - local.get $5 - local.get $4 - i32.lt_u - if - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - block $break|0 - loop $continue|0 - local.get $5 - i32.const 7 - i32.and - i32.eqz - br_if $break|0 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $3 - i32.const 1 - i32.sub - local.set $3 - local.get $5 - local.tee $6 - i32.const 1 - i32.add - local.set $5 - local.get $6 - local.get $4 - local.tee $6 - i32.const 1 - i32.add - local.set $4 - local.get $6 - i32.load8_u - i32.store8 - br $continue|0 - end - unreachable - end - block $break|1 - loop $continue|1 - local.get $3 - i32.const 8 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $5 - local.get $4 - i64.load - i64.store - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - i32.const 8 - i32.add - local.set $5 - local.get $4 - i32.const 8 - i32.add - local.set $4 - br $continue|1 - end - unreachable - end - end - block $break|2 - loop $continue|2 - local.get $3 - i32.eqz - br_if $break|2 - local.get $5 - local.tee $6 - i32.const 1 - i32.add - local.set $5 - local.get $6 - local.get $4 - local.tee $6 - i32.const 1 - i32.add - local.set $4 - local.get $6 - i32.load8_u - i32.store8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $continue|2 - end - unreachable - end + i32.const 1 + i32.sub else - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $5 - local.get $3 - i32.add - i32.const 7 - i32.and - i32.eqz - br_if $break|3 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - unreachable - end - block $break|4 - loop $continue|4 - local.get $3 - i32.const 8 - i32.ge_u - i32.eqz - br_if $break|4 - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - local.get $3 - i32.add - local.get $4 - local.get $3 - i32.add - i64.load - i64.store - br $continue|4 - end - unreachable - end - end - block $break|5 - loop $continue|5 - local.get $3 - i32.eqz - br_if $break|5 - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - unreachable - end + local.get $1 end + local.set $4 + i32.const 31 + local.get $4 + i32.clz + i32.sub + local.set $2 + local.get $4 + local.get $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $3 + local.get $2 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $2 + end + local.get $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $3 + i32.const 16 + i32.lt_u + else + i32.const 0 end - ) - (func $~lib/rt/tlsf/__free (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT i32.eqz if i32.const 0 i32.const 24 - i32.const 561 + i32.const 337 i32.const 13 call $~lib/builtins/abort unreachable end local.get $0 + local.set $5 + local.get $2 + local.set $4 + local.get $5 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 i32.const 0 - i32.ne - if (result i32) + i32.const -1 + i32.xor + local.get $3 + i32.shl + i32.and + local.set $6 + i32.const 0 + local.set $7 + local.get $6 + i32.eqz + if local.get $0 - i32.const 15 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $2 + i32.const 1 + i32.add + i32.shl i32.and + local.set $5 + local.get $5 i32.eqz + if + i32.const 0 + local.set $7 + else + local.get $5 + i32.ctz + local.set $2 + local.get $0 + local.set $8 + local.get $2 + local.set $4 + local.get $8 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $6 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 562 + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add i32.const 2 - call $~lib/builtins/abort - unreachable + i32.shl + i32.add + i32.load offset=96 + local.set $7 end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/tlsf/freeBlock + local.get $7 ) - (func $~lib/rt/pure/growRoots (; 18 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/growMemory (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - global.get $~lib/rt/pure/ROOTS - local.set $0 - global.get $~lib/rt/pure/CUR - local.get $0 - i32.sub - local.set $1 + (local $6 i32) + (local $7 i32) + memory.size + local.set $2 local.get $1 - i32.const 2 - i32.mul - local.tee $2 - i32.const 64 - i32.const 2 - i32.shl - local.tee $3 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 local.get $2 + local.tee $4 local.get $3 - i32.gt_u - select - local.set $4 + local.tee $5 local.get $4 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $5 - local.get $5 - local.get $0 - local.get $1 - call $~lib/memory/memory.copy - local.get $0 - if - local.get $0 - call $~lib/rt/tlsf/__free - end - local.get $5 - global.set $~lib/rt/pure/ROOTS - local.get $5 - local.get $1 - i32.add - global.set $~lib/rt/pure/CUR local.get $5 - local.get $4 - i32.add - global.set $~lib/rt/pure/END - ) - (func $~lib/rt/pure/appendRoot (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - global.get $~lib/rt/pure/CUR - local.set $1 - local.get $1 - global.get $~lib/rt/pure/END - i32.ge_u + i32.gt_s + select + local.set $6 + local.get $6 + memory.grow + i32.const 0 + i32.lt_s if - call $~lib/rt/pure/growRoots - global.get $~lib/rt/pure/CUR - local.set $1 + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end end - local.get $1 + memory.size + local.set $7 local.get $0 - i32.store - local.get $1 - i32.const 4 - i32.add - global.set $~lib/rt/pure/CUR + local.get $2 + i32.const 16 + i32.shl + local.get $7 + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop ) - (func $~lib/rt/pure/decrement (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 + (func $~lib/rt/tlsf/prepareBlock (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $1 - i32.const 268435455 - i32.and - local.set $2 - local.get $0 i32.load - i32.const 1 + local.set $3 + local.get $2 + i32.const 15 i32.and i32.eqz i32.eqz if i32.const 0 - i32.const 128 - i32.const 115 + i32.const 24 + i32.const 364 i32.const 13 call $~lib/builtins/abort unreachable end + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and local.get $2 - i32.const 1 - i32.eq + i32.sub + local.set $4 + local.get $4 + i32.const 32 + i32.ge_u if - local.get $0 + local.get $1 + local.get $2 + local.get $3 + i32.const 2 + i32.and + i32.or + i32.store + local.get $1 i32.const 16 i32.add + local.get $2 + i32.add + local.set $5 + local.get $5 + local.get $4 + i32.const 16 + i32.sub i32.const 1 - call $~lib/rt/__visit_members + i32.or + i32.store + local.get $0 + local.get $5 + call $~lib/rt/tlsf/insertBlock + else local.get $1 - i32.const -2147483648 + local.get $3 + i32.const 1 + i32.const -1 + i32.xor i32.and - i32.eqz - if - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - else - local.get $0 - i32.const -2147483648 - i32.const 0 - i32.or - i32.const 0 - i32.or - i32.store offset=4 - end - else - local.get $2 + i32.store + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + i32.load + i32.const 2 + i32.const -1 + i32.xor + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $2 + global.get $~lib/error + if i32.const 0 - i32.gt_u + return + end + local.get $2 + local.set $3 + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if i32.const 0 - i32.const 128 - i32.const 124 + i32.const 24 + i32.const 477 i32.const 15 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo - i32.const 16 - i32.and - i32.eqz - if - local.get $0 - i32.const -2147483648 - i32.const 805306368 - i32.or - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - if - local.get $0 - call $~lib/rt/pure/appendRoot - end - else - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - end end + local.get $4 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $3 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 0 + i32.store offset=4 + local.get $4 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $4 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $4 ) - (func $~lib/rt/pure/__release (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__alloc (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/tlsf/ROOT + local.set $2 + local.get $2 + i32.eqz + if + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + local.set $2 + end + local.get $2 local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u + call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + i32.const 0 + return end + local.get $3 + local.set $4 + local.get $4 + local.get $1 + i32.store offset=8 + local.get $4 + i32.const 16 + i32.add ) - (func $~lib/rt/pure/markGray (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2940,7 +2997,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -2957,7 +3014,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2994,7 +3051,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3032,7 +3089,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__collect (; 26 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/__collect (; 27 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -3175,7 +3232,7 @@ local.get $0 global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/__visit (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3221,6 +3278,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -3232,7 +3293,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -3271,7 +3332,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -3301,7 +3362,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -3309,16 +3370,27 @@ end end ) - (func $~lib/rt/__visit_members (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$default + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -3330,10 +3402,26 @@ local.get $1 call $~lib/rt/pure/__visit end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end return end unreachable ) - (func $null (; 29 ;) (type $FUNCSIG$v) + (func $null (; 30 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/runtime-half.untouched.wat b/tests/compiler/runtime-half.untouched.wat index 29ee81b836..eccaf42e3e 100644 --- a/tests/compiler/runtime-half.untouched.wat +++ b/tests/compiler/runtime-half.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (func $null (; 0 ;) (type $FUNCSIG$v) ) diff --git a/tests/compiler/runtime-none.untouched.wat b/tests/compiler/runtime-none.untouched.wat index 29ee81b836..eccaf42e3e 100644 --- a/tests/compiler/runtime-none.untouched.wat +++ b/tests/compiler/runtime-none.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (func $null (; 0 ;) (type $FUNCSIG$v) ) diff --git a/tests/compiler/runtime-stub.untouched.wat b/tests/compiler/runtime-stub.untouched.wat index 6d48c47742..07d844a4ed 100644 --- a/tests/compiler/runtime-stub.untouched.wat +++ b/tests/compiler/runtime-stub.untouched.wat @@ -7,6 +7,7 @@ (data (i32.const 8) "\03\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 8)) diff --git a/tests/compiler/scoped.untouched.wat b/tests/compiler/scoped.untouched.wat index 61a431f4e8..540406601d 100644 --- a/tests/compiler/scoped.untouched.wat +++ b/tests/compiler/scoped.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $scoped/aGlobal (mut i32) (i32.const 1)) (global $scoped/aConstant i32 (i32.const 3)) (global $scoped/aStartFunctionLocal (mut i32) (i32.const 2)) diff --git a/tests/compiler/static-this.untouched.wat b/tests/compiler/static-this.untouched.wat index f0ff1ce317..e9b0020efc 100644 --- a/tests/compiler/static-this.untouched.wat +++ b/tests/compiler/static-this.untouched.wat @@ -7,6 +7,7 @@ (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $static-this/Foo.bar (mut i32) (i32.const 42)) (export "memory" (memory $0)) (start $start) diff --git a/tests/compiler/std/array-access.optimized.wat b/tests/compiler/std/array-access.optimized.wat index 55c05cde5a..abf1ea6c2d 100644 --- a/tests/compiler/std/array-access.optimized.wat +++ b/tests/compiler/std/array-access.optimized.wat @@ -1,34 +1,133 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) + (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "^\00\00\00\01\00\00\00\01\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 120) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 168) "$\00\00\00\01\00\00\00\01\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 228) "\01\00\00\00\01") - (data (i32.const 240) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l") + (data (i32.const 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 44) "\01\00\00\00\01") + (data (i32.const 56) "^\00\00\00\01\00\00\00\01\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 168) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\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 264) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l") + (global $~lib/error (mut i32) (i32.const 0)) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "i32ArrayArrayElementAccess" (func $std/array-access/i32ArrayArrayElementAccess)) (export "stringArrayPropertyAccess" (func $std/array-access/stringArrayPropertyAccess)) (export "stringArrayMethodCall" (func $std/array-access/stringArrayMethodCall)) (export "stringArrayArrayPropertyAccess" (func $std/array-access/stringArrayArrayPropertyAccess)) (export "stringArrayArrayMethodCall" (func $std/array-access/stringArrayArrayMethodCall)) - (func $~lib/array/Array<~lib/array/Array>#__get (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (start $start) + (func $~lib/rt/stub/__alloc (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/stub/offset + i32.const 16 + i32.add + local.tee $2 + i32.const 27 + i32.add + i32.const -16 + i32.and + local.tee $1 + memory.size + local.tee $3 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $3 + local.get $1 + local.get $2 + i32.sub + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $4 + local.get $3 + local.get $4 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $1 + global.set $~lib/rt/stub/offset + local.get $2 + i32.const 16 + i32.sub + local.tee $1 + local.get $0 + i32.store offset=8 + local.get $1 + i32.const 12 + i32.store offset=12 + local.get $2 + ) + (func $~lib/error/Error#constructor (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 5 + call $~lib/rt/stub/__alloc + local.set $0 + end + local.get $0 + i32.const 24 + i32.store + local.get $0 + i32.const 56 + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 2 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + (local $1 i32) + i32.const 6 + call $~lib/rt/stub/__alloc + i32.const 224 + call $~lib/error/Error#constructor + local.tee $0 + local.get $0 + i32.load + drop + i32.const 184 + i32.store + local.get $0 + ) + (func $~lib/array/Array<~lib/array/Array>#__get (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 24 - i32.const 136 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 72 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -37,12 +136,10 @@ i32.shr_u i32.ge_u if - i32.const 184 - i32.const 136 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -52,7 +149,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#__get (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 local.get $0 i32.load offset=8 @@ -60,12 +157,10 @@ i32.shr_u i32.ge_u if - i32.const 184 - i32.const 136 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -73,13 +168,23 @@ i32.add i32.load ) - (func $std/array-access/i32ArrayArrayElementAccess (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-access/i32ArrayArrayElementAccess (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/string/String#get:length (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -87,16 +192,21 @@ i32.const 1 i32.shr_u ) - (func $std/array-access/stringArrayPropertyAccess (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-access/stringArrayPropertyAccess (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/string/String#get:length ) - (func $~lib/util/string/compareImpl (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/compareImpl (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - i32.const 240 + i32.const 56 local.set $3 local.get $1 i32.const 1 @@ -135,7 +245,7 @@ end local.get $4 ) - (func $~lib/string/String#startsWith (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#startsWith (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -148,7 +258,7 @@ i32.lt_s select local.tee $2 - i32.const 240 + i32.const 56 call $~lib/string/String#get:length local.tee $3 i32.add @@ -164,29 +274,60 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $std/array-access/stringArrayMethodCall (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-access/stringArrayMethodCall (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/string/String#startsWith ) - (func $std/array-access/stringArrayArrayPropertyAccess (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-access/stringArrayArrayPropertyAccess (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get + global.get $~lib/error + if + i32.const 0 + return + end i32.const 1 call $~lib/array/Array<~lib/array/Array>#__get + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/string/String#get:length ) - (func $std/array-access/stringArrayArrayMethodCall (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-access/stringArrayArrayMethodCall (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get + global.get $~lib/error + if + i32.const 0 + return + end i32.const 1 call $~lib/array/Array<~lib/array/Array>#__get + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/string/String#startsWith ) - (func $null (; 11 ;) (type $FUNCSIG$v) + (func $start (; 13 ;) (type $FUNCSIG$v) + i32.const 288 + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + ) + (func $null (; 14 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/array-access.untouched.wat b/tests/compiler/std/array-access.untouched.wat index 4471a6c590..7ef984b55b 100644 --- a/tests/compiler/std/array-access.untouched.wat +++ b/tests/compiler/std/array-access.untouched.wat @@ -1,30 +1,196 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "^\00\00\00\01\00\00\00\01\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") - (data (i32.const 120) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 168) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 224) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 240) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00") + (data (i32.const 8) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 40) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 56) "^\00\00\00\01\00\00\00\01\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") + (data (i32.const 168) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 264) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) + (global $~lib/heap/__heap_base i32 (i32.const 288)) (export "memory" (memory $0)) (export "i32ArrayArrayElementAccess" (func $std/array-access/i32ArrayArrayElementAccess)) (export "stringArrayPropertyAccess" (func $std/array-access/stringArrayPropertyAccess)) (export "stringArrayMethodCall" (func $std/array-access/stringArrayMethodCall)) (export "stringArrayArrayPropertyAccess" (func $std/array-access/stringArrayArrayPropertyAccess)) (export "stringArrayArrayMethodCall" (func $std/array-access/stringArrayArrayMethodCall)) - (func $~lib/rt/stub/__retain (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (start $start) + (func $~lib/rt/stub/__retain (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 ) - (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/stub/__alloc (; 1 ;) (type $FUNCSIG$iii) (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 $8 i32) + local.get $0 + i32.const 1073741808 + i32.gt_u + if + unreachable + end + global.get $~lib/rt/stub/offset + i32.const 16 + i32.add + local.set $2 + local.get $2 + local.get $0 + local.tee $3 + i32.const 1 + local.tee $4 + local.get $3 + local.get $4 + i32.gt_u + select + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $5 + memory.size + local.set $6 + local.get $5 + local.get $6 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $5 + local.get $2 + i32.sub + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $6 + local.tee $4 + local.get $3 + local.tee $7 + local.get $4 + local.get $7 + i32.gt_s + select + local.set $4 + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $5 + global.set $~lib/rt/stub/offset + local.get $2 + i32.const 16 + i32.sub + local.set $8 + local.get $8 + local.get $1 + i32.store offset=8 + local.get $8 + local.get $0 + i32.store offset=12 + local.get $2 + ) + (func $~lib/rt/stub/__release (; 2 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/error/Error#constructor (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 5 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + local.set $0 + end + local.get $0 + i32.const 24 + call $~lib/rt/stub/__retain + i32.store + local.get $0 + i32.const 56 + call $~lib/rt/stub/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 6 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 184 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne + if + local.get $3 + call $~lib/rt/stub/__retain + drop + local.get $2 + call $~lib/rt/stub/__release + end + local.get $3 + i32.store + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -34,18 +200,18 @@ i32.load call $~lib/rt/stub/__retain ) - (func $~lib/array/Array<~lib/array/Array>#__get (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 24 - i32.const 136 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 72 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -54,18 +220,18 @@ i32.shr_u i32.ge_u if - i32.const 184 - i32.const 136 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#__unchecked_get ) - (func $~lib/array/Array#__unchecked_get (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -74,7 +240,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -82,21 +248,18 @@ i32.shr_u i32.ge_u if - i32.const 184 - i32.const 136 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/rt/stub/__release (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - nop - ) - (func $std/array-access/i32ArrayArrayElementAccess (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-access/i32ArrayArrayElementAccess (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -105,17 +268,31 @@ local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 i32.const 1 call $~lib/array/Array#__get local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $0 call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -125,18 +302,18 @@ i32.load call $~lib/rt/stub/__retain ) - (func $~lib/array/Array<~lib/string/String>#__get (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 24 - i32.const 136 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 72 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -145,18 +322,18 @@ i32.shr_u i32.ge_u if - i32.const 184 - i32.const 136 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__unchecked_get ) - (func $~lib/string/String#get:length (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -164,7 +341,7 @@ i32.const 1 i32.shr_u ) - (func $std/array-access/stringArrayPropertyAccess (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-access/stringArrayPropertyAccess (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -173,6 +350,13 @@ local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 call $~lib/string/String#get:length local.set $2 @@ -182,7 +366,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/util/string/compareImpl (; 12 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/string/compareImpl (; 14 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -247,7 +431,7 @@ call $~lib/rt/stub/__release local.get $8 ) - (func $~lib/string/String#startsWith (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#startsWith (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -260,7 +444,7 @@ i32.const 0 i32.eq if - i32.const 256 + i32.const 280 local.tee $3 local.get $1 local.tee $4 @@ -322,7 +506,7 @@ call $~lib/rt/stub/__release local.get $3 ) - (func $std/array-access/stringArrayMethodCall (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-access/stringArrayMethodCall (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -331,8 +515,15 @@ local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 - i32.const 240 + i32.const 56 i32.const 0 call $~lib/string/String#startsWith local.set $2 @@ -342,7 +533,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__unchecked_get (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__unchecked_get (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -352,18 +543,18 @@ i32.load call $~lib/rt/stub/__retain ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 24 - i32.const 136 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 72 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -372,18 +563,18 @@ i32.shr_u i32.ge_u if - i32.const 184 - i32.const 136 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__unchecked_get ) - (func $std/array-access/stringArrayArrayPropertyAccess (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-access/stringArrayArrayPropertyAccess (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -393,9 +584,23 @@ local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.tee $2 call $~lib/string/String#get:length local.set $3 @@ -407,7 +612,7 @@ call $~lib/rt/stub/__release local.get $3 ) - (func $std/array-access/stringArrayArrayMethodCall (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-access/stringArrayArrayMethodCall (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -417,11 +622,25 @@ local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.tee $1 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.tee $2 - i32.const 240 + i32.const 56 i32.const 0 call $~lib/string/String#startsWith local.set $3 @@ -433,6 +652,18 @@ call $~lib/rt/stub/__release local.get $3 ) - (func $null (; 19 ;) (type $FUNCSIG$v) + (func $start (; 21 ;) (type $FUNCSIG$v) + global.get $~lib/heap/__heap_base + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + ) + (func $null (; 22 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/array-literal.optimized.wat b/tests/compiler/std/array-literal.optimized.wat index d5c8168502..deea55e5e0 100644 --- a/tests/compiler/std/array-literal.optimized.wat +++ b/tests/compiler/std/array-literal.optimized.wat @@ -2,84 +2,98 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (memory $0 1) (data (i32.const 8) "\03\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00\00\01\02") (data (i32.const 32) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\18\00\00\00\18\00\00\00\03\00\00\00\03") (data (i32.const 64) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") - (data (i32.const 120) "$\00\00\00\01\00\00\00\01\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 176) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 224) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 256) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00\f0\00\00\00\f0\00\00\00\0c\00\00\00\03") - (data (i32.const 292) "\01") - (data (i32.const 304) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\000\01\00\000\01") - (data (i32.const 336) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 384) "(\00\00\00\01\00\00\00\01\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 440) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 488) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 528) "\t\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\003\04\00\00\02\00\00\00\93\04\00\00\02\00\00\00\10\00\00\00\00\00\00\00\93 \00\00\02\00\00\00\10\00\00\00\00\00\00\00\93 \00\00\02") - (global $std/array-literal/emptyArrayI32 i32 (i32.const 320)) - (global $std/array-literal/i (mut i32) (i32.const 0)) + (data (i32.const 120) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 168) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 216) "(\00\00\00\01\00\00\00\01\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 272) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 308) "\01\00\00\00\01") + (data (i32.const 320) "$\00\00\00\01\00\00\00\01\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 376) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 416) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 448) "\10\00\00\00\01\00\00\00\06\00\00\00\10\00\00\00\b0\01\00\00\b0\01\00\00\0c\00\00\00\03") + (data (i32.const 484) "\01") + (data (i32.const 496) "\10\00\00\00\01\00\00\00\06\00\00\00\10\00\00\00\f0\01\00\00\f0\01") + (data (i32.const 528) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (data (i32.const 576) "\0b\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\003\04\00\00\02\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\00\93\04\00\00\02\00\00\00\10\00\00\00\00\00\00\00\93 \00\00\02\00\00\00\10\00\00\00\00\00\00\00\93 \00\00\02") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) + (global $~lib/rt/pure/END (mut i32) (i32.const 0)) + (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) + (global $std/array-literal/emptyArrayI32 i32 (i32.const 512)) + (global $std/array-literal/i (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayI8 (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayI32 (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayRef (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayRefWithCtor (mut i32) (i32.const 0)) - (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) - (global $~lib/rt/pure/END (mut i32) (i32.const 0)) - (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) - (func $~lib/array/Array#__get (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) local.get $0 - i32.load offset=8 - i32.ge_u + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne if + i32.const 0 i32.const 136 - i32.const 192 - i32.const 109 - i32.const 61 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 local.get $1 + i32.const 1 i32.add - i32.load8_s - ) - (func $~lib/array/Array#__get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 + i32.store offset=4 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and if + i32.const 0 i32.const 136 - i32.const 192 - i32.const 109 - i32.const 61 + i32.const 107 + i32.const 13 call $~lib/builtins/abort unreachable end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 668 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load ) (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) @@ -94,7 +108,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -116,7 +130,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -161,7 +175,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -258,7 +272,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -272,7 +286,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -345,7 +359,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -402,7 +416,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -417,7 +431,7 @@ i32.ne if i32.const 0 - i32.const 352 + i32.const 184 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -467,7 +481,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -553,7 +567,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -570,7 +584,7 @@ i32.lt_u if i32.const 0 - i32.const 352 + i32.const 184 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -598,7 +612,7 @@ i32.lt_u if i32.const 0 - i32.const 352 + i32.const 184 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -666,10 +680,10 @@ if unreachable end - i32.const 608 + i32.const 672 i32.const 0 i32.store - i32.const 2176 + i32.const 2240 i32.const 0 i32.store i32.const 0 @@ -683,7 +697,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 608 + i32.const 672 i32.add i32.const 0 i32.store offset=4 @@ -702,7 +716,7 @@ i32.add i32.const 2 i32.shl - i32.const 608 + i32.const 672 i32.add i32.const 0 i32.store offset=96 @@ -720,13 +734,13 @@ br $loop|0 end end - i32.const 608 - i32.const 2192 + i32.const 672 + i32.const 2256 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 608 + i32.const 672 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -734,12 +748,12 @@ i32.const 1073741808 i32.ge_u if - i32.const 400 - i32.const 352 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 232 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -810,7 +824,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -862,7 +876,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -932,7 +946,7 @@ i32.and if i32.const 0 - i32.const 352 + i32.const 184 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -1000,10 +1014,16 @@ (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 local.get $1 call $~lib/rt/tlsf/prepareSize - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz @@ -1018,7 +1038,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 477 i32.const 15 call $~lib/builtins/abort @@ -1033,7 +1053,7 @@ i32.lt_u if i32.const 0 - i32.const 352 + i32.const 184 i32.const 479 i32.const 13 call $~lib/builtins/abort @@ -1068,65 +1088,64 @@ end local.get $0 call $~lib/rt/tlsf/allocateBlock - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 local.get $1 i32.store offset=8 local.get $0 i32.const 16 i32.add ) - (func $~lib/rt/pure/increment (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and + (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) local.get $1 + i32.load + local.tee $2 i32.const 1 - i32.add - i32.const -268435456 i32.and - i32.ne if i32.const 0 - i32.const 456 - i32.const 104 + i32.const 184 + i32.const 531 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement + i32.or + i32.store local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 456 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree ) - (func $~lib/rt/pure/__retain (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/__typeinfo (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 604 + i32.const 576 + i32.load i32.gt_u if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment + i32.const 0 + i32.const 336 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 + i32.const 3 + i32.shl + i32.const 580 + i32.add + i32.load ) (func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -1303,96 +1322,12 @@ end end ) - (func $~lib/rt/__allocArray (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - i32.const 16 - local.get $1 - call $~lib/rt/tlsf/__alloc - local.tee $1 - i32.const 3 - local.get $0 - i32.shl - local.tee $0 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.tee $2 - call $~lib/rt/pure/__retain - i32.store - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $0 - i32.store offset=8 - local.get $1 - i32.const 3 - i32.store offset=12 - local.get $1 - ) - (func $std/array-literal/Ref#constructor (; 21 ;) (type $FUNCSIG$i) (result i32) - i32.const 0 - i32.const 5 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - ) - (func $std/array-literal/RefWithCtor#constructor (; 22 ;) (type $FUNCSIG$i) (result i32) - i32.const 0 - i32.const 7 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - ) - (func $~lib/rt/tlsf/freeBlock (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 352 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 528 - i32.load - i32.gt_u - if - i32.const 136 - i32.const 504 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.shl - i32.const 532 - i32.add - i32.load - ) - (func $~lib/rt/tlsf/__free (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 561 i32.const 13 call $~lib/builtins/abort @@ -1408,7 +1343,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 562 i32.const 2 call $~lib/builtins/abort @@ -1420,7 +1355,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 26 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 21 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1441,7 +1376,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $0 + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 i32.const 16 i32.sub call $~lib/rt/rtrace/onfree @@ -1469,7 +1409,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.tee $1 @@ -1477,6 +1417,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -1488,9 +1432,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1505,7 +1450,7 @@ i32.and if i32.const 0 - i32.const 456 + i32.const 136 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -1538,7 +1483,7 @@ i32.le_u if i32.const 0 - i32.const 456 + i32.const 136 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -1547,6 +1492,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1578,9 +1527,9 @@ end end ) - (func $~lib/rt/pure/__release (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 604 + i32.const 668 i32.gt_u if local.get $0 @@ -1589,369 +1538,586 @@ call $~lib/rt/pure/decrement end ) - (func $start:std/array-literal (; 30 ;) (type $FUNCSIG$v) + (func $~lib/error/Error#constructor (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 288 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 320 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 26 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - i32.const 60 + i32.const 336 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + i32.const 336 + call $~lib/error/Error#constructor + local.tee $0 + local.get $0 i32.load - i32.const 3 + local.tee $2 + i32.const 392 i32.ne if - i32.const 0 - i32.const 80 - i32.const 2 - i32.const 0 - call $~lib/builtins/abort - unreachable + i32.const 392 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release end - i32.const 48 - i32.const 0 - call $~lib/array/Array#__get - if - i32.const 0 - i32.const 80 - i32.const 3 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 48 - i32.const 1 - call $~lib/array/Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 80 - i32.const 4 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 48 - i32.const 2 - call $~lib/array/Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 80 - i32.const 5 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 284 - i32.load - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 80 - i32.const 8 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 272 - i32.const 0 - call $~lib/array/Array#__get - if - i32.const 0 - i32.const 80 - i32.const 9 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 272 - i32.const 1 - call $~lib/array/Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 80 - i32.const 10 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 272 - i32.const 2 - call $~lib/array/Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 80 - i32.const 11 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/emptyArrayI32 - i32.load offset=12 + i32.const 392 + i32.store + i32.const 336 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/array/Array#__get (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.ge_u if + call $~lib/error/RangeError#constructor + global.set $~lib/error i32.const 0 - i32.const 80 - i32.const 14 - i32.const 0 - call $~lib/builtins/abort - unreachable + return end - i32.const 0 - i32.const 3 - call $~lib/rt/__allocArray - local.tee $1 - i32.load offset=4 - local.tee $0 - global.get $std/array-literal/i - i32.store8 - global.get $std/array-literal/i - i32.const 1 - i32.add - global.set $std/array-literal/i local.get $0 - global.get $std/array-literal/i - i32.store8 offset=1 - global.get $std/array-literal/i - i32.const 1 + i32.load offset=4 + local.get $1 i32.add - global.set $std/array-literal/i - local.get $0 - global.get $std/array-literal/i - i32.store8 offset=2 + i32.load8_s + ) + (func $~lib/array/Array#__get (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 - call $~lib/rt/pure/__retain - global.set $std/array-literal/dynamicArrayI8 - global.get $std/array-literal/dynamicArrayI8 - i32.load offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 80 - i32.const 19 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI8 - i32.const 0 - call $~lib/array/Array#__get - if - i32.const 0 - i32.const 80 - i32.const 20 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI8 - i32.const 1 - call $~lib/array/Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 80 - i32.const 21 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI8 - i32.const 2 - call $~lib/array/Array#__get + local.get $0 + i32.load offset=8 i32.const 2 - i32.ne + i32.shr_u + i32.ge_u if + call $~lib/error/RangeError#constructor + global.set $~lib/error i32.const 0 - i32.const 80 - i32.const 22 - i32.const 0 - call $~lib/builtins/abort - unreachable + return end - i32.const 0 - global.set $std/array-literal/i - i32.const 2 - i32.const 4 - call $~lib/rt/__allocArray - local.tee $1 - i32.load offset=4 - local.tee $0 - global.get $std/array-literal/i - i32.store - global.get $std/array-literal/i - i32.const 1 - i32.add - global.set $std/array-literal/i local.get $0 - global.get $std/array-literal/i - i32.store offset=4 - global.get $std/array-literal/i - i32.const 1 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl i32.add - global.set $std/array-literal/i - local.get $0 - global.get $std/array-literal/i - i32.store offset=8 + i32.load + ) + (func $~lib/rt/__allocArray (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + i32.const 16 local.get $1 - call $~lib/rt/pure/__retain - global.set $std/array-literal/dynamicArrayI32 - global.get $std/array-literal/dynamicArrayI32 - i32.load offset=12 - i32.const 3 - i32.ne + call $~lib/rt/tlsf/__alloc + local.set $1 + global.get $~lib/error if i32.const 0 - i32.const 80 - i32.const 27 - i32.const 0 - call $~lib/builtins/abort - unreachable + return end - global.get $std/array-literal/dynamicArrayI32 + i32.const 3 + local.get $0 + i32.shl + local.tee $2 i32.const 0 - call $~lib/array/Array#__get - if - i32.const 0 - i32.const 80 - i32.const 28 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI32 - i32.const 1 - call $~lib/array/Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 80 - i32.const 29 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI32 - i32.const 2 - call $~lib/array/Array#__get - i32.const 2 - i32.ne + call $~lib/rt/tlsf/__alloc + local.set $0 + global.get $~lib/error if i32.const 0 - i32.const 80 - i32.const 30 - i32.const 0 - call $~lib/builtins/abort - unreachable + return end - i32.const 2 - i32.const 6 - call $~lib/rt/__allocArray - local.tee $1 - i32.load offset=4 - local.tee $0 - call $std/array-literal/Ref#constructor - local.tee $2 + local.get $1 + local.get $0 call $~lib/rt/pure/__retain i32.store + local.get $1 local.get $0 - call $std/array-literal/Ref#constructor - local.tee $3 - call $~lib/rt/pure/__retain i32.store offset=4 - local.get $0 - call $std/array-literal/Ref#constructor - local.tee $4 - call $~lib/rt/pure/__retain + local.get $1 + local.get $2 i32.store offset=8 local.get $1 - call $~lib/rt/pure/__retain - global.set $std/array-literal/dynamicArrayRef - global.get $std/array-literal/dynamicArrayRef - i32.load offset=12 i32.const 3 - i32.ne - if - i32.const 0 - i32.const 80 - i32.const 34 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 8 - call $~lib/rt/__allocArray - local.tee $1 - i32.load offset=4 - local.tee $0 - call $std/array-literal/RefWithCtor#constructor - local.tee $5 - call $~lib/rt/pure/__retain - i32.store - local.get $0 - call $std/array-literal/RefWithCtor#constructor - local.tee $6 - call $~lib/rt/pure/__retain - i32.store offset=4 - local.get $0 - call $std/array-literal/RefWithCtor#constructor - local.tee $0 - call $~lib/rt/pure/__retain - i32.store offset=8 + i32.store offset=12 local.get $1 + ) + (func $std/array-literal/Ref#constructor (; 30 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 + i32.const 7 + call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain - global.set $std/array-literal/dynamicArrayRefWithCtor - global.get $std/array-literal/dynamicArrayRefWithCtor - i32.load offset=12 + ) + (func $std/array-literal/RefWithCtor#constructor (; 31 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 + i32.const 9 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + ) + (func $start:std/array-literal (; 32 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + i32.const 60 + i32.load i32.const 3 i32.ne if i32.const 0 i32.const 80 - i32.const 38 + i32.const 2 i32.const 0 call $~lib/builtins/abort unreachable end - global.get $std/array-literal/emptyArrayI32 - call $~lib/rt/pure/__release - global.get $std/array-literal/dynamicArrayI8 - call $~lib/rt/pure/__release - global.get $std/array-literal/dynamicArrayI32 - call $~lib/rt/pure/__release - global.get $std/array-literal/dynamicArrayRef - call $~lib/rt/pure/__release - global.get $std/array-literal/dynamicArrayRefWithCtor - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release + i32.const 48 + i32.const 0 + call $~lib/array/Array#__get + local.set $0 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 255 + i32.and + if + i32.const 0 + i32.const 80 + i32.const 3 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 48 + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 4 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 48 + i32.const 2 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 5 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 476 + i32.load + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 8 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 464 + i32.const 0 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + if + i32.const 0 + i32.const 80 + i32.const 9 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 464 + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 464 + i32.const 2 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/emptyArrayI32 + i32.load offset=12 + if + i32.const 0 + i32.const 80 + i32.const 14 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 3 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.load offset=4 + local.tee $1 + global.get $std/array-literal/i + i32.store8 + global.get $std/array-literal/i + i32.const 1 + i32.add + global.set $std/array-literal/i + local.get $1 + global.get $std/array-literal/i + i32.store8 offset=1 + global.get $std/array-literal/i + i32.const 1 + i32.add + global.set $std/array-literal/i + local.get $1 + global.get $std/array-literal/i + i32.store8 offset=2 + local.get $0 + call $~lib/rt/pure/__retain + global.set $std/array-literal/dynamicArrayI8 + global.get $std/array-literal/dynamicArrayI8 + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 19 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI8 + i32.const 0 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + if + i32.const 0 + i32.const 80 + i32.const 20 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI8 + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 21 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI8 + i32.const 2 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 22 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $std/array-literal/i + i32.const 2 + i32.const 6 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.load offset=4 + local.tee $1 + global.get $std/array-literal/i + i32.store + global.get $std/array-literal/i + i32.const 1 + i32.add + global.set $std/array-literal/i + local.get $1 + global.get $std/array-literal/i + i32.store offset=4 + global.get $std/array-literal/i + i32.const 1 + i32.add + global.set $std/array-literal/i + local.get $1 + global.get $std/array-literal/i + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__retain + global.set $std/array-literal/dynamicArrayI32 + global.get $std/array-literal/dynamicArrayI32 + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 27 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI32 + i32.const 0 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + if + i32.const 0 + i32.const 80 + i32.const 28 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI32 + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 29 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI32 + i32.const 2 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 30 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 8 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.load offset=4 + local.tee $1 + call $std/array-literal/Ref#constructor + local.tee $2 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + call $std/array-literal/Ref#constructor + local.tee $3 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + call $std/array-literal/Ref#constructor + local.tee $4 + call $~lib/rt/pure/__retain + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__retain + global.set $std/array-literal/dynamicArrayRef + global.get $std/array-literal/dynamicArrayRef + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 34 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 10 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.load offset=4 + local.tee $1 + call $std/array-literal/RefWithCtor#constructor + local.tee $5 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + call $std/array-literal/RefWithCtor#constructor + local.tee $6 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + call $std/array-literal/RefWithCtor#constructor + local.tee $1 + call $~lib/rt/pure/__retain + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__retain + global.set $std/array-literal/dynamicArrayRefWithCtor + global.get $std/array-literal/dynamicArrayRefWithCtor + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 38 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/emptyArrayI32 + call $~lib/rt/pure/__release + global.get $~lib/error + br_if $uncaughtError + global.get $std/array-literal/dynamicArrayI8 + call $~lib/rt/pure/__release + global.get $~lib/error + br_if $uncaughtError + global.get $std/array-literal/dynamicArrayI32 + call $~lib/rt/pure/__release + global.get $~lib/error + br_if $uncaughtError + global.get $std/array-literal/dynamicArrayRef + call $~lib/rt/pure/__release + global.get $~lib/error + br_if $uncaughtError + global.get $std/array-literal/dynamicArrayRefWithCtor + call $~lib/rt/pure/__release + global.get $~lib/error + br_if $uncaughtError + local.get $2 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + return + end + i32.const 544 + i32.const 80 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 31 ;) (type $FUNCSIG$v) + (func $start (; 33 ;) (type $FUNCSIG$v) call $start:std/array-literal ) - (func $~lib/rt/pure/markGray (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -1975,7 +2141,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -1988,7 +2154,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2022,7 +2188,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2055,9 +2221,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 604 + i32.const 668 i32.lt_u if return @@ -2090,6 +2256,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -2100,7 +2270,7 @@ i32.le_u if i32.const 0 - i32.const 456 + i32.const 136 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -2133,7 +2303,7 @@ i32.ne if i32.const 0 - i32.const 456 + i32.const 136 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -2158,14 +2328,14 @@ br $break|0 end i32.const 0 - i32.const 456 + i32.const 136 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/array/Array#__visit_impl (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2189,6 +2359,10 @@ local.get $3 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -2198,17 +2372,45 @@ end end ) - (func $~lib/rt/__visit_members (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$10 - block $switch$1$case$8 - block $switch$1$case$2 + block $switch$1$case$12 + block $switch$1$case$10 + block $switch$1$case$6 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $switch$1$case$6 $switch$1$case$6 $block$4$break $switch$1$case$2 $switch$1$case$10 $switch$1$case$2 $switch$1$case$12 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $block$4$break $switch$1$case$2 $switch$1$case$8 $switch$1$case$2 $switch$1$case$10 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -2233,7 +2435,7 @@ call $~lib/rt/pure/__visit end ) - (func $null (; 39 ;) (type $FUNCSIG$v) + (func $null (; 41 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/array-literal.untouched.wat b/tests/compiler/std/array-literal.untouched.wat index d915e5a60e..41d1f9d4c7 100644 --- a/tests/compiler/std/array-literal.untouched.wat +++ b/tests/compiler/std/array-literal.untouched.wat @@ -2,116 +2,120 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (memory $0 1) (data (i32.const 8) "\03\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00\00\01\02") (data (i32.const 32) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\18\00\00\00\18\00\00\00\03\00\00\00\03\00\00\00") (data (i32.const 64) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00") - (data (i32.const 120) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 176) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 224) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 256) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00\f0\00\00\00\f0\00\00\00\0c\00\00\00\03\00\00\00") - (data (i32.const 288) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 304) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\000\01\00\000\01\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 336) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 384) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 440) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 488) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 528) "\t\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\003\04\00\00\02\00\00\00\93\04\00\00\02\00\00\00\10\00\00\00\00\00\00\00\93 \00\00\02\00\00\00\10\00\00\00\00\00\00\00\93 \00\00\02\00\00\00") + (data (i32.const 120) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 168) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 216) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 272) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 304) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 320) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 376) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 416) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 448) "\10\00\00\00\01\00\00\00\06\00\00\00\10\00\00\00\b0\01\00\00\b0\01\00\00\0c\00\00\00\03\00\00\00") + (data (i32.const 480) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 496) "\10\00\00\00\01\00\00\00\06\00\00\00\10\00\00\00\f0\01\00\00\f0\01\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 528) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") + (data (i32.const 576) "\0b\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\003\04\00\00\02\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\00\93\04\00\00\02\00\00\00\10\00\00\00\00\00\00\00\93 \00\00\02\00\00\00\10\00\00\00\00\00\00\00\93 \00\00\02\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $std/array-literal/staticArrayI8 i32 (i32.const 48)) - (global $std/array-literal/staticArrayI32 i32 (i32.const 272)) - (global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 320)) - (global $std/array-literal/i (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) + (global $~lib/rt/pure/END (mut i32) (i32.const 0)) + (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $std/array-literal/staticArrayI32 i32 (i32.const 464)) + (global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 512)) + (global $std/array-literal/i (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayI8 (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayI32 (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayRef (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayRefWithCtor (mut i32) (i32.const 0)) - (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) - (global $~lib/rt/pure/END (mut i32) (i32.const 0)) - (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 528)) - (global $~lib/heap/__heap_base i32 (i32.const 604)) + (global $~lib/rt/__rtti_base i32 (i32.const 576)) + (global $~lib/heap/__heap_base i32 (i32.const 668)) (export "memory" (memory $0)) (start $start) (func $~lib/array/Array#get:length (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/pure/increment (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) local.get $0 i32.load offset=4 + local.set $1 local.get $1 - i32.const 0 - i32.shl - i32.add - i32.load8_s - ) - (func $~lib/array/Array#__get (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + i32.const 268435455 + i32.const -1 + i32.xor + i32.and local.get $1 - local.get $0 - i32.load offset=8 - i32.const 0 - i32.shr_u - i32.ge_u + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz if + i32.const 0 i32.const 136 - i32.const 192 - i32.const 109 - i32.const 61 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 local.get $1 - call $~lib/array/Array#__unchecked_get - ) - (func $~lib/array/Array#get:length (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 1 + i32.add + i32.store offset=4 local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__unchecked_get (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + call $~lib/rt/rtrace/onincrement local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add i32.load - ) - (func $~lib/array/Array#__get (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u + i32.const 1 + i32.and + i32.eqz + i32.eqz if + i32.const 0 i32.const 136 - i32.const 192 - i32.const 109 - i32.const 61 + i32.const 107 + i32.const 13 call $~lib/builtins/abort unreachable end + ) + (func $~lib/rt/pure/__retain (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end local.get $0 - local.get $1 - call $~lib/array/Array#__unchecked_get ) - (func $~lib/rt/tlsf/removeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/removeBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -131,7 +135,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -156,7 +160,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -208,7 +212,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -321,7 +325,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -338,7 +342,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -353,7 +357,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -446,7 +450,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -509,7 +513,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -525,7 +529,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -582,7 +586,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -671,7 +675,7 @@ local.get $7 i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/addMemory (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -701,7 +705,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -724,7 +728,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -755,7 +759,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -819,7 +823,7 @@ call $~lib/rt/tlsf/insertBlock i32.const 1 ) - (func $~lib/rt/tlsf/initializeRoot (; 14 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 11 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -964,19 +968,19 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 400 - i32.const 352 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 232 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -993,7 +997,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1066,7 +1070,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -1129,7 +1133,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -1176,7 +1180,7 @@ end local.get $7 ) - (func $~lib/rt/tlsf/growMemory (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1229,7 +1233,7 @@ call $~lib/rt/tlsf/addMemory drop ) - (func $~lib/rt/tlsf/prepareBlock (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1243,7 +1247,7 @@ i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -1324,74 +1328,83 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $1 call $~lib/rt/tlsf/prepareSize local.set $2 - local.get $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 - call $~lib/rt/tlsf/searchBlock local.set $3 + local.get $0 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if local.get $0 - local.get $2 + local.get $3 call $~lib/rt/tlsf/growMemory local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 477 i32.const 15 call $~lib/builtins/abort unreachable end end - local.get $3 + local.get $4 i32.load i32.const 3 i32.const -1 i32.xor i32.and - local.get $2 + local.get $3 i32.ge_u i32.eqz if i32.const 0 - i32.const 352 + i32.const 184 i32.const 479 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 i32.const 0 i32.store offset=4 - local.get $3 + local.get $4 local.get $1 i32.store offset=12 local.get $0 - local.get $3 + local.get $4 call $~lib/rt/tlsf/removeBlock local.get $0 + local.get $4 local.get $3 - local.get $2 call $~lib/rt/tlsf/prepareBlock - local.get $3 + local.get $4 call $~lib/rt/rtrace/onalloc - local.get $3 + local.get $4 ) - (func $~lib/rt/tlsf/__alloc (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/tlsf/ROOT local.set $2 local.get $2 @@ -1405,75 +1418,75 @@ local.get $0 call $~lib/rt/tlsf/allocateBlock local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 + local.set $4 + local.get $4 local.get $1 i32.store offset=8 - local.get $3 + local.get $4 i32.const 16 i32.add ) - (func $~lib/rt/pure/increment (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and + (func $~lib/rt/tlsf/freeBlock (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) local.get $1 + i32.load + local.set $2 + local.get $2 i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor i32.and - i32.eq + i32.eqz i32.eqz if i32.const 0 - i32.const 456 - i32.const 104 + i32.const 184 + i32.const 531 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement + i32.or + i32.store local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 456 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree ) - (func $~lib/rt/pure/__retain (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/__typeinfo (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 local.get $0 - global.get $~lib/heap/__heap_base + local.get $1 + i32.load i32.gt_u if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment + i32.const 0 + i32.const 336 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end + local.get $1 + i32.const 4 + i32.add local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load ) - (func $~lib/util/memory/memcpy (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2501,7 +2514,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2726,156 +2739,32 @@ end end ) - (func $~lib/rt/__allocArray (; 25 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - i32.const 16 - local.get $2 - call $~lib/rt/tlsf/__alloc - local.set $4 - local.get $0 - local.get $1 - i32.shl - local.set $5 - local.get $5 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $6 - local.get $4 - local.get $6 - call $~lib/rt/pure/__retain - i32.store - local.get $4 - local.get $6 - i32.store offset=4 - local.get $4 - local.get $5 - i32.store offset=8 - local.get $4 - local.get $0 - i32.store offset=12 - local.get $3 - if - local.get $6 - local.get $3 - local.get $5 - call $~lib/memory/memory.copy - end - local.get $4 - ) - (func $std/array-literal/Ref#constructor (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 + (func $~lib/rt/tlsf/__free (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT i32.eqz if i32.const 0 - i32.const 5 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $0 + i32.const 184 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable end local.get $0 - ) - (func $~lib/array/Array#get:length (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $std/array-literal/RefWithCtor#constructor (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 + i32.const 0 + i32.ne + if (result i32) + local.get $0 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end i32.eqz if i32.const 0 - i32.const 7 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $0 - end - local.get $0 - ) - (func $~lib/array/Array#get:length (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/rt/tlsf/freeBlock (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.set $2 - local.get $2 - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 352 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 136 - i32.const 504 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/rt/tlsf/__free (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - i32.const 0 - i32.const 352 - i32.const 561 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.ne - if (result i32) - local.get $0 - i32.const 15 - i32.and - i32.eqz - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 352 + i32.const 184 i32.const 562 i32.const 2 call $~lib/builtins/abort @@ -2887,7 +2776,7 @@ i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 33 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 23 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -2916,6 +2805,12 @@ local.get $4 i32.const 0 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $5 local.get $5 i32.const 16 @@ -2945,7 +2840,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.set $1 @@ -2954,6 +2849,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -2965,9 +2864,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.set $1 @@ -2985,7 +2885,7 @@ i32.eqz if i32.const 0 - i32.const 456 + i32.const 136 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -3024,7 +2924,7 @@ i32.eqz if i32.const 0 - i32.const 456 + i32.const 136 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -3033,6 +2933,12 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 16 i32.and i32.eqz @@ -3053,6 +2959,10 @@ if local.get $0 call $~lib/rt/pure/appendRoot + global.get $~lib/error + if + return + end end else local.get $0 @@ -3069,7 +2979,7 @@ end end ) - (func $~lib/rt/pure/__release (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/heap/__heap_base i32.gt_u @@ -3078,429 +2988,795 @@ i32.const 16 i32.sub call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end end ) - (func $start:std/array-literal (; 37 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) + (func $~lib/error/Error#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 288 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 320 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 28 ;) (type $FUNCSIG$iii) (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 $std/array-literal/staticArrayI8 - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 392 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne if - i32.const 0 - i32.const 80 - i32.const 2 - i32.const 0 - call $~lib/builtins/abort - unreachable + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release end - global.get $std/array-literal/staticArrayI8 + local.get $3 + i32.store + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/array/Array#__unchecked_get (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 i32.const 0 - call $~lib/array/Array#__get + i32.shl + i32.add + i32.load8_s + ) + (func $~lib/array/Array#__get (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 80 - i32.const 3 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/staticArrayI8 - i32.const 1 - call $~lib/array/Array#__get - i32.const 1 - i32.eq - i32.eqz + i32.shr_u + i32.ge_u if i32.const 0 - i32.const 80 - i32.const 4 + i32.const 336 + call $~lib/error/RangeError#constructor + global.set $~lib/error i32.const 0 - call $~lib/builtins/abort - unreachable + return end - global.get $std/array-literal/staticArrayI8 + local.get $0 + local.get $1 + call $~lib/array/Array#__unchecked_get + ) + (func $~lib/array/Array#get:length (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__unchecked_get (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 i32.const 2 - call $~lib/array/Array#__get + i32.shl + i32.add + i32.load + ) + (func $~lib/array/Array#__get (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 i32.const 2 - i32.eq - i32.eqz + i32.shr_u + i32.ge_u if i32.const 0 - i32.const 80 - i32.const 5 + i32.const 336 + call $~lib/error/RangeError#constructor + global.set $~lib/error i32.const 0 - call $~lib/builtins/abort - unreachable + return end - global.get $std/array-literal/staticArrayI32 - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz + local.get $0 + local.get $1 + call $~lib/array/Array#__unchecked_get + ) + (func $~lib/rt/__allocArray (; 34 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + i32.const 16 + local.get $2 + call $~lib/rt/tlsf/__alloc + local.set $4 + global.get $~lib/error if i32.const 0 - i32.const 80 - i32.const 8 - i32.const 0 - call $~lib/builtins/abort - unreachable + return end - global.get $std/array-literal/staticArrayI32 - i32.const 0 - call $~lib/array/Array#__get + local.get $4 + local.set $5 + local.get $0 + local.get $1 + i32.shl + local.set $6 + local.get $6 i32.const 0 - i32.eq - i32.eqz + call $~lib/rt/tlsf/__alloc + local.set $4 + global.get $~lib/error if i32.const 0 - i32.const 80 - i32.const 9 - i32.const 0 - call $~lib/builtins/abort - unreachable + return end - global.get $std/array-literal/staticArrayI32 - i32.const 1 - call $~lib/array/Array#__get - i32.const 1 - i32.eq - i32.eqz + local.get $4 + local.set $7 + local.get $5 + local.get $7 + call $~lib/rt/pure/__retain + i32.store + local.get $5 + local.get $7 + i32.store offset=4 + local.get $5 + local.get $6 + i32.store offset=8 + local.get $5 + local.get $0 + i32.store offset=12 + local.get $3 if - i32.const 0 - i32.const 80 - i32.const 10 - i32.const 0 - call $~lib/builtins/abort - unreachable + local.get $7 + local.get $3 + local.get $6 + call $~lib/memory/memory.copy end - global.get $std/array-literal/staticArrayI32 - i32.const 2 - call $~lib/array/Array#__get - i32.const 2 - i32.eq + local.get $5 + ) + (func $std/array-literal/Ref#constructor (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 i32.eqz if i32.const 0 - i32.const 80 - i32.const 11 - i32.const 0 - call $~lib/builtins/abort - unreachable + i32.const 7 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 end - global.get $std/array-literal/emptyArrayI32 - call $~lib/array/Array#get:length - i32.const 0 - i32.eq + local.get $0 + ) + (func $~lib/array/Array#get:length (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $std/array-literal/RefWithCtor#constructor (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 i32.eqz if i32.const 0 - i32.const 80 - i32.const 14 - i32.const 0 - call $~lib/builtins/abort - unreachable + i32.const 9 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 end - i32.const 3 - i32.const 0 - i32.const 3 - i32.const 0 - call $~lib/rt/__allocArray - local.set $1 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $0 - global.get $std/array-literal/i - i32.store8 local.get $0 - global.get $std/array-literal/i - i32.const 1 - i32.add - global.set $std/array-literal/i - global.get $std/array-literal/i - i32.store8 offset=1 + ) + (func $~lib/array/Array#get:length (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - global.get $std/array-literal/i - i32.const 1 - i32.add - global.set $std/array-literal/i - global.get $std/array-literal/i - i32.store8 offset=2 - local.get $1 - call $~lib/rt/pure/__retain - global.set $std/array-literal/dynamicArrayI8 - global.get $std/array-literal/dynamicArrayI8 - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if + i32.load offset=12 + ) + (func $start:std/array-literal (; 39 ;) (type $FUNCSIG$v) + (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) + block $uncaughtError + global.get $std/array-literal/staticArrayI8 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 2 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/staticArrayI8 i32.const 0 - i32.const 80 - i32.const 19 + call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI8 - i32.const 0 - call $~lib/array/Array#__get - i32.const 0 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 3 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/staticArrayI8 + i32.const 1 + call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 4 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/staticArrayI8 + i32.const 2 + call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 5 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/staticArrayI32 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 8 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/staticArrayI32 i32.const 0 - i32.const 80 - i32.const 20 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI8 - i32.const 1 - call $~lib/array/Array#__get - i32.const 1 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 9 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/staticArrayI32 + i32.const 1 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/staticArrayI32 + i32.const 2 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/emptyArrayI32 + call $~lib/array/Array#get:length i32.const 0 - i32.const 80 - i32.const 21 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 14 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI8 - i32.const 2 - call $~lib/array/Array#__get - i32.const 2 - i32.eq - i32.eqz - if + i32.const 3 i32.const 0 - i32.const 80 - i32.const 22 + call $~lib/rt/__allocArray + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $1 + local.get $1 + i32.load offset=4 + local.set $0 + local.get $0 + global.get $std/array-literal/i + i32.store8 + local.get $0 + global.get $std/array-literal/i + i32.const 1 + i32.add + global.set $std/array-literal/i + global.get $std/array-literal/i + i32.store8 offset=1 + local.get $0 + global.get $std/array-literal/i + i32.const 1 + i32.add + global.set $std/array-literal/i + global.get $std/array-literal/i + i32.store8 offset=2 + local.get $1 + call $~lib/rt/pure/__retain + global.set $std/array-literal/dynamicArrayI8 + global.get $std/array-literal/dynamicArrayI8 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 19 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI8 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array-literal/i - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__allocArray - local.set $0 - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - global.get $std/array-literal/i - i32.store - local.get $1 - global.get $std/array-literal/i - i32.const 1 - i32.add - global.set $std/array-literal/i - global.get $std/array-literal/i - i32.store offset=4 - local.get $1 - global.get $std/array-literal/i - i32.const 1 - i32.add - global.set $std/array-literal/i - global.get $std/array-literal/i - i32.store offset=8 - local.get $0 - call $~lib/rt/pure/__retain - global.set $std/array-literal/dynamicArrayI32 - global.get $std/array-literal/dynamicArrayI32 - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 20 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI8 + i32.const 1 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 21 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI8 + i32.const 2 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 22 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $std/array-literal/i + i32.const 3 + i32.const 2 + i32.const 6 + i32.const 0 + call $~lib/rt/__allocArray + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $0 + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + global.get $std/array-literal/i + i32.store + local.get $1 + global.get $std/array-literal/i + i32.const 1 + i32.add + global.set $std/array-literal/i + global.get $std/array-literal/i + i32.store offset=4 + local.get $1 + global.get $std/array-literal/i + i32.const 1 + i32.add + global.set $std/array-literal/i + global.get $std/array-literal/i + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__retain + global.set $std/array-literal/dynamicArrayI32 + global.get $std/array-literal/dynamicArrayI32 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 27 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI32 i32.const 0 - i32.const 80 - i32.const 27 + call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI32 - i32.const 0 - call $~lib/array/Array#__get - i32.const 0 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 28 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI32 + i32.const 1 + call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 29 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/dynamicArrayI32 + i32.const 2 + call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 30 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 8 i32.const 0 - i32.const 80 - i32.const 28 + call $~lib/rt/__allocArray + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + local.set $1 + local.get $1 + i32.load offset=4 + local.set $0 + local.get $0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI32 - i32.const 1 - call $~lib/array/Array#__get - i32.const 1 - i32.eq - i32.eqz - if + call $std/array-literal/Ref#constructor + local.tee $2 + call $~lib/rt/pure/__retain + i32.store + local.get $0 i32.const 0 - i32.const 80 - i32.const 29 + call $std/array-literal/Ref#constructor + local.tee $3 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/dynamicArrayI32 - i32.const 2 - call $~lib/array/Array#__get - i32.const 2 - i32.eq - i32.eqz - if + call $std/array-literal/Ref#constructor + local.tee $4 + call $~lib/rt/pure/__retain + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__retain + global.set $std/array-literal/dynamicArrayRef + global.get $std/array-literal/dynamicArrayRef + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 34 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 10 i32.const 0 - i32.const 80 - i32.const 30 + call $~lib/rt/__allocArray + local.set $8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + local.set $0 + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 6 - i32.const 0 - call $~lib/rt/__allocArray - local.set $1 - local.get $1 - i32.load offset=4 - local.set $0 - local.get $0 - i32.const 0 - call $std/array-literal/Ref#constructor - local.tee $2 - call $~lib/rt/pure/__retain - i32.store - local.get $0 - i32.const 0 - call $std/array-literal/Ref#constructor - local.tee $3 - call $~lib/rt/pure/__retain - i32.store offset=4 - local.get $0 - i32.const 0 - call $std/array-literal/Ref#constructor - local.tee $4 - call $~lib/rt/pure/__retain - i32.store offset=8 - local.get $1 - call $~lib/rt/pure/__retain - global.set $std/array-literal/dynamicArrayRef - global.get $std/array-literal/dynamicArrayRef - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if + call $std/array-literal/RefWithCtor#constructor + local.tee $5 + call $~lib/rt/pure/__retain + i32.store + local.get $1 i32.const 0 - i32.const 80 - i32.const 34 + call $std/array-literal/RefWithCtor#constructor + local.tee $6 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 i32.const 0 - call $~lib/builtins/abort - unreachable + call $std/array-literal/RefWithCtor#constructor + local.tee $7 + call $~lib/rt/pure/__retain + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__retain + global.set $std/array-literal/dynamicArrayRefWithCtor + global.get $std/array-literal/dynamicArrayRefWithCtor + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 38 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/array-literal/emptyArrayI32 + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array-literal/dynamicArrayI8 + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array-literal/dynamicArrayI32 + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array-literal/dynamicArrayRef + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array-literal/dynamicArrayRefWithCtor + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + return end - i32.const 3 - i32.const 2 - i32.const 8 - i32.const 0 - call $~lib/rt/__allocArray - local.set $0 - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 0 - call $std/array-literal/RefWithCtor#constructor - local.tee $5 - call $~lib/rt/pure/__retain - i32.store - local.get $1 - i32.const 0 - call $std/array-literal/RefWithCtor#constructor - local.tee $6 - call $~lib/rt/pure/__retain - i32.store offset=4 - local.get $1 + i32.const 544 + i32.const 80 + i32.const 1 i32.const 0 - call $std/array-literal/RefWithCtor#constructor - local.tee $7 - call $~lib/rt/pure/__retain - i32.store offset=8 - local.get $0 - call $~lib/rt/pure/__retain - global.set $std/array-literal/dynamicArrayRefWithCtor - global.get $std/array-literal/dynamicArrayRefWithCtor - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 80 - i32.const 38 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/array-literal/emptyArrayI32 - call $~lib/rt/pure/__release - global.get $std/array-literal/dynamicArrayI8 - call $~lib/rt/pure/__release - global.get $std/array-literal/dynamicArrayI32 - call $~lib/rt/pure/__release - global.get $std/array-literal/dynamicArrayRef - call $~lib/rt/pure/__release - global.get $std/array-literal/dynamicArrayRefWithCtor - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release + call $~lib/builtins/abort + unreachable ) - (func $start (; 38 ;) (type $FUNCSIG$v) + (func $start (; 40 ;) (type $FUNCSIG$v) call $start:std/array-literal ) - (func $~lib/array/Array#__visit_impl (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 42 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/pure/markGray (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3527,7 +3803,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -3544,7 +3820,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3581,7 +3857,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3619,7 +3895,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 47 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3665,6 +3941,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -3676,7 +3956,7 @@ i32.eqz if i32.const 0 - i32.const 456 + i32.const 136 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -3715,7 +3995,7 @@ i32.eqz if i32.const 0 - i32.const 456 + i32.const 136 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -3745,7 +4025,7 @@ i32.eqz if i32.const 0 - i32.const 456 + i32.const 136 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -3753,7 +4033,7 @@ end end ) - (func $~lib/array/Array#__visit_impl (; 46 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3782,6 +4062,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -3792,7 +4076,7 @@ unreachable end ) - (func $~lib/array/Array#__visit_impl (; 47 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3821,6 +4105,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -3831,30 +4119,57 @@ unreachable end ) - (func $~lib/rt/__visit_members (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$10 - block $switch$1$case$8 - block $switch$1$case$6 - block $switch$1$case$5 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$2 $switch$1$case$8 $switch$1$case$2 $switch$1$case$10 $switch$1$default + block $switch$1$case$12 + block $switch$1$case$10 + block $switch$1$case$8 + block $switch$1$case$6 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$6 $switch$1$case$8 $switch$1$case$2 $switch$1$case$10 $switch$1$case$2 $switch$1$case$12 $switch$1$default + end + return end - return + br $block$4$break end + local.get $0 + local.get $1 + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 - local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + return end local.get $0 local.get $1 @@ -3883,6 +4198,6 @@ end return ) - (func $null (; 49 ;) (type $FUNCSIG$v) + (func $null (; 51 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 1dca1cd35b..9e50be42f1 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -1,12 +1,12 @@ (module (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$fiii (func (param i32 i32 i32) (result f32))) (type $FUNCSIG$fii (func (param i32 i32) (result f32))) @@ -26,192 +26,193 @@ (type $FUNCSIG$iiij (func (param i32 i32 i64) (result i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (import "Math" "random" (func $~lib/bindings/Math/random (result f64))) (memory $0 1) - (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 56) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 160) "(\00\00\00\01\00\00\00\01\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 216) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\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 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 360) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 400) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00b\00c") - (data (i32.const 424) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\02\03\04\05") - (data (i32.const 448) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\01\04\05") - (data (i32.const 472) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 520) "\05\00\00\00\01\00\00\00\00\00\00\00\05") - (data (i32.const 544) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01") - (data (i32.const 568) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 592) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 616) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 656) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") - (data (i32.const 696) "\14\00\00\00\01\00\00\00\00\00\00\00\14") - (data (i32.const 736) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01") - (data (i32.const 776) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 816) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 856) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y") - (data (i32.const 908) "\01") - (data (i32.const 924) "\01") - (data (i32.const 936) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 976) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1016) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1056) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") - (data (i32.const 1096) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1136) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 1176) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1216) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1256) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1296) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1336) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1376) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1416) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1456) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 1496) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1536) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1576) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1616) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1656) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1696) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1736) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1776) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 1816) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1856) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 1896) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 104) "(\00\00\00\01\00\00\00\01\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 160) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 196) "\01\00\00\00\01") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\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 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 352) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 392) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00b\00c") + (data (i32.const 416) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\02\03\04\05") + (data (i32.const 440) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\01\04\05") + (data (i32.const 464) "\05\00\00\00\01\00\00\00\00\00\00\00\05") + (data (i32.const 488) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01") + (data (i32.const 512) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 536) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 560) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 600) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") + (data (i32.const 640) "\14\00\00\00\01\00\00\00\00\00\00\00\14") + (data (i32.const 680) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01") + (data (i32.const 720) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 760) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 800) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y") + (data (i32.const 852) "\01") + (data (i32.const 868) "\01") + (data (i32.const 880) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 920) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 960) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1000) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") + (data (i32.const 1040) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1080) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data (i32.const 1120) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1160) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1200) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1240) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1280) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1320) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1360) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1400) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data (i32.const 1440) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1480) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1520) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1560) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1600) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1640) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1680) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1720) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data (i32.const 1760) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1800) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data (i32.const 1840) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1880) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1924) "\01") (data (i32.const 1936) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1980) "\01") - (data (i32.const 1992) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2032) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2064) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 2088) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2128) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\03\00\00\00\04") - (data (i32.const 2152) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05") - (data (i32.const 2184) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2224) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") - (data (i32.const 2248) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2280) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2320) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\05") - (data (i32.const 2344) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") - (data (i32.const 2376) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2416) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\04\00\00\00\05") - (data (i32.const 2440) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 2472) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2512) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\04") - (data (i32.const 2536) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") - (data (i32.const 2568) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2608) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") - (data (i32.const 2632) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1976) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2008) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 2032) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2072) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\03\00\00\00\04") + (data (i32.const 2096) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05") + (data (i32.const 2128) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2168) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") + (data (i32.const 2192) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2224) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2264) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\05") + (data (i32.const 2288) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data (i32.const 2320) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2360) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\04\00\00\00\05") + (data (i32.const 2384) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 2416) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2456) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\04") + (data (i32.const 2480) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") + (data (i32.const 2512) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2552) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") + (data (i32.const 2576) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2608) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2652) "\01") (data (i32.const 2664) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2708) "\01") - (data (i32.const 2720) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2704) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2748) "\01") (data (i32.const 2760) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2804) "\01") - (data (i32.const 2816) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2800) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2844) "\01") (data (i32.const 2856) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2900) "\01") - (data (i32.const 2912) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2896) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2940) "\01") (data (i32.const 2952) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2996) "\01") - (data (i32.const 3008) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2992) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 3036) "\01") (data (i32.const 3048) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3092) "\01") - (data (i32.const 3104) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3144) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 3184) "\ac\00\00\00\01\00\00\00\01\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 3376) " \00\00\00\01\00\00\00\00\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 3424) " \00\00\00\01\00\00\00\00\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 3472) "@\00\00\00\01\00\00\00\00\00\00\00@") - (data (i32.const 3494) "\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 3534) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 3552) "@\00\00\00\01\00\00\00\00\00\00\00@") - (data (i32.const 3574) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 3606) "\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 3632) "\14\00\00\00\01\00\00\00\00\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 3672) "\14\00\00\00\01\00\00\00\00\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 3712) "\14\00\00\00\01\00\00\00\00\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 3752) "\14\00\00\00\01\00\00\00\00\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 3796) "\01") - (data (i32.const 3808) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") - (data (i32.const 3832) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\02\00\00\00\01") - (data (i32.const 3856) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 3888) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 3920) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.") - (data (i32.const 3976) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") - (data (i32.const 4000) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 4024) "^\00\00\00\01\00\00\00\01\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 4136) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a") - (data (i32.const 4160) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b") - (data (i32.const 4184) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b") - (data (i32.const 4208) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a") - (data (i32.const 4236) "\01\00\00\00\01") - (data (i32.const 4248) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\008\10\00\00P\10\00\008\10\00\00h\10\00\00\80\10\00\00\98\10") - (data (i32.const 4296) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\00\98\10\00\008\10\00\008\10\00\00h\10\00\00P\10\00\00\80\10") - (data (i32.const 4344) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l") - (data (i32.const 4368) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\01") - (data (i32.const 4392) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e") - (data (i32.const 4416) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e") - (data (i32.const 4448) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00,") - (data (i32.const 4472) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 4512) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4544) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000") - (data (i32.const 4568) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00-\002\00-\003") - (data (i32.const 4600) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 4632) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-") - (data (i32.const 4656) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4680) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00_\00_") - (data (i32.const 4704) "0\00\00\00\01\00\00\00\01\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 4768) "0\00\00\00\01\00\00\00\00\00\00\000") - (data (i32.const 4798) "\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 4832) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00,\00 ") - (data (i32.const 4856) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000") - (data (i32.const 4880) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 4904) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4944) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4976) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\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_\0dXf\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$\00%\00^\00@\00#\00!\00?") + (data (i32.const 3320) " \00\00\00\01\00\00\00\00\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 3368) " \00\00\00\01\00\00\00\00\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 3416) "@\00\00\00\01\00\00\00\00\00\00\00@") + (data (i32.const 3438) "\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 3478) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 3496) "@\00\00\00\01\00\00\00\00\00\00\00@") + (data (i32.const 3518) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 3550) "\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 3576) "\14\00\00\00\01\00\00\00\00\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 3616) "\14\00\00\00\01\00\00\00\00\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 3656) "\14\00\00\00\01\00\00\00\00\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 3696) "\14\00\00\00\01\00\00\00\00\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 3740) "\01") + (data (i32.const 3752) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") + (data (i32.const 3776) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\02\00\00\00\01") + (data (i32.const 3800) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01") + (data (i32.const 3832) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 3864) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.") + (data (i32.const 3920) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") + (data (i32.const 3944) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 3968) "^\00\00\00\01\00\00\00\01\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 4080) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a") + (data (i32.const 4104) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b") + (data (i32.const 4128) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b") + (data (i32.const 4152) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a") + (data (i32.const 4176) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\00\00\10\00\00\18\10\00\00\00\10\00\000\10\00\00H\10\00\00\d0") + (data (i32.const 4224) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\00\d0\00\00\00\00\10\00\00\00\10\00\000\10\00\00\18\10\00\00H\10") + (data (i32.const 4272) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l") + (data (i32.const 4296) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\01") + (data (i32.const 4320) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e") + (data (i32.const 4344) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e") + (data (i32.const 4376) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00,") + (data (i32.const 4400) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data (i32.const 4440) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4472) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000") + (data (i32.const 4496) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00-\002\00-\003") + (data (i32.const 4528) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 4560) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-") + (data (i32.const 4584) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 4608) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00_\00_") + (data (i32.const 4632) "0\00\00\00\01\00\00\00\01\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 4696) "0\00\00\00\01\00\00\00\00\00\00\000") + (data (i32.const 4726) "\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 4760) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00,\00 ") + (data (i32.const 4784) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000") + (data (i32.const 4808) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") + (data (i32.const 4832) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 4872) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 4904) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\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_\0dXf\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~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 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|44 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|44 $start:std/array~anonymous|47 $start:std/array~anonymous|48 $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) @@ -233,7 +234,60 @@ (global $~lib/started (mut i32) (i32.const 0)) (export "__start" (func $start)) (export "memory" (memory $0)) - (func $~lib/rt/tlsf/removeBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/increment (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 7404 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -246,7 +300,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -268,7 +322,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -313,7 +367,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -399,7 +453,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -410,7 +464,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -424,7 +478,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -497,7 +551,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -554,7 +608,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -569,7 +623,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -619,7 +673,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -684,7 +738,7 @@ i32.or i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -705,7 +759,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -722,7 +776,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -750,7 +804,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -798,7 +852,7 @@ local.get $1 call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/tlsf/initializeRoot (; 9 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 11 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 1 @@ -818,10 +872,10 @@ if unreachable end - i32.const 7424 + i32.const 7408 i32.const 0 i32.store - i32.const 8992 + i32.const 8976 i32.const 0 i32.store i32.const 0 @@ -835,7 +889,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 7424 + i32.const 7408 i32.add i32.const 0 i32.store offset=4 @@ -854,7 +908,7 @@ i32.add i32.const 2 i32.shl - i32.const 7424 + i32.const 7408 i32.add i32.const 0 i32.store offset=96 @@ -872,26 +926,26 @@ br $loop|0 end end - i32.const 7424 - i32.const 9008 + i32.const 7408 + i32.const 8992 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 7424 + i32.const 7408 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 176 - i32.const 128 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -905,7 +959,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 i32.const 256 @@ -962,7 +1016,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -1014,7 +1068,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -1036,7 +1090,7 @@ end end ) - (func $~lib/rt/tlsf/growMemory (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) memory.size local.tee $2 @@ -1073,7 +1127,7 @@ i32.shl call $~lib/rt/tlsf/addMemory ) - (func $~lib/rt/tlsf/prepareBlock (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -1084,7 +1138,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -1149,13 +1203,19 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 local.get $1 call $~lib/rt/tlsf/prepareSize - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz @@ -1170,7 +1230,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 477 i32.const 15 call $~lib/builtins/abort @@ -1185,7 +1245,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 479 i32.const 13 call $~lib/builtins/abort @@ -1208,7 +1268,7 @@ call $~lib/rt/rtrace/onalloc local.get $2 ) - (func $~lib/rt/tlsf/__alloc (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/rt/tlsf/ROOT local.tee $2 @@ -1220,65 +1280,18 @@ end local.get $0 call $~lib/rt/tlsf/allocateBlock - local.tee $0 - local.get $1 - i32.store offset=8 - local.get $0 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne + local.set $0 + global.get $~lib/error if i32.const 0 - i32.const 232 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end local.get $0 local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 232 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 7412 - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end + i32.store offset=8 local.get $0 + i32.const 16 + i32.add ) (func $~lib/rt/tlsf/freeBlock (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) @@ -1289,7 +1302,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 531 i32.const 2 call $~lib/builtins/abort @@ -1308,21 +1321,21 @@ ) (func $~lib/rt/__typeinfo (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 7200 + i32.const 7176 i32.load i32.gt_u if - i32.const 280 - i32.const 336 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 3 i32.shl - i32.const 7204 + i32.const 7180 i32.add i32.load ) @@ -1506,7 +1519,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 561 i32.const 13 call $~lib/builtins/abort @@ -1522,7 +1535,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 562 i32.const 2 call $~lib/builtins/abort @@ -1555,7 +1568,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $0 + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 i32.const 16 i32.sub call $~lib/rt/rtrace/onfree @@ -1591,6 +1609,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -1605,6 +1627,7 @@ (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1619,7 +1642,7 @@ i32.and if i32.const 0 - i32.const 232 + i32.const 24 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -1652,7 +1675,7 @@ i32.le_u if i32.const 0 - i32.const 232 + i32.const 24 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -1661,6 +1684,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1694,7 +1721,7 @@ ) (func $~lib/rt/pure/__release (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 7412 + i32.const 7404 i32.gt_u if local.get $0 @@ -1703,7 +1730,67 @@ call $~lib/rt/pure/decrement end ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 26 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/error/Error#constructor (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 176 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 208 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.get $0 + call $~lib/error/Error#constructor + local.tee $1 + local.get $1 + i32.load + local.tee $3 + i32.const 280 + i32.ne + if + i32.const 280 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release + end + i32.const 280 + i32.store + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $1 i32.const 1073741808 @@ -1711,12 +1798,11 @@ i32.shr_u i32.gt_u if - i32.const 24 - i32.const 72 - i32.const 14 - i32.const 56 - call $~lib/builtins/abort - unreachable + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $2 @@ -1725,6 +1811,11 @@ i32.const 0 call $~lib/rt/tlsf/__alloc local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.eqz if @@ -1766,7 +1857,7 @@ i32.store offset=8 local.get $0 ) - (func $~lib/array/Array#constructor (; 27 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array#constructor (; 29 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 i32.const 3 @@ -1775,7 +1866,13 @@ i32.const 0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 i32.const 0 i32.store offset=12 local.get $0 @@ -1783,7 +1880,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array.isArray<~lib/array/Array | null> (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/array/Array | null> (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -1793,7 +1890,7 @@ i32.const 0 i32.ne ) - (func $~lib/array/Array.isArray (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -1801,40 +1898,52 @@ call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/rt/__allocArray (; 30 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocArray (; 32 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) i32.const 16 local.get $2 call $~lib/rt/tlsf/__alloc - local.tee $2 + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 local.get $1 i32.shl - local.tee $1 + local.tee $4 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $4 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.get $1 call $~lib/rt/pure/__retain i32.store local.get $2 - local.get $4 + local.get $1 i32.store offset=4 local.get $2 - local.get $1 + local.get $4 i32.store offset=8 local.get $2 local.get $0 i32.store offset=12 local.get $3 if - local.get $4 - local.get $3 local.get $1 + local.get $3 + local.get $4 call $~lib/memory/memory.copy end local.get $2 ) - (func $~lib/memory/memory.fill (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i64) block $~lib/util/memory/memset|inlined.0 @@ -2058,7 +2167,7 @@ end end ) - (func $~lib/array/Array#fill (; 32 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#fill (; 34 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) local.get $0 @@ -2125,18 +2234,17 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#__get (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -2144,9 +2252,11 @@ i32.add i32.load8_u ) - (func $std/array/isArraysEqual (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -2157,7 +2267,7 @@ block $folding-inner0 local.get $0 i32.load offset=12 - local.tee $3 + local.tee $4 local.get $1 i32.load offset=12 i32.ne @@ -2168,15 +2278,31 @@ br_if $folding-inner1 loop $loop|0 local.get $2 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 255 + i32.and + local.set $3 local.get $1 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 255 + i32.and + local.get $3 i32.ne br_if $folding-inner0 local.get $2 @@ -2201,7 +2327,7 @@ call $~lib/rt/pure/__release i32.const 1 ) - (func $~lib/array/Array#fill (; 35 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#fill (; 37 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) local.get $0 @@ -2277,7 +2403,7 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#__get (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2285,12 +2411,11 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -2300,8 +2425,10 @@ i32.add i32.load ) - (func $std/array/isArraysEqual (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -2335,9 +2462,19 @@ local.get $0 local.get $3 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 local.get $3 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end i32.ne br_if $folding-inner0 local.get $3 @@ -2362,7 +2499,7 @@ call $~lib/rt/pure/__release i32.const 1 ) - (func $std/array/internalCapacity (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/internalCapacity (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2382,7 +2519,7 @@ i32.const 2 i32.shr_s ) - (func $~lib/rt/tlsf/reallocateBlock (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2390,6 +2527,11 @@ local.get $2 call $~lib/rt/tlsf/prepareSize local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 i32.load local.tee $4 @@ -2397,7 +2539,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 493 i32.const 13 call $~lib/builtins/abort @@ -2470,7 +2612,13 @@ local.get $0 local.get $2 call $~lib/rt/tlsf/allocateBlock - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.get $1 i32.load offset=4 i32.store offset=4 @@ -2496,12 +2644,12 @@ call $~lib/rt/tlsf/insertBlock local.get $3 ) - (func $~lib/rt/tlsf/__realloc (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 553 i32.const 13 call $~lib/builtins/abort @@ -2517,7 +2665,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 554 i32.const 2 call $~lib/builtins/abort @@ -2529,10 +2677,15 @@ i32.sub local.get $1 call $~lib/rt/tlsf/reallocateBlock + global.get $~lib/error + if + i32.const 0 + return + end i32.const 16 i32.add ) - (func $~lib/array/ensureSize (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureSize (; 43 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2548,12 +2701,10 @@ i32.const 268435452 i32.gt_u if - i32.const 24 - i32.const 488 - i32.const 14 - i32.const 47 - call $~lib/builtins/abort - unreachable + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load @@ -2563,7 +2714,12 @@ i32.shl local.tee $3 call $~lib/rt/tlsf/__realloc - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.get $2 i32.add i32.const 0 @@ -2588,7 +2744,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#push (; 42 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#push (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2599,6 +2755,10 @@ i32.add local.tee $3 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 i32.load offset=4 local.get $2 @@ -2611,7 +2771,7 @@ local.get $3 i32.store offset=12 ) - (func $~lib/array/Array#pop (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#pop (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2620,12 +2780,11 @@ i32.const 1 i32.lt_s if - i32.const 872 - i32.const 488 - i32.const 287 - i32.const 20 - call $~lib/builtins/abort - unreachable + i32.const 816 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -2641,7 +2800,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/array/Array#concat (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#concat (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2663,20 +2822,25 @@ i32.const 268435452 i32.gt_u if + i32.const 0 + i32.const 320 + call $~lib/error/Error#constructor + global.set $~lib/error local.get $1 call $~lib/rt/pure/__release - i32.const 24 - i32.const 488 - i32.const 217 - i32.const 59 - call $~lib/builtins/abort - unreachable + i32.const 0 + return end local.get $2 i32.const 2 i32.const 3 i32.const 0 call $~lib/rt/__allocArray + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.tee $2 i32.load offset=4 @@ -2701,7 +2865,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/array/Array#copyWithin (; 45 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#copyWithin (; 47 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) local.get $3 @@ -2805,7 +2969,7 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#unshift (; 46 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#unshift (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2815,6 +2979,10 @@ i32.add local.tee $2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 i32.load offset=4 local.tee $3 @@ -2834,7 +3002,7 @@ local.get $2 i32.store offset=12 ) - (func $~lib/array/Array#shift (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#shift (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2845,12 +3013,11 @@ i32.const 1 i32.lt_s if - i32.const 872 - i32.const 488 - i32.const 348 - i32.const 20 - call $~lib/builtins/abort - unreachable + i32.const 816 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -2877,7 +3044,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/array/Array#reverse (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#reverse (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2928,7 +3095,7 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#indexOf (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#indexOf (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -2990,7 +3157,7 @@ end i32.const -1 ) - (func $~lib/array/Array#includes (; 50 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#includes (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $1 local.get $2 @@ -2998,7 +3165,7 @@ i32.const 0 i32.ge_s ) - (func $~lib/array/Array#splice (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#splice (; 53 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3046,6 +3213,11 @@ i32.const 3 i32.const 0 call $~lib/rt/__allocArray + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.tee $4 i32.load offset=4 @@ -3088,7 +3260,7 @@ i32.store offset=12 local.get $4 ) - (func $~lib/array/Array#__set (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 54 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -3098,6 +3270,10 @@ i32.const 1 i32.add call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 i32.load offset=4 local.get $1 @@ -3117,7 +3293,7 @@ i32.store offset=12 end ) - (func $start:std/array~anonymous|0 (; 53 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|0 (; 55 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3126,22 +3302,22 @@ local.get $0 i32.eqz ) - (func $~lib/array/Array#findIndex (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) local.get $0 i32.load offset=12 - local.set $3 + local.set $4 loop $loop|0 block $break|0 local.get $2 - local.get $3 + local.get $4 local.get $0 i32.load offset=12 - local.tee $4 - local.get $3 + local.tee $3 local.get $4 + local.get $3 i32.lt_s select i32.ge_s @@ -3159,6 +3335,11 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + if + i32.const 0 + return + end if local.get $2 return @@ -3174,7 +3355,7 @@ end i32.const -1 ) - (func $start:std/array~anonymous|1 (; 55 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|1 (; 57 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3184,7 +3365,7 @@ i32.const 1 i32.eq ) - (func $start:std/array~anonymous|2 (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|2 (; 58 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3194,33 +3375,43 @@ i32.const 100 i32.eq ) - (func $start:std/array~anonymous|3 (; 57 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|3 (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 i32.const 100 call $~lib/array/Array#push + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 call $~lib/rt/pure/__release local.get $0 i32.const 100 i32.eq ) - (func $start:std/array~anonymous|5 (; 58 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|5 (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop drop + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 call $~lib/rt/pure/__release local.get $0 i32.const 100 i32.eq ) - (func $start:std/array~anonymous|6 (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|6 (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3230,22 +3421,22 @@ i32.const 0 i32.ge_s ) - (func $~lib/array/Array#every (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#every (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) local.get $0 i32.load offset=12 - local.set $3 + local.set $4 loop $loop|0 block $break|0 local.get $2 - local.get $3 + local.get $4 local.get $0 i32.load offset=12 - local.tee $4 - local.get $3 + local.tee $3 local.get $4 + local.get $3 i32.lt_s select i32.ge_s @@ -3263,6 +3454,11 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + if + i32.const 0 + return + end if local.get $2 i32.const 1 @@ -3278,7 +3474,7 @@ end i32.const 1 ) - (func $start:std/array~anonymous|7 (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|7 (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3288,20 +3484,25 @@ i32.const 0 i32.le_s ) - (func $start:std/array~anonymous|8 (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|8 (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 i32.const 100 call $~lib/array/Array#push + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 call $~lib/rt/pure/__release local.get $0 i32.const 10 i32.lt_s ) - (func $start:std/array~anonymous|9 (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|9 (; 65 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3311,20 +3512,25 @@ i32.const 10 i32.lt_s ) - (func $start:std/array~anonymous|10 (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|10 (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop drop + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 call $~lib/rt/pure/__release local.get $0 i32.const 3 i32.lt_s ) - (func $start:std/array~anonymous|11 (; 65 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|11 (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3334,22 +3540,22 @@ i32.const 3 i32.ge_s ) - (func $~lib/array/Array#some (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#some (; 68 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) local.get $0 i32.load offset=12 - local.set $3 + local.set $4 loop $loop|0 block $break|0 local.get $2 - local.get $3 + local.get $4 local.get $0 i32.load offset=12 - local.tee $4 - local.get $3 + local.tee $3 local.get $4 + local.get $3 i32.lt_s select i32.ge_s @@ -3367,6 +3573,11 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + if + i32.const 0 + return + end if i32.const 1 return @@ -3382,7 +3593,7 @@ end i32.const 0 ) - (func $start:std/array~anonymous|12 (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|12 (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3392,20 +3603,25 @@ i32.const -1 i32.le_s ) - (func $start:std/array~anonymous|13 (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|13 (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 i32.const 100 call $~lib/array/Array#push + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 call $~lib/rt/pure/__release local.get $0 i32.const 10 i32.gt_s ) - (func $start:std/array~anonymous|14 (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|14 (; 71 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3415,20 +3631,25 @@ i32.const 10 i32.gt_s ) - (func $start:std/array~anonymous|15 (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|15 (; 72 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop drop + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 call $~lib/rt/pure/__release local.get $0 i32.const 3 i32.gt_s ) - (func $start:std/array~anonymous|16 (; 71 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|16 (; 73 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3439,7 +3660,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#forEach (; 72 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#forEach (; 74 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3472,22 +3693,29 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$viii) - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $loop|0 + global.get $~lib/error + i32.eqz + if + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $loop|0 + end end - unreachable end ) - (func $start:std/array~anonymous|17 (; 73 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|17 (; 75 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 i32.const 100 call $~lib/array/Array#push + global.get $~lib/error + if + return + end global.get $std/array/i local.get $0 i32.add @@ -3495,13 +3723,17 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|19 (; 74 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|19 (; 76 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop drop + global.get $~lib/error + if + return + end global.get $std/array/i local.get $0 i32.add @@ -3509,7 +3741,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|20 (; 75 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|20 (; 77 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -3526,11 +3758,17 @@ local.get $2 call $~lib/array/Array#pop drop - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $loop|0 + global.get $~lib/error + if + return + else + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $loop|0 + end + unreachable end end i32.const 0 @@ -3546,11 +3784,17 @@ i32.const 100 i32.add call $~lib/array/Array#push - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $loop|1 + global.get $~lib/error + if + return + else + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $loop|1 + end + unreachable end end i32.const 0 @@ -3564,11 +3808,17 @@ local.get $2 call $~lib/array/Array#pop drop - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $loop|2 + global.get $~lib/error + if + return + else + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $loop|2 + end + unreachable end end i32.const 0 @@ -3584,11 +3834,17 @@ i32.const 200 i32.add call $~lib/array/Array#push - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $loop|3 + global.get $~lib/error + if + return + else + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $loop|3 + end + unreachable end end end @@ -3601,7 +3857,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 568 i32.const 6 call $~lib/builtins/abort @@ -3611,7 +3867,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|21 (; 76 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $start:std/array~anonymous|21 (; 78 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3620,7 +3876,7 @@ local.get $0 f32.convert_i32_s ) - (func $~lib/array/Array#map (; 77 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#map (; 79 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3629,56 +3885,71 @@ (local $6 f32) local.get $0 i32.load offset=12 - local.tee $3 + local.tee $2 i32.const 2 - i32.const 8 + i32.const 10 i32.const 0 call $~lib/rt/__allocArray + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain - local.tee $4 + local.tee $3 i32.load offset=4 - local.set $5 + local.set $4 + i32.const 0 + local.set $1 loop $loop|0 local.get $1 - local.get $3 + local.get $2 local.get $0 i32.load offset=12 - local.tee $2 - local.get $3 + local.tee $5 local.get $2 + local.get $5 i32.lt_s select i32.lt_s if i32.const 3 global.set $~lib/argc + local.get $0 + i32.load offset=4 local.get $1 i32.const 2 i32.shl - local.tee $2 - local.get $0 - i32.load offset=4 i32.add i32.load local.get $1 local.get $0 call $start:std/array~anonymous|21 local.set $6 - local.get $2 - local.get $5 - i32.add - local.get $6 - f32.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $loop|0 + global.get $~lib/error + if + i32.const 0 + return + else + local.get $1 + i32.const 2 + i32.shl + local.get $4 + i32.add + local.get $6 + f32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end + unreachable end end - local.get $4 + local.get $3 ) - (func $~lib/array/Array#__get (; 78 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__get (; 80 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -3686,12 +3957,11 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f32.const 0 + return end local.get $0 i32.load offset=4 @@ -3701,13 +3971,18 @@ i32.add f32.load ) - (func $start:std/array~anonymous|22 (; 79 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|22 (; 81 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 i32.const 100 call $~lib/array/Array#push + global.get $~lib/error + if + i32.const 0 + return + end global.get $std/array/i local.get $0 i32.add @@ -3716,13 +3991,12 @@ call $~lib/rt/pure/__release local.get $0 ) - (func $~lib/array/Array#map (; 80 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 82 ;) (type $FUNCSIG$iii) (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 offset=12 local.tee $4 @@ -3730,10 +4004,17 @@ i32.const 3 i32.const 0 call $~lib/rt/__allocArray + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.tee $5 i32.load offset=4 local.set $6 + i32.const 0 + local.set $2 loop $loop|0 block $break|0 local.get $2 @@ -3749,34 +4030,42 @@ br_if $break|0 i32.const 3 global.set $~lib/argc + local.get $0 + i32.load offset=4 local.get $2 i32.const 2 i32.shl - local.tee $3 - local.get $0 - i32.load offset=4 i32.add i32.load local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) - local.set $7 - local.get $3 - local.get $6 - i32.add - local.get $7 - i32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $loop|0 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + else + local.get $2 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $3 + i32.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $loop|0 + end + unreachable end end local.get $5 ) - (func $start:std/array~anonymous|23 (; 81 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|23 (; 83 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3788,13 +4077,18 @@ call $~lib/rt/pure/__release local.get $0 ) - (func $start:std/array~anonymous|24 (; 82 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|24 (; 84 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop drop + global.get $~lib/error + if + i32.const 0 + return + end global.get $std/array/i local.get $0 i32.add @@ -3803,7 +4097,7 @@ call $~lib/rt/pure/__release local.get $0 ) - (func $start:std/array~anonymous|25 (; 83 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|25 (; 85 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3813,18 +4107,26 @@ i32.const 2 i32.ge_s ) - (func $~lib/array/Array#filter (; 84 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#filter (; 86 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) i32.const 0 i32.const 2 i32.const 3 i32.const 0 call $~lib/rt/__allocArray + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $4 + i32.const 0 + local.set $2 local.get $0 i32.load offset=12 local.set $5 @@ -3856,10 +4158,20 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + if + i32.const 0 + return + end if local.get $4 local.get $3 call $~lib/array/Array#push + global.get $~lib/error + if + i32.const 0 + return + end end local.get $2 i32.const 1 @@ -3870,13 +4182,18 @@ end local.get $4 ) - (func $start:std/array~anonymous|26 (; 85 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|26 (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 i32.const 100 call $~lib/array/Array#push + global.get $~lib/error + if + i32.const 0 + return + end global.get $std/array/i local.get $0 i32.add @@ -3887,7 +4204,7 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|27 (; 86 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|27 (; 88 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -3901,13 +4218,18 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|28 (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|28 (; 89 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop drop + global.get $~lib/error + if + i32.const 0 + return + end global.get $std/array/i local.get $0 i32.add @@ -3918,7 +4240,7 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|29 (; 88 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|29 (; 90 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/rt/pure/__retain drop @@ -3928,7 +4250,7 @@ local.get $1 i32.add ) - (func $~lib/array/Array#reduce (; 89 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 91 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3963,16 +4285,23 @@ local.get $1 call_indirect (type $FUNCSIG$iiiii) local.set $2 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $loop|0 + global.get $~lib/error + if + i32.const 0 + return + else + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $loop|0 + end + unreachable end end local.get $2 ) - (func $start:std/array~anonymous|31 (; 90 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|31 (; 92 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/rt/pure/__retain drop @@ -3985,7 +4314,7 @@ local.get $0 select ) - (func $start:std/array~anonymous|32 (; 91 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|32 (; 93 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/rt/pure/__retain drop @@ -3998,33 +4327,43 @@ local.get $0 select ) - (func $start:std/array~anonymous|33 (; 92 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|33 (; 94 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/rt/pure/__retain drop local.get $3 i32.const 1 call $~lib/array/Array#push + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 call $~lib/rt/pure/__release local.get $0 local.get $1 i32.add ) - (func $start:std/array~anonymous|35 (; 93 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|35 (; 95 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/rt/pure/__retain drop local.get $3 call $~lib/array/Array#pop drop + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 call $~lib/rt/pure/__release local.get $0 local.get $1 i32.add ) - (func $~lib/array/Array#reduceRight (; 94 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 96 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -4052,16 +4391,23 @@ local.get $1 call_indirect (type $FUNCSIG$iiiii) local.set $2 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $loop|0 + global.get $~lib/error + if + i32.const 0 + return + else + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $loop|0 + end + unreachable end end local.get $2 ) - (func $~lib/math/murmurHash3 (; 95 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) + (func $~lib/math/murmurHash3 (; 97 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) local.get $0 i64.const 33 i64.shr_u @@ -4082,7 +4428,7 @@ i64.shr_u i64.xor ) - (func $~lib/math/splitMix32 (; 96 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 98 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -4114,12 +4460,12 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 97 ;) (type $FUNCSIG$vj) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 99 ;) (type $FUNCSIG$vj) (param $0 i64) local.get $0 i64.eqz if i32.const 0 - i32.const 3160 + i32.const 3104 i32.const 1020 i32.const 4 call $~lib/builtins/abort @@ -4143,12 +4489,12 @@ call $~lib/math/splitMix32 global.set $~lib/math/random_state1_32 ) - (func $~lib/util/sort/insertionSort (; 98 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 100 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 f32) + (local $5 i32) (local $6 f32) - (local $7 i32) + (local $7 f32) block $break|0 loop $loop|0 local.get $3 @@ -4161,7 +4507,7 @@ local.get $0 i32.add f32.load - local.set $5 + local.set $6 local.get $3 i32.const 1 i32.sub @@ -4178,29 +4524,33 @@ local.get $0 i32.add f32.load - local.set $6 + local.set $7 i32.const 2 global.set $~lib/argc - local.get $5 local.get $6 + local.get $7 local.get $2 call_indirect (type $FUNCSIG$iff) + global.get $~lib/error + if + return + end i32.const 0 i32.ge_s br_if $break|1 local.get $4 - local.tee $7 + local.tee $5 i32.const 1 i32.sub local.set $4 - local.get $7 + local.get $5 i32.const 1 i32.add i32.const 2 i32.shl local.get $0 i32.add - local.get $6 + local.get $7 f32.store br $continue|1 end @@ -4212,7 +4562,7 @@ i32.shl local.get $0 i32.add - local.get $5 + local.get $6 f32.store local.get $3 i32.const 1 @@ -4223,7 +4573,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 99 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 101 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f32) @@ -4240,7 +4590,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $6 + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 0 local.get $3 call $~lib/memory/memory.fill @@ -4309,6 +4664,10 @@ local.get $7 local.get $2 call_indirect (type $FUNCSIG$iff) + global.get $~lib/error + if + return + end i32.const 0 i32.lt_s if @@ -4428,6 +4787,10 @@ local.get $7 local.get $2 call_indirect (type $FUNCSIG$iff) + global.get $~lib/error + if + return + end i32.const 0 i32.lt_s if @@ -4486,7 +4849,7 @@ local.get $5 f32.store ) - (func $~lib/array/Array#sort (; 100 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 102 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f32) @@ -4520,6 +4883,11 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$iff) + global.get $~lib/error + if + i32.const 0 + return + end i32.const 0 i32.lt_s if @@ -4548,10 +4916,14 @@ local.get $1 call $~lib/util/sort/weakHeapSort end + block $~lib/util/sort/SORT|inlined.0 + global.get $~lib/error + br_if $~lib/util/sort/SORT|inlined.0 + end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 101 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 103 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4580,14 +4952,17 @@ i32.lt_s i32.sub ) - (func $~lib/number/isNaN (; 102 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 104 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne ) - (func $std/array/isArraysEqual (; 103 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 105 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) + (local $3 f32) + (local $4 i32) + (local $5 i32) + (local $6 f32) local.get $0 call $~lib/rt/pure/__retain drop @@ -4598,7 +4973,7 @@ block $folding-inner0 local.get $0 i32.load offset=12 - local.tee $3 + local.tee $4 local.get $1 i32.load offset=12 i32.ne @@ -4609,25 +4984,47 @@ br_if $folding-inner1 loop $loop|0 local.get $2 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/number/isNaN + local.set $5 local.get $1 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/number/isNaN + local.get $5 i32.ne if local.get $0 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end f32.ne br_if $folding-inner0 end @@ -4653,12 +5050,12 @@ call $~lib/rt/pure/__release i32.const 1 ) - (func $~lib/util/sort/insertionSort (; 104 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 106 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 f64) + (local $5 i32) (local $6 f64) - (local $7 i32) + (local $7 f64) block $break|0 loop $loop|0 local.get $3 @@ -4671,7 +5068,7 @@ local.get $0 i32.add f64.load - local.set $5 + local.set $6 local.get $3 i32.const 1 i32.sub @@ -4688,29 +5085,33 @@ local.get $0 i32.add f64.load - local.set $6 + local.set $7 i32.const 2 global.set $~lib/argc - local.get $5 local.get $6 + local.get $7 local.get $2 call_indirect (type $FUNCSIG$idd) + global.get $~lib/error + if + return + end i32.const 0 i32.ge_s br_if $break|1 local.get $4 - local.tee $7 + local.tee $5 i32.const 1 i32.sub local.set $4 - local.get $7 + local.get $5 i32.const 1 i32.add i32.const 3 i32.shl local.get $0 i32.add - local.get $6 + local.get $7 f64.store br $continue|1 end @@ -4722,7 +5123,7 @@ i32.shl local.get $0 i32.add - local.get $5 + local.get $6 f64.store local.get $3 i32.const 1 @@ -4733,7 +5134,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 105 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 107 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f64) @@ -4750,7 +5151,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $6 + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 0 local.get $3 call $~lib/memory/memory.fill @@ -4819,6 +5225,10 @@ local.get $7 local.get $2 call_indirect (type $FUNCSIG$idd) + global.get $~lib/error + if + return + end i32.const 0 i32.lt_s if @@ -4938,6 +5348,10 @@ local.get $7 local.get $2 call_indirect (type $FUNCSIG$idd) + global.get $~lib/error + if + return + end i32.const 0 i32.lt_s if @@ -4996,7 +5410,7 @@ local.get $5 f64.store ) - (func $~lib/array/Array#sort (; 106 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 108 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f64) @@ -5030,6 +5444,11 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$idd) + global.get $~lib/error + if + i32.const 0 + return + end i32.const 0 i32.lt_s if @@ -5058,10 +5477,14 @@ local.get $1 call $~lib/util/sort/weakHeapSort end + block $~lib/util/sort/SORT|inlined.0 + global.get $~lib/error + br_if $~lib/util/sort/SORT|inlined.0 + end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 107 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 109 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -5090,7 +5513,7 @@ i64.lt_s i32.sub ) - (func $~lib/array/Array#__get (; 108 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__get (; 110 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -5098,12 +5521,11 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f64.const 0 + return end local.get $0 i32.load offset=4 @@ -5113,14 +5535,17 @@ i32.add f64.load ) - (func $~lib/number/isNaN (; 109 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 111 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $std/array/isArraysEqual (; 110 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 112 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) + (local $3 f64) + (local $4 i32) + (local $5 i32) + (local $6 f64) local.get $0 call $~lib/rt/pure/__retain drop @@ -5131,7 +5556,7 @@ block $folding-inner0 local.get $0 i32.load offset=12 - local.tee $3 + local.tee $4 local.get $1 i32.load offset=12 i32.ne @@ -5142,25 +5567,47 @@ br_if $folding-inner1 loop $loop|0 local.get $2 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/number/isNaN + local.set $5 local.get $1 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/number/isNaN + local.get $5 i32.ne if local.get $0 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end f64.ne br_if $folding-inner0 end @@ -5186,7 +5633,7 @@ call $~lib/rt/pure/__release i32.const 1 ) - (func $~lib/util/sort/insertionSort (; 111 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 113 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5204,7 +5651,7 @@ local.get $0 i32.add i32.load - local.set $5 + local.set $6 local.get $3 i32.const 1 i32.sub @@ -5221,29 +5668,33 @@ local.get $0 i32.add i32.load - local.set $6 + local.set $7 i32.const 2 global.set $~lib/argc - local.get $5 local.get $6 + local.get $7 local.get $2 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + return + end i32.const 0 i32.ge_s br_if $break|1 local.get $4 - local.tee $7 + local.tee $5 i32.const 1 i32.sub local.set $4 - local.get $7 + local.get $5 i32.const 1 i32.add i32.const 2 i32.shl local.get $0 i32.add - local.get $6 + local.get $7 i32.store br $continue|1 end @@ -5255,7 +5706,7 @@ i32.shl local.get $0 i32.add - local.get $5 + local.get $6 i32.store local.get $3 i32.const 1 @@ -5266,7 +5717,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 112 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 114 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5283,7 +5734,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $5 + local.set $5 + global.get $~lib/error + if + return + end + local.get $5 i32.const 0 local.get $3 call $~lib/memory/memory.fill @@ -5332,7 +5788,7 @@ local.get $4 i32.const 1 i32.shr_s - local.tee $7 + local.tee $6 i32.const 2 i32.shl local.get $0 @@ -5345,13 +5801,17 @@ local.get $0 i32.add i32.load - local.set $6 + local.set $7 i32.const 2 global.set $~lib/argc local.get $4 - local.get $6 + local.get $7 local.get $2 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + return + end i32.const 0 i32.lt_s if @@ -5379,12 +5839,12 @@ i32.add local.get $4 i32.store - local.get $7 + local.get $6 i32.const 2 i32.shl local.get $0 i32.add - local.get $6 + local.get $7 i32.store end local.get $3 @@ -5464,13 +5924,17 @@ local.get $0 i32.add i32.load - local.set $6 + local.set $7 i32.const 2 global.set $~lib/argc local.get $3 - local.get $6 + local.get $7 local.get $2 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + return + end i32.const 0 i32.lt_s if @@ -5481,8 +5945,8 @@ i32.shl local.get $5 i32.add - local.tee $7 - local.get $7 + local.tee $6 + local.get $6 i32.load i32.const 1 local.get $1 @@ -5499,7 +5963,7 @@ local.get $3 i32.store local.get $0 - local.get $6 + local.get $7 i32.store end local.get $1 @@ -5529,7 +5993,7 @@ local.get $1 i32.store ) - (func $~lib/array/Array#sort (; 113 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 115 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5562,6 +6026,11 @@ local.get $4 local.get $1 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + i32.const 0 + return + end i32.const 0 i32.lt_s if @@ -5590,15 +6059,19 @@ local.get $1 call $~lib/util/sort/weakHeapSort end + block $~lib/util/sort/SORT|inlined.0 + global.get $~lib/error + br_if $~lib/util/sort/SORT|inlined.0 + end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 114 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 116 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 115 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 117 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.gt_u @@ -5607,23 +6080,27 @@ i32.lt_u i32.sub ) - (func $~lib/array/Array.create (; 116 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.create (; 118 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 268435452 i32.gt_u if - i32.const 24 - i32.const 488 - i32.const 45 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 2 i32.const 3 i32.const 0 call $~lib/rt/__allocArray + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.tee $0 i32.const 0 @@ -5636,12 +6113,17 @@ call $~lib/memory/memory.fill local.get $0 ) - (func $std/array/createReverseOrderedArray (; 117 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedArray (; 119 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 call $~lib/array/Array.create local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end loop $loop|0 block $break|0 local.get $1 @@ -5656,27 +6138,34 @@ local.get $1 i32.sub call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $loop|0 + global.get $~lib/error + if + i32.const 0 + return + else + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end + unreachable end end local.get $2 ) - (func $~lib/math/NativeMath.random (; 118 ;) (type $FUNCSIG$d) (result f64) + (func $~lib/math/NativeMath.random (; 120 ;) (type $FUNCSIG$d) (result f64) (local $0 i64) (local $1 i64) global.get $~lib/math/random_seeded i32.eqz if - i32.const 3936 - i32.const 3160 - i32.const 1029 - i32.const 24 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 3880 + call $~lib/error/Error#constructor + global.set $~lib/error + f64.const 0 + return end global.get $~lib/math/random_state0_64 local.set $0 @@ -5712,38 +6201,60 @@ f64.const 1 f64.sub ) - (func $std/array/createRandomOrderedArray (; 119 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomOrderedArray (; 121 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) + (local $3 f64) local.get $0 call $~lib/array/Array.create local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end loop $loop|0 block $break|0 local.get $1 local.get $0 i32.ge_s br_if $break|0 + call $~lib/math/NativeMath.random + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 local.get $1 - call $~lib/math/NativeMath.random + local.get $3 local.get $0 f64.convert_i32_s f64.mul i32.trunc_f64_s call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $loop|0 + global.get $~lib/error + if + i32.const 0 + return + else + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end + unreachable end end local.get $2 ) - (func $std/array/isSorted (; 120 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 122 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -5751,10 +6262,10 @@ local.set $2 local.get $0 i32.load offset=12 - local.set $3 + local.set $4 loop $loop|0 local.get $2 - local.get $3 + local.get $4 i32.lt_s if i32.const 2 @@ -5764,11 +6275,26 @@ i32.const 1 i32.sub call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 local.get $2 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + i32.const 0 + return + end i32.const 0 i32.gt_s if @@ -5790,7 +6316,7 @@ call $~lib/rt/pure/__release i32.const 1 ) - (func $std/array/assertSorted (; 121 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 123 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -5798,13 +6324,22 @@ local.get $0 local.get $1 call $~lib/array/Array#sort - local.tee $2 + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.get $1 call $std/array/isSorted + global.get $~lib/error + if + return + end i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 830 i32.const 2 call $~lib/builtins/abort @@ -5815,28 +6350,37 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/array/assertSortedDefault (; 122 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/array/assertSortedDefault (; 124 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/rt/pure/__retain drop local.get $0 i32.const 48 call $std/array/assertSorted + global.get $~lib/error + if + return + end local.get $0 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|44 (; 123 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|44 (; 125 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $~lib/array/Array.create<~lib/array/Array> (; 124 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array.create<~lib/array/Array> (; 126 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 2 i32.const 2 - i32.const 10 + i32.const 12 i32.const 0 call $~lib/rt/__allocArray + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.tee $0 i32.const 0 @@ -5849,7 +6393,7 @@ call $~lib/memory/memory.fill local.get $0 ) - (func $~lib/array/Array<~lib/array/Array>#__unchecked_set (; 125 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/array/Array>#__unchecked_set (; 127 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -5871,11 +6415,15 @@ i32.store local.get $1 call $~lib/rt/pure/__release + global.get $~lib/error + if + return + end end local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/array/Array<~lib/array/Array>#__set (; 126 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/array/Array>#__set (; 128 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5886,24 +6434,31 @@ local.tee $3 i32.gt_u if + i32.const 0 + i32.const 3984 + call $~lib/error/Error#constructor + global.set $~lib/error local.get $2 call $~lib/rt/pure/__release - i32.const 4040 - i32.const 488 - i32.const 121 - i32.const 38 - call $~lib/builtins/abort - unreachable + return end local.get $0 local.get $1 i32.const 1 i32.add call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 local.get $1 local.get $2 call $~lib/array/Array<~lib/array/Array>#__unchecked_set + global.get $~lib/error + if + return + end local.get $1 local.get $3 i32.ge_s @@ -5917,12 +6472,17 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/array/createReverseOrderedNestedArray (; 127 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createReverseOrderedNestedArray (; 129 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) call $~lib/array/Array.create<~lib/array/Array> - local.set $1 + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end loop $loop|0 local.get $0 i32.const 2 @@ -5930,29 +6490,48 @@ if i32.const 1 call $~lib/array/Array.create - local.tee $2 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 i32.const 0 i32.const 1 local.get $0 i32.sub call $~lib/array/Array#__set - local.get $1 - local.get $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 - call $~lib/array/Array<~lib/array/Array>#__set local.get $0 - i32.const 1 - i32.add - local.set $0 - local.get $2 - call $~lib/rt/pure/__release - br $loop|0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#__set + global.get $~lib/error + if + i32.const 0 + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + local.get $1 + call $~lib/rt/pure/__release + br $loop|0 + end + unreachable end end - local.get $1 + local.get $2 ) - (func $start:std/array~anonymous|47 (; 128 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|47 (; 130 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -5962,16 +6541,26 @@ local.get $0 i32.const 0 call $~lib/array/Array#__get + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 i32.const 0 call $~lib/array/Array#__get - i32.sub + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + i32.sub ) - (func $~lib/util/sort/insertionSort<~lib/array/Array> (; 129 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort<~lib/array/Array> (; 131 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6014,6 +6603,10 @@ local.get $5 local.get $2 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + return + end i32.const 0 i32.lt_s if @@ -6060,7 +6653,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/array/Array>#sort (; 130 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#sort (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6095,6 +6688,11 @@ local.get $4 local.get $1 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + i32.const 0 + return + end i32.const 0 i32.lt_s if @@ -6117,10 +6715,14 @@ local.get $2 local.get $1 call $~lib/util/sort/insertionSort<~lib/array/Array> + block $~lib/util/sort/SORT<~lib/array/Array>|inlined.0 + global.get $~lib/error + br_if $~lib/util/sort/SORT<~lib/array/Array>|inlined.0 + end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 131 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 133 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -6130,18 +6732,18 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/array/Array>#__get (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__get (; 134 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 4040 - i32.const 488 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 3984 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -6150,22 +6752,22 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#__unchecked_get ) - (func $std/array/isSorted<~lib/array/Array> (; 133 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/array/Array> (; 135 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -6186,13 +6788,30 @@ i32.const 1 i32.sub call $~lib/array/Array<~lib/array/Array>#__get - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 local.get $2 call $~lib/array/Array<~lib/array/Array>#__get - local.tee $4 + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.get $4 local.get $1 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + i32.const 0 + return + end i32.const 0 i32.gt_s if @@ -6222,7 +6841,7 @@ call $~lib/rt/pure/__release i32.const 1 ) - (func $std/array/assertSorted<~lib/array/Array> (; 134 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/array/Array> (; 136 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -6230,13 +6849,22 @@ local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#sort - local.tee $2 + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.get $1 call $std/array/isSorted<~lib/array/Array> + global.get $~lib/error + if + return + end i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 830 i32.const 2 call $~lib/builtins/abort @@ -6247,13 +6875,18 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/array/Array.create> (; 135 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array.create> (; 137 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 512 i32.const 2 - i32.const 12 + i32.const 14 i32.const 0 call $~lib/rt/__allocArray + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.tee $0 i32.const 0 @@ -6266,19 +6899,24 @@ call $~lib/memory/memory.fill local.get $0 ) - (func $std/array/createReverseOrderedElementsArray (; 136 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createReverseOrderedElementsArray (; 138 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) call $~lib/array/Array.create> local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end loop $loop|0 local.get $0 i32.const 512 i32.lt_s if i32.const 4 - i32.const 11 + i32.const 13 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $2 @@ -6290,18 +6928,25 @@ local.get $0 local.get $2 call $~lib/array/Array<~lib/array/Array>#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - local.get $2 - call $~lib/rt/pure/__release - br $loop|0 + global.get $~lib/error + if + i32.const 0 + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + local.get $2 + call $~lib/rt/pure/__release + br $loop|0 + end + unreachable end end local.get $1 ) - (func $start:std/array~anonymous|48 (; 137 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|48 (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -6319,7 +6964,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/array/Array<~lib/string/String | null>#__get (; 138 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#__get (; 140 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -6327,22 +6972,22 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#__unchecked_get ) - (func $std/array/isSorted<~lib/string/String | null> (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/string/String | null> (; 141 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -6363,13 +7008,30 @@ i32.const 1 i32.sub call $~lib/array/Array<~lib/string/String | null>#__get - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 local.get $2 call $~lib/array/Array<~lib/string/String | null>#__get - local.tee $4 + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.get $4 local.get $1 call_indirect (type $FUNCSIG$iii) + global.get $~lib/error + if + i32.const 0 + return + end i32.const 0 i32.gt_s if @@ -6399,7 +7061,7 @@ call $~lib/rt/pure/__release i32.const 1 ) - (func $std/array/assertSorted<~lib/string/String | null> (; 140 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String | null> (; 142 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -6407,13 +7069,22 @@ local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#sort - local.tee $2 + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.get $1 call $std/array/isSorted<~lib/string/String | null> + global.get $~lib/error + if + return + end i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 830 i32.const 2 call $~lib/builtins/abort @@ -6424,7 +7095,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/string/String#get:length (; 141 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 143 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -6432,7 +7103,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/util/string/compareImpl (; 142 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/compareImpl (; 144 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6481,7 +7152,7 @@ call $~lib/rt/pure/__release local.get $5 ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 (; 143 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 (; 145 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -6560,7 +7231,7 @@ call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/string/String.__eq (; 144 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 146 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -6614,7 +7285,7 @@ call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/string/String.__ne (; 145 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 147 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -6631,7 +7302,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/array/isArraysEqual<~lib/string/String | null> (; 146 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual<~lib/string/String | null> (; 148 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6675,11 +7346,23 @@ local.get $0 local.get $2 call $~lib/array/Array<~lib/string/String | null>#__get - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 local.get $2 call $~lib/array/Array<~lib/string/String | null>#__get - local.tee $4 + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.get $4 call $~lib/string/String.__ne if local.get $0 @@ -6712,13 +7395,18 @@ call $~lib/rt/pure/__release i32.const 1 ) - (func $~lib/array/Array.create<~lib/string/String> (; 147 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array.create<~lib/string/String> (; 149 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 400 i32.const 2 - i32.const 14 + i32.const 16 i32.const 0 call $~lib/rt/__allocArray + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.tee $0 i32.const 0 @@ -6731,32 +7419,38 @@ call $~lib/memory/memory.fill local.get $0 ) - (func $~lib/string/String#charAt (; 148 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#charAt (; 150 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 3200 + i32.const 3144 call $~lib/string/String#get:length i32.ge_u if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain return end i32.const 2 i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $1 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.get $0 i32.const 1 i32.shl - i32.const 3200 + i32.const 3144 i32.add i32.load16_u i32.store16 local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#concat (; 149 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 151 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6767,16 +7461,16 @@ i32.eqz if local.get $1 - i32.const 4360 + i32.const 4288 i32.ne if - i32.const 4360 + i32.const 4288 call $~lib/rt/pure/__retain drop local.get $1 call $~lib/rt/pure/__release end - i32.const 4360 + i32.const 4288 local.set $1 end local.get $0 @@ -6793,7 +7487,7 @@ local.tee $2 i32.eqz if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.get $1 call $~lib/rt/pure/__release @@ -6802,6 +7496,11 @@ local.get $2 i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.tee $2 local.get $0 @@ -6817,7 +7516,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 150 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 152 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -6826,23 +7525,29 @@ call $~lib/rt/pure/__retain drop local.get $0 - i32.const 4360 + i32.const 4288 local.get $0 select local.get $1 call $~lib/string/String#concat + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release ) - (func $std/array/createRandomString (; 151 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomString (; 153 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - i32.const 4248 + (local $5 f64) + (local $6 i32) + i32.const 208 call $~lib/rt/pure/__retain local.set $1 loop $loop|0 @@ -6851,74 +7556,115 @@ local.get $0 i32.ge_s br_if $break|0 - local.get $1 - local.tee $3 - local.get $1 call $~lib/math/NativeMath.random - i32.const 3200 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 3144 call $~lib/string/String#get:length f64.convert_i32_s f64.mul f64.floor i32.trunc_f64_s call $~lib/string/String#charAt - local.tee $4 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.get $3 call $~lib/string/String.__concat - local.tee $5 + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.tee $6 + local.get $4 local.tee $1 i32.ne if local.get $1 call $~lib/rt/pure/__retain drop - local.get $3 + local.get $6 call $~lib/rt/pure/__release end local.get $2 i32.const 1 i32.add local.set $2 - local.get $4 + local.get $3 call $~lib/rt/pure/__release - local.get $5 + local.get $4 call $~lib/rt/pure/__release br $loop|0 end end local.get $1 ) - (func $std/array/createRandomStringArray (; 152 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createRandomStringArray (; 154 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 f64) call $~lib/array/Array.create<~lib/string/String> local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end loop $loop|0 local.get $0 i32.const 400 i32.lt_s if - local.get $1 - local.get $0 call $~lib/math/NativeMath.random + global.get $~lib/error + if + i32.const 0 + return + end f64.const 32 f64.mul i32.trunc_f64_s call $std/array/createRandomString - local.tee $2 - call $~lib/array/Array<~lib/array/Array>#__set + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.get $0 - i32.const 1 - i32.add - local.set $0 local.get $2 - call $~lib/rt/pure/__release - br $loop|0 + call $~lib/array/Array<~lib/array/Array>#__set + global.get $~lib/error + if + i32.const 0 + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + local.get $2 + call $~lib/rt/pure/__release + br $loop|0 + end + unreachable end end local.get $1 ) - (func $~lib/string/String#substring (; 153 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#substring (; 155 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) i32.const 0 @@ -6963,7 +7709,7 @@ local.tee $2 i32.eqz if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain return end @@ -6986,7 +7732,13 @@ local.get $2 i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $1 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.get $0 local.get $3 i32.add @@ -6995,7 +7747,7 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#join_bool (; 154 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_bool (; 156 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7004,7 +7756,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 @@ -7015,9 +7767,9 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end @@ -7027,17 +7779,17 @@ local.get $1 i32.eqz if - i32.const 4408 - i32.const 4432 + i32.const 4336 + i32.const 4360 local.get $3 i32.load8_u select call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/string/String#get:length local.tee $4 i32.const 5 @@ -7051,6 +7803,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $2 i32.const 0 @@ -7074,8 +7831,8 @@ i32.shl local.get $2 i32.add - i32.const 4408 - i32.const 4432 + i32.const 4336 + i32.const 4360 local.get $8 select local.get $6 @@ -7093,7 +7850,7 @@ i32.shl local.get $2 i32.add - i32.const 4464 + i32.const 4392 local.get $4 i32.const 1 i32.shl @@ -7124,8 +7881,8 @@ i32.shl local.get $2 i32.add - i32.const 4408 - i32.const 4432 + i32.const 4336 + i32.const 4360 local.get $3 select local.get $1 @@ -7142,17 +7899,22 @@ local.get $2 local.get $0 call $~lib/string/String#substring - i32.const 4464 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 4392 call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/util/number/decimalCount32 (; 155 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 157 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 2 local.get $0 @@ -7200,7 +7962,7 @@ i32.lt_u select ) - (func $~lib/util/number/utoa_simple (; 156 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa_simple (; 158 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) loop $continue|0 local.get $1 @@ -7227,21 +7989,21 @@ br_if $continue|0 end ) - (func $~lib/util/number/itoa32 (; 157 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 159 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 i32.eqz if - i32.const 4560 + i32.const 4488 call $~lib/rt/pure/__retain return end local.get $0 i32.const 0 i32.lt_s - local.tee $1 + local.tee $2 if i32.const 0 local.get $0 @@ -7250,27 +8012,33 @@ end local.get $0 call $~lib/util/number/decimalCount32 - local.get $1 + local.get $2 i32.add local.tee $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $2 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.get $0 local.get $3 call $~lib/util/number/utoa_simple - local.get $1 + local.get $2 if - local.get $2 + local.get $1 i32.const 45 i32.store16 end - local.get $2 + local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa_stream (; 158 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 160 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -7312,7 +8080,7 @@ end local.get $2 ) - (func $~lib/array/Array#join_int (; 159 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 161 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7330,7 +8098,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.get $1 call $~lib/rt/pure/__release @@ -7345,7 +8113,18 @@ local.get $4 i32.load call $~lib/util/number/itoa32 - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 call $~lib/rt/pure/__retain local.get $0 call $~lib/rt/pure/__release @@ -7367,6 +8146,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $2 i32.const 0 @@ -7430,9 +8214,14 @@ local.get $2 local.get $0 call $~lib/string/String#substring - local.get $1 - call $~lib/rt/pure/__release - local.get $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + call $~lib/rt/pure/__release + local.get $2 call $~lib/rt/pure/__release return end @@ -7440,41 +8229,52 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/array/Array#join (; 160 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 162 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 call $~lib/rt/pure/__retain drop local.get $0 local.get $1 call $~lib/array/Array#join_int + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/util/number/utoa32 (; 161 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 163 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.eqz if - i32.const 4560 + i32.const 4488 call $~lib/rt/pure/__retain return end local.get $0 call $~lib/util/number/decimalCount32 - local.tee $1 + local.tee $2 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $2 - local.get $0 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 - call $~lib/util/number/utoa_simple + local.get $0 local.get $2 + call $~lib/util/number/utoa_simple + local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa_stream (; 162 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 164 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -7498,7 +8298,7 @@ call $~lib/util/number/utoa_simple local.get $0 ) - (func $~lib/array/Array#join_int (; 163 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7516,7 +8316,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.get $1 call $~lib/rt/pure/__release @@ -7531,7 +8331,18 @@ local.get $4 i32.load call $~lib/util/number/utoa32 - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 call $~lib/rt/pure/__retain local.get $0 call $~lib/rt/pure/__release @@ -7553,6 +8364,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $2 i32.const 0 @@ -7616,6 +8432,11 @@ local.get $2 local.get $0 call $~lib/string/String#substring + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 call $~lib/rt/pure/__release local.get $2 @@ -7626,24 +8447,29 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/array/Array#join (; 164 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 166 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 call $~lib/rt/pure/__retain drop local.get $0 local.get $1 call $~lib/array/Array#join_int + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/number/isFinite (; 165 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 167 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub f64.const 0 f64.eq ) - (func $~lib/util/number/genDigits (; 166 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 168 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i32) (local $9 i64) @@ -7678,7 +8504,7 @@ local.tee $7 call $~lib/util/number/decimalCount32 local.set $4 - i32.const 6020 + i32.const 5948 i32.load local.set $13 loop $continue|0 @@ -8042,7 +8868,7 @@ local.get $6 end ) - (func $~lib/util/number/prettify (; 167 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 169 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -8289,7 +9115,7 @@ end end ) - (func $~lib/util/number/dtoa_core (; 168 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 170 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i64) (local $3 i32) (local $4 i64) @@ -8405,7 +9231,7 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 5708 + i32.const 5636 i32.load local.get $3 i32.const 3 @@ -8413,7 +9239,7 @@ i32.add i64.load global.set $~lib/util/number/_frc_pow - i32.const 5932 + i32.const 5860 i32.load local.get $3 i32.const 1 @@ -8577,14 +9403,14 @@ local.get $10 i32.add ) - (func $~lib/util/number/dtoa (; 169 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 171 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) local.get $0 f64.const 0 f64.eq if - i32.const 4872 + i32.const 4800 call $~lib/rt/pure/__retain return end @@ -8595,12 +9421,12 @@ local.get $0 call $~lib/number/isNaN if - i32.const 4896 + i32.const 4824 call $~lib/rt/pure/__retain return end - i32.const 4920 - i32.const 4960 + i32.const 4848 + i32.const 4888 local.get $0 f64.const 0 f64.lt @@ -8611,7 +9437,13 @@ i32.const 56 i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $1 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.get $0 call $~lib/util/number/dtoa_core local.tee $2 @@ -8625,10 +9457,15 @@ local.get $1 local.get $2 call $~lib/string/String#substring + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 call $~lib/rt/tlsf/__free ) - (func $~lib/util/number/dtoa_stream (; 170 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/util/number/dtoa_stream (; 172 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) (local $3 i32) local.get $1 i32.const 1 @@ -8679,8 +9516,8 @@ i32.add local.set $1 local.get $0 - i32.const 4920 - i32.const 4960 + i32.const 4848 + i32.const 4888 local.get $3 select local.get $1 @@ -8696,14 +9533,14 @@ local.get $2 call $~lib/util/number/dtoa_core ) - (func $~lib/array/Array#join_flt (; 171 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_flt (; 173 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 4848 + i32.const 4776 call $~lib/rt/pure/__retain drop local.get $0 @@ -8714,9 +9551,9 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4848 + i32.const 4776 call $~lib/rt/pure/__release return end @@ -8729,15 +9566,21 @@ local.get $3 f64.load call $~lib/util/number/dtoa - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 call $~lib/rt/pure/__retain local.get $0 call $~lib/rt/pure/__release - i32.const 4848 + i32.const 4776 call $~lib/rt/pure/__release return end - i32.const 4848 + i32.const 4776 call $~lib/string/String#get:length local.tee $4 i32.const 28 @@ -8751,6 +9594,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $1 i32.const 0 @@ -8779,7 +9627,7 @@ i32.shl local.get $1 i32.add - i32.const 4848 + i32.const 4776 local.get $4 i32.const 1 i32.shl @@ -8814,17 +9662,22 @@ local.get $1 local.get $0 call $~lib/string/String#substring - i32.const 4848 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 4776 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release return end - i32.const 4848 + i32.const 4776 call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/array/Array<~lib/string/String>#join_str (; 172 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#join_str (; 174 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8843,7 +9696,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.get $1 call $~lib/rt/pure/__release @@ -8920,6 +9773,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $3 i32.const 0 @@ -9027,23 +9885,28 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array<~lib/string/String>#join (; 173 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#join (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 call $~lib/rt/pure/__retain drop local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#join_str + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 call $~lib/rt/pure/__release ) - (func $std/array/Ref#constructor (; 174 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/Ref#constructor (; 176 ;) (type $FUNCSIG$i) (result i32) i32.const 0 - i32.const 18 + i32.const 20 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#join_ref (; 175 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_ref (; 177 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9052,7 +9915,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 @@ -9063,9 +9926,9 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end @@ -9075,13 +9938,13 @@ local.get $3 i32.eqz if - i32.const 6200 + i32.const 6128 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/string/String#get:length local.tee $5 i32.const 15 @@ -9095,6 +9958,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $2 i32.const 0 @@ -9129,7 +9997,7 @@ i32.shl local.get $2 i32.add - i32.const 6200 + i32.const 6128 i32.const 30 call $~lib/memory/memory.copy local.get $1 @@ -9144,7 +10012,7 @@ i32.shl local.get $2 i32.add - i32.const 4464 + i32.const 4392 local.get $5 i32.const 1 i32.shl @@ -9173,7 +10041,7 @@ i32.shl local.get $2 i32.add - i32.const 6200 + i32.const 6128 i32.const 30 call $~lib/memory/memory.copy local.get $1 @@ -9188,7 +10056,12 @@ local.get $2 local.get $1 call $~lib/string/String#substring - i32.const 4464 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 4392 call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release @@ -9196,18 +10069,23 @@ call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/array/Array#toString (; 176 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 178 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array#join + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/util/number/itoa_stream (; 177 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 179 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $1 i32.const 1 @@ -9262,14 +10140,14 @@ end local.get $2 ) - (func $~lib/array/Array#join_int (; 178 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 180 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 @@ -9280,9 +10158,9 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end @@ -9295,15 +10173,26 @@ local.get $3 i32.load8_s call $~lib/util/number/itoa32 - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 call $~lib/rt/pure/__retain local.get $0 call $~lib/rt/pure/__release - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/string/String#get:length local.tee $4 i32.const 11 @@ -9317,6 +10206,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $1 i32.const 0 @@ -9343,7 +10237,7 @@ i32.shl local.get $1 i32.add - i32.const 4464 + i32.const 4392 local.get $4 i32.const 1 i32.shl @@ -9376,17 +10270,46 @@ local.get $1 local.get $0 call $~lib/string/String#substring - i32.const 4464 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 4392 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/util/number/itoa_stream (; 179 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#toString (; 181 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 4392 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/array/Array#join_int + local.set $0 + block $__inlined_func$~lib/array/Array#join + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/array/Array#join + end + i32.const 4392 + call $~lib/rt/pure/__release + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + ) + (func $~lib/util/number/itoa_stream (; 182 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -9416,14 +10339,14 @@ call $~lib/util/number/utoa_simple local.get $1 ) - (func $~lib/array/Array#join_int (; 180 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 183 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 @@ -9434,9 +10357,9 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end @@ -9449,15 +10372,26 @@ local.get $3 i32.load16_u call $~lib/util/number/utoa32 - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 call $~lib/rt/pure/__retain local.get $0 call $~lib/rt/pure/__release - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/string/String#get:length local.tee $4 i32.const 10 @@ -9471,6 +10405,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $1 i32.const 0 @@ -9499,7 +10438,7 @@ i32.shl local.get $1 i32.add - i32.const 4464 + i32.const 4392 local.get $4 i32.const 1 i32.shl @@ -9534,17 +10473,46 @@ local.get $1 local.get $0 call $~lib/string/String#substring - i32.const 4464 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 4392 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/util/number/decimalCount64 (; 181 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/array/Array#toString (; 184 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 4392 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/array/Array#join_int + local.set $0 + block $__inlined_func$~lib/array/Array#join + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/array/Array#join + end + i32.const 4392 + call $~lib/rt/pure/__release + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + ) + (func $~lib/util/number/decimalCount64 (; 185 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) i32.const 11 i32.const 12 local.get $0 @@ -9592,7 +10560,7 @@ i64.lt_u select ) - (func $~lib/util/number/utoa_simple (; 182 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa_simple (; 186 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) loop $continue|0 local.get $1 @@ -9622,14 +10590,14 @@ br_if $continue|0 end ) - (func $~lib/util/number/utoa64 (; 183 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 187 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 i64.eqz if - i32.const 4560 + i32.const 4488 call $~lib/rt/pure/__retain return end @@ -9639,34 +10607,46 @@ if local.get $0 i32.wrap_i64 - local.tee $1 + local.tee $2 call $~lib/util/number/decimalCount32 local.tee $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $2 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 + local.get $2 local.get $3 call $~lib/util/number/utoa_simple else local.get $0 call $~lib/util/number/decimalCount64 - local.tee $1 + local.tee $2 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $2 - local.get $0 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 + local.get $0 + local.get $2 call $~lib/util/number/utoa_simple end - local.get $2 + local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa_stream (; 184 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 188 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) local.get $1 i32.const 1 @@ -9706,14 +10686,14 @@ end local.get $1 ) - (func $~lib/array/Array#join_int (; 185 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 189 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 @@ -9724,9 +10704,9 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end @@ -9739,15 +10719,26 @@ local.get $3 i64.load call $~lib/util/number/utoa64 - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 call $~lib/rt/pure/__retain local.get $0 call $~lib/rt/pure/__release - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/string/String#get:length local.tee $4 i32.const 20 @@ -9761,6 +10752,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $1 i32.const 0 @@ -9789,7 +10785,7 @@ i32.shl local.get $1 i32.add - i32.const 4464 + i32.const 4392 local.get $4 i32.const 1 i32.shl @@ -9824,17 +10820,46 @@ local.get $1 local.get $0 call $~lib/string/String#substring - i32.const 4464 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 4392 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/util/number/itoa64 (; 186 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/array/Array#toString (; 190 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 4392 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/array/Array#join_int + local.set $0 + block $__inlined_func$~lib/array/Array#join + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/array/Array#join + end + i32.const 4392 + call $~lib/rt/pure/__release + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + ) + (func $~lib/util/number/itoa64 (; 191 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9842,14 +10867,14 @@ local.get $0 i64.eqz if - i32.const 4560 + i32.const 4488 call $~lib/rt/pure/__retain return end local.get $0 i64.const 0 i64.lt_s - local.tee $1 + local.tee $2 if i64.const 0 local.get $0 @@ -9862,44 +10887,56 @@ if local.get $0 i32.wrap_i64 - local.tee $2 + local.tee $3 call $~lib/util/number/decimalCount32 - local.get $1 + local.get $2 i32.add local.tee $4 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $3 - local.get $2 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.get $3 local.get $4 call $~lib/util/number/utoa_simple else local.get $0 call $~lib/util/number/decimalCount64 - local.get $1 + local.get $2 i32.add - local.tee $2 + local.tee $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $3 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.get $0 - local.get $2 + local.get $3 call $~lib/util/number/utoa_simple end - local.get $1 + local.get $2 if - local.get $3 + local.get $1 i32.const 45 i32.store16 end - local.get $3 + local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa_stream (; 187 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 192 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) local.get $1 @@ -9960,14 +10997,14 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 188 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 193 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 @@ -9978,9 +11015,9 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end @@ -9993,15 +11030,26 @@ local.get $3 i64.load call $~lib/util/number/itoa64 - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 call $~lib/rt/pure/__retain local.get $0 call $~lib/rt/pure/__release - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/string/String#get:length local.tee $4 i32.const 21 @@ -10015,6 +11063,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $1 i32.const 0 @@ -10043,7 +11096,7 @@ i32.shl local.get $1 i32.add - i32.const 4464 + i32.const 4392 local.get $4 i32.const 1 i32.shl @@ -10078,22 +11131,56 @@ local.get $1 local.get $0 call $~lib/string/String#substring - i32.const 4464 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 4392 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/array/Array<~lib/string/String | null>#toString (; 189 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 194 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 4392 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/array/Array#join_int + local.set $0 + block $__inlined_func$~lib/array/Array#join + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/array/Array#join + end + i32.const 4392 + call $~lib/rt/pure/__release + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + ) + (func $~lib/array/Array<~lib/string/String | null>#toString (; 195 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array<~lib/string/String>#join + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 190 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 196 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10102,204 +11189,254 @@ (local $6 i32) (local $7 i32) (local $8 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 i32.load offset=12 i32.const 1 i32.sub - local.tee $3 + local.tee $5 i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - local.set $2 - i32.const 4464 + local.set $1 + i32.const 4392 call $~lib/string/String#get:length - local.set $7 + local.set $8 local.get $0 i32.load offset=4 - local.set $4 + local.set $6 i32.const 0 local.set $0 - local.get $3 - i32.eqz - if - local.get $4 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/pure/__retain - drop - i32.const 0 - call $~lib/rt/pure/__release - end - local.get $0 - if (result i32) - local.get $0 - i32.const 4464 - call $~lib/array/Array#join - else - i32.const 4248 - call $~lib/rt/pure/__retain - end - i32.const 4464 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - return - end - loop $loop|0 + block $folding-inner0 local.get $5 - local.get $3 - i32.lt_s + i32.eqz if - local.get $0 - local.set $1 - local.get $1 - local.get $5 - i32.const 2 - i32.shl - local.get $4 - i32.add + local.get $6 i32.load - local.tee $0 - i32.ne + local.tee $2 if - local.get $0 + local.get $2 call $~lib/rt/pure/__retain drop - local.get $1 + i32.const 0 call $~lib/rt/pure/__release end - local.get $0 + local.get $2 if local.get $2 - local.tee $1 - local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array#join - local.tee $6 - call $~lib/string/String.__concat - local.tee $8 + local.set $0 + global.get $~lib/error + br_if $folding-inner0 + else + i32.const 208 + call $~lib/rt/pure/__retain + local.set $0 + end + i32.const 4392 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + return + end + loop $loop|0 + local.get $7 + local.get $5 + i32.lt_s + if + local.get $7 + i32.const 2 + i32.shl + local.get $6 + i32.add + i32.load local.tee $2 - local.get $1 + local.get $0 i32.ne if local.get $2 call $~lib/rt/pure/__retain drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $2 + local.tee $0 + if + local.get $0 + i32.const 4392 + call $~lib/array/Array#join + local.set $3 + global.get $~lib/error + br_if $folding-inner0 + local.get $1 + local.get $3 + call $~lib/string/String.__concat + local.set $2 + global.get $~lib/error + br_if $folding-inner0 + local.get $2 + local.tee $4 local.get $1 + i32.ne + if + local.get $4 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $3 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $4 + local.set $1 end - local.get $6 - call $~lib/rt/pure/__release local.get $8 - call $~lib/rt/pure/__release - end - local.get $7 - if - local.get $2 - local.tee $1 - i32.const 4464 - call $~lib/string/String.__concat - local.tee $6 - local.tee $2 - local.get $1 - i32.ne if + local.get $1 + i32.const 4392 + call $~lib/string/String.__concat + local.set $2 + global.get $~lib/error + br_if $folding-inner0 local.get $2 - call $~lib/rt/pure/__retain - drop + local.tee $3 local.get $1 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $2 call $~lib/rt/pure/__release + local.get $3 + local.set $1 end - local.get $6 - call $~lib/rt/pure/__release + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $loop|0 end - end - local.get $3 - i32.const 2 - i32.shl - local.get $4 - i32.add - i32.load - local.tee $1 - local.get $0 - i32.ne - if - local.get $1 - call $~lib/rt/pure/__retain - drop - local.get $0 - call $~lib/rt/pure/__release - end - local.get $1 - if - local.get $2 - local.tee $0 - local.get $1 - i32.const 4464 - call $~lib/array/Array#join - local.tee $3 - call $~lib/string/String.__concat + local.get $5 + i32.const 2 + i32.shl + local.get $6 + i32.add + i32.load local.tee $4 - local.tee $2 local.get $0 i32.ne if - local.get $2 + local.get $4 call $~lib/rt/pure/__retain drop local.get $0 call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release local.get $4 - call $~lib/rt/pure/__release - end - i32.const 4464 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - ) - (func $~lib/util/number/itoa_stream (; 191 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - i32.const 1 - i32.shl - local.get $0 - i32.add - local.set $0 - local.get $2 - i32.const 255 - i32.and - i32.eqz - if - local.get $0 - i32.const 48 - i32.store16 - i32.const 1 - return - end + if + local.get $4 + i32.const 4392 + call $~lib/array/Array#join + local.set $2 + global.get $~lib/error + br_if $folding-inner0 + local.get $1 + local.get $2 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/error + br_if $folding-inner0 + local.get $0 + local.tee $3 + local.get $1 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + local.set $1 + end + i32.const 4392 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $1 + return + end + i32.const 0 + ) + (func $~lib/array/Array<~lib/array/Array>#toString (; 197 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 4392 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/array/Array<~lib/array/Array>#join_arr + local.set $0 + block $__inlined_func$~lib/array/Array<~lib/array/Array>#join + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/array/Array<~lib/array/Array>#join + end + i32.const 4392 + call $~lib/rt/pure/__release + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + ) + (func $~lib/util/number/itoa_stream (; 198 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $1 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.set $0 + local.get $2 + i32.const 255 + i32.and + i32.eqz + if + local.get $0 + i32.const 48 + i32.store16 + i32.const 1 + return + end local.get $2 i32.const 255 i32.and @@ -10312,14 +11449,14 @@ call $~lib/util/number/utoa_simple local.get $1 ) - (func $~lib/array/Array#join_int (; 192 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 199 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 @@ -10330,9 +11467,9 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end @@ -10345,15 +11482,26 @@ local.get $3 i32.load8_u call $~lib/util/number/utoa32 - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 call $~lib/rt/pure/__retain local.get $0 call $~lib/rt/pure/__release - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/string/String#get:length local.tee $4 i32.const 10 @@ -10367,6 +11515,11 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.set $1 i32.const 0 @@ -10393,7 +11546,7 @@ i32.shl local.get $1 i32.add - i32.const 4464 + i32.const 4392 local.get $4 i32.const 1 i32.shl @@ -10426,26 +11579,36 @@ local.get $1 local.get $0 call $~lib/string/String#substring - i32.const 4464 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 4392 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release return end - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/array/Array#join (; 193 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 4464 + (func $~lib/array/Array#join (; 200 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 call $~lib/array/Array#join_int - i32.const 4464 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 4392 call $~lib/rt/pure/__release ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 194 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 201 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10454,184 +11617,234 @@ (local $6 i32) (local $7 i32) (local $8 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 i32.load offset=12 i32.const 1 i32.sub - local.tee $3 + local.tee $5 i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - local.set $2 - i32.const 4464 + local.set $1 + i32.const 4392 call $~lib/string/String#get:length - local.set $7 + local.set $8 local.get $0 i32.load offset=4 - local.set $4 + local.set $6 i32.const 0 local.set $0 - local.get $3 - i32.eqz - if - local.get $4 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/pure/__retain - drop - i32.const 0 - call $~lib/rt/pure/__release - end - local.get $0 - if (result i32) - local.get $0 - call $~lib/array/Array#join - else - i32.const 4248 - call $~lib/rt/pure/__retain - end - i32.const 4464 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - return - end - loop $loop|0 + block $folding-inner0 local.get $5 - local.get $3 - i32.lt_s + i32.eqz if - local.get $0 - local.set $1 - local.get $1 - local.get $5 - i32.const 2 - i32.shl - local.get $4 - i32.add + local.get $6 i32.load - local.tee $0 - i32.ne + local.tee $2 if - local.get $0 + local.get $2 call $~lib/rt/pure/__retain drop - local.get $1 + i32.const 0 call $~lib/rt/pure/__release end - local.get $0 + local.get $2 if local.get $2 - local.tee $1 - local.get $0 call $~lib/array/Array#join - local.tee $6 - call $~lib/string/String.__concat - local.tee $8 + local.set $0 + global.get $~lib/error + br_if $folding-inner0 + else + i32.const 208 + call $~lib/rt/pure/__retain + local.set $0 + end + i32.const 4392 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + return + end + loop $loop|0 + local.get $7 + local.get $5 + i32.lt_s + if + local.get $7 + i32.const 2 + i32.shl + local.get $6 + i32.add + i32.load local.tee $2 - local.get $1 + local.get $0 i32.ne if local.get $2 call $~lib/rt/pure/__retain drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $2 + local.tee $0 + if + local.get $0 + call $~lib/array/Array#join + local.set $3 + global.get $~lib/error + br_if $folding-inner0 + local.get $1 + local.get $3 + call $~lib/string/String.__concat + local.set $2 + global.get $~lib/error + br_if $folding-inner0 + local.get $2 + local.tee $4 local.get $1 + i32.ne + if + local.get $4 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $3 + call $~lib/rt/pure/__release + local.get $2 call $~lib/rt/pure/__release + local.get $4 + local.set $1 end - local.get $6 - call $~lib/rt/pure/__release local.get $8 - call $~lib/rt/pure/__release - end - local.get $7 - if - local.get $2 - local.tee $1 - i32.const 4464 - call $~lib/string/String.__concat - local.tee $6 - local.tee $2 - local.get $1 - i32.ne if + local.get $1 + i32.const 4392 + call $~lib/string/String.__concat + local.set $2 + global.get $~lib/error + br_if $folding-inner0 local.get $2 - call $~lib/rt/pure/__retain - drop + local.tee $3 local.get $1 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $2 call $~lib/rt/pure/__release + local.get $3 + local.set $1 end - local.get $6 - call $~lib/rt/pure/__release + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $loop|0 end - end - local.get $3 - i32.const 2 - i32.shl - local.get $4 - i32.add - i32.load - local.tee $1 - local.get $0 - i32.ne - if - local.get $1 - call $~lib/rt/pure/__retain - drop - local.get $0 - call $~lib/rt/pure/__release - end - local.get $1 - if - local.get $2 - local.tee $0 - local.get $1 - call $~lib/array/Array#join - local.tee $3 - call $~lib/string/String.__concat + local.get $5 + i32.const 2 + i32.shl + local.get $6 + i32.add + i32.load local.tee $4 - local.tee $2 local.get $0 i32.ne if - local.get $2 + local.get $4 call $~lib/rt/pure/__retain drop local.get $0 call $~lib/rt/pure/__release end - local.get $3 + local.get $4 + if + local.get $4 + call $~lib/array/Array#join + local.set $2 + global.get $~lib/error + br_if $folding-inner0 + local.get $1 + local.get $2 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/error + br_if $folding-inner0 + local.get $0 + local.tee $3 + local.get $1 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + local.set $1 + end + i32.const 4392 call $~lib/rt/pure/__release local.get $4 call $~lib/rt/pure/__release + local.get $1 + return end - i32.const 4464 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 + i32.const 0 + ) + (func $~lib/array/Array<~lib/array/Array>#toString (; 202 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 4392 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/array/Array<~lib/array/Array>#join_arr + local.set $0 + block $__inlined_func$~lib/array/Array<~lib/array/Array>#join + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/array/Array<~lib/array/Array>#join + end + i32.const 4392 + call $~lib/rt/pure/__release + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 195 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 203 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10640,196 +11853,227 @@ (local $6 i32) (local $7 i32) (local $8 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 i32.load offset=12 i32.const 1 i32.sub - local.tee $3 + local.tee $5 i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - local.set $2 - i32.const 4464 + local.set $1 + i32.const 4392 call $~lib/string/String#get:length - local.set $7 + local.set $8 local.get $0 i32.load offset=4 - local.set $4 + local.set $6 i32.const 0 local.set $0 - local.get $3 - i32.eqz - if - local.get $4 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/pure/__retain - drop - i32.const 0 - call $~lib/rt/pure/__release - end - local.get $0 - if (result i32) - local.get $0 - i32.const 4464 - call $~lib/array/Array#join - else - i32.const 4248 - call $~lib/rt/pure/__retain - end - i32.const 4464 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - return - end - loop $loop|0 + block $folding-inner0 local.get $5 - local.get $3 - i32.lt_s + i32.eqz if - local.get $0 - local.set $1 - local.get $1 - local.get $5 - i32.const 2 - i32.shl - local.get $4 - i32.add + local.get $6 i32.load - local.tee $0 - i32.ne + local.tee $2 if - local.get $0 + local.get $2 call $~lib/rt/pure/__retain drop - local.get $1 + i32.const 0 call $~lib/rt/pure/__release end - local.get $0 + local.get $2 if local.get $2 - local.tee $1 - local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array#join - local.tee $6 - call $~lib/string/String.__concat - local.tee $8 + local.set $0 + global.get $~lib/error + br_if $folding-inner0 + else + i32.const 208 + call $~lib/rt/pure/__retain + local.set $0 + end + i32.const 4392 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + return + end + loop $loop|0 + local.get $7 + local.get $5 + i32.lt_s + if + local.get $7 + i32.const 2 + i32.shl + local.get $6 + i32.add + i32.load local.tee $2 - local.get $1 + local.get $0 i32.ne if local.get $2 call $~lib/rt/pure/__retain drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $2 + local.tee $0 + if + local.get $0 + i32.const 4392 + call $~lib/array/Array#join + local.set $3 + global.get $~lib/error + br_if $folding-inner0 + local.get $1 + local.get $3 + call $~lib/string/String.__concat + local.set $2 + global.get $~lib/error + br_if $folding-inner0 + local.get $2 + local.tee $4 local.get $1 + i32.ne + if + local.get $4 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $3 + call $~lib/rt/pure/__release + local.get $2 call $~lib/rt/pure/__release + local.get $4 + local.set $1 end - local.get $6 - call $~lib/rt/pure/__release local.get $8 - call $~lib/rt/pure/__release - end - local.get $7 - if - local.get $2 - local.tee $1 - i32.const 4464 - call $~lib/string/String.__concat - local.tee $6 - local.tee $2 - local.get $1 - i32.ne if + local.get $1 + i32.const 4392 + call $~lib/string/String.__concat + local.set $2 + global.get $~lib/error + br_if $folding-inner0 local.get $2 - call $~lib/rt/pure/__retain - drop + local.tee $3 local.get $1 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $2 call $~lib/rt/pure/__release + local.get $3 + local.set $1 end - local.get $6 - call $~lib/rt/pure/__release + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $loop|0 end - end - local.get $3 - i32.const 2 - i32.shl - local.get $4 - i32.add - i32.load - local.tee $1 - local.get $0 - i32.ne - if - local.get $1 - call $~lib/rt/pure/__retain - drop - local.get $0 - call $~lib/rt/pure/__release - end - local.get $1 - if - local.get $2 - local.tee $0 - local.get $1 - i32.const 4464 - call $~lib/array/Array#join - local.tee $3 - call $~lib/string/String.__concat + local.get $5 + i32.const 2 + i32.shl + local.get $6 + i32.add + i32.load local.tee $4 - local.tee $2 local.get $0 i32.ne if - local.get $2 + local.get $4 call $~lib/rt/pure/__retain drop local.get $0 call $~lib/rt/pure/__release end - local.get $3 + local.get $4 + if + local.get $4 + i32.const 4392 + call $~lib/array/Array#join + local.set $2 + global.get $~lib/error + br_if $folding-inner0 + local.get $1 + local.get $2 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/error + br_if $folding-inner0 + local.get $0 + local.tee $3 + local.get $1 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + local.set $1 + end + i32.const 4392 call $~lib/rt/pure/__release local.get $4 call $~lib/rt/pure/__release + local.get $1 + return end - i32.const 4464 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 + i32.const 0 ) - (func $~lib/array/Array<~lib/array/Array>#join (; 196 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 4464 + (func $~lib/array/Array<~lib/array/Array>#join (; 204 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 call $~lib/array/Array<~lib/array/Array>#join_arr - i32.const 4464 + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 4392 call $~lib/rt/pure/__release ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr (; 197 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr (; 205 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10838,184 +12082,234 @@ (local $6 i32) (local $7 i32) (local $8 i32) - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__retain drop local.get $0 i32.load offset=12 i32.const 1 i32.sub - local.tee $3 + local.tee $5 i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - i32.const 4464 + i32.const 4392 call $~lib/rt/pure/__release return end - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain - local.set $2 - i32.const 4464 + local.set $1 + i32.const 4392 call $~lib/string/String#get:length - local.set $7 + local.set $8 local.get $0 i32.load offset=4 - local.set $4 + local.set $6 i32.const 0 local.set $0 - local.get $3 - i32.eqz - if - local.get $4 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/pure/__retain - drop - i32.const 0 - call $~lib/rt/pure/__release - end - local.get $0 - if (result i32) - local.get $0 - call $~lib/array/Array<~lib/array/Array>#join - else - i32.const 4248 - call $~lib/rt/pure/__retain - end - i32.const 4464 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - return - end - loop $loop|0 + block $folding-inner0 local.get $5 - local.get $3 - i32.lt_s + i32.eqz if - local.get $0 - local.set $1 - local.get $1 - local.get $5 - i32.const 2 - i32.shl - local.get $4 - i32.add + local.get $6 i32.load - local.tee $0 - i32.ne + local.tee $2 if - local.get $0 + local.get $2 call $~lib/rt/pure/__retain drop - local.get $1 + i32.const 0 call $~lib/rt/pure/__release end - local.get $0 + local.get $2 if local.get $2 - local.tee $1 - local.get $0 call $~lib/array/Array<~lib/array/Array>#join - local.tee $6 - call $~lib/string/String.__concat - local.tee $8 + local.set $0 + global.get $~lib/error + br_if $folding-inner0 + else + i32.const 208 + call $~lib/rt/pure/__retain + local.set $0 + end + i32.const 4392 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + return + end + loop $loop|0 + local.get $7 + local.get $5 + i32.lt_s + if + local.get $7 + i32.const 2 + i32.shl + local.get $6 + i32.add + i32.load local.tee $2 - local.get $1 + local.get $0 i32.ne if local.get $2 call $~lib/rt/pure/__retain drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $2 + local.tee $0 + if + local.get $0 + call $~lib/array/Array<~lib/array/Array>#join + local.set $3 + global.get $~lib/error + br_if $folding-inner0 + local.get $1 + local.get $3 + call $~lib/string/String.__concat + local.set $2 + global.get $~lib/error + br_if $folding-inner0 + local.get $2 + local.tee $4 local.get $1 + i32.ne + if + local.get $4 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $3 + call $~lib/rt/pure/__release + local.get $2 call $~lib/rt/pure/__release + local.get $4 + local.set $1 end - local.get $6 - call $~lib/rt/pure/__release local.get $8 - call $~lib/rt/pure/__release - end - local.get $7 - if - local.get $2 - local.tee $1 - i32.const 4464 - call $~lib/string/String.__concat - local.tee $6 - local.tee $2 - local.get $1 - i32.ne if + local.get $1 + i32.const 4392 + call $~lib/string/String.__concat + local.set $2 + global.get $~lib/error + br_if $folding-inner0 local.get $2 - call $~lib/rt/pure/__retain - drop + local.tee $3 local.get $1 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $2 call $~lib/rt/pure/__release + local.get $3 + local.set $1 end - local.get $6 - call $~lib/rt/pure/__release + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $loop|0 end - end - local.get $3 - i32.const 2 - i32.shl - local.get $4 - i32.add - i32.load - local.tee $1 - local.get $0 - i32.ne - if - local.get $1 - call $~lib/rt/pure/__retain - drop - local.get $0 - call $~lib/rt/pure/__release - end - local.get $1 - if - local.get $2 - local.tee $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#join - local.tee $3 - call $~lib/string/String.__concat + local.get $5 + i32.const 2 + i32.shl + local.get $6 + i32.add + i32.load local.tee $4 - local.tee $2 local.get $0 i32.ne if - local.get $2 + local.get $4 call $~lib/rt/pure/__retain drop local.get $0 call $~lib/rt/pure/__release end - local.get $3 + local.get $4 + if + local.get $4 + call $~lib/array/Array<~lib/array/Array>#join + local.set $2 + global.get $~lib/error + br_if $folding-inner0 + local.get $1 + local.get $2 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/error + br_if $folding-inner0 + local.get $0 + local.tee $3 + local.get $1 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + local.set $1 + end + i32.const 4392 call $~lib/rt/pure/__release local.get $4 call $~lib/rt/pure/__release + local.get $1 + return end - i32.const 4464 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 + i32.const 0 + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (; 206 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 4392 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr + local.set $0 + block $__inlined_func$~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join + end + i32.const 4392 + call $~lib/rt/pure/__release + end + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 ) - (func $start:std/array (; 198 ;) (type $FUNCSIG$v) + (func $start:std/array (; 207 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11069,5408 +12363,6422 @@ (local $50 i32) (local $51 i32) (local $52 i32) + (local $53 i32) + (local $54 f32) call $~lib/array/Array#constructor - global.set $std/array/arr - i32.const 0 - call $~lib/array/Array.isArray<~lib/array/Array | null> - if + local.set $0 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $0 + global.set $std/array/arr i32.const 0 - i32.const 376 - i32.const 35 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array.isArray<~lib/array/Array | null> - i32.const 1 - i32.ne - if + call $~lib/array/Array.isArray<~lib/array/Array | null> + if + i32.const 0 + i32.const 368 + i32.const 35 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array.isArray<~lib/array/Array | null> + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 36 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 36 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 4 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - local.get $1 - call $~lib/array/Array.isArray - if + i32.const 6 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $0 + local.get $0 + call $~lib/array/Array.isArray + if + i32.const 0 + i32.const 368 + i32.const 37 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 12 + i32.const 7 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + i32.const 1 i32.const 0 - i32.const 376 - i32.const 37 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 12 - i32.const 5 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - i32.const 1 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - local.set $1 - local.get $0 - call $~lib/array/Array.isArray - if + call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/array/Array.isArray + if + i32.const 0 + i32.const 368 + i32.const 38 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 408 + call $~lib/array/Array.isArray + if + i32.const 0 + i32.const 368 + i32.const 40 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 376 - i32.const 38 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 416 - call $~lib/array/Array.isArray - if + i32.const 8 + i32.const 432 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $9 + call $~lib/rt/pure/__retain + local.tee $3 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 376 - i32.const 40 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 440 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $3 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $3 - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 464 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 8 + i32.const 456 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $6 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 48 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const 0 - i32.const 376 - i32.const 48 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $3 - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 536 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - call $std/array/isArraysEqual - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 51 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $3 - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 560 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 2147483647 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 376 - i32.const 54 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 2 - i32.const -2 - i32.const 2147483647 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $3 - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 584 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 8 + i32.const 480 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $8 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 51 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 i32.const 0 - i32.const 376 - i32.const 57 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $3 - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 608 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 60 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $4 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 632 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $3 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $3 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 672 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const -3 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 376 - i32.const 67 + i32.const 8 + i32.const 504 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $7 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 54 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $3 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 712 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const -2 + i32.const 2147483647 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 376 - i32.const 70 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $3 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 752 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 8 + i32.const 528 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $2 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 57 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const 0 - i32.const 376 - i32.const 73 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 2 - i32.const -2 - i32.const 2147483647 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $3 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 792 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 1 i32.const 0 - i32.const 376 - i32.const 76 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $3 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 832 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 376 - i32.const 79 + i32.const 8 + i32.const 552 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $1 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 60 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $4 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.load offset=12 - if - i32.const 0 - i32.const 376 - i32.const 85 + i32.const 9 + i32.const 576 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $9 + call $~lib/rt/pure/__retain + local.tee $3 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - if + i32.const 9 + i32.const 616 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $6 i32.const 0 - i32.const 376 - i32.const 86 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 42 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 67 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const 0 - i32.const 376 - i32.const 90 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 1 - i32.ne - if i32.const 0 - i32.const 376 - i32.const 91 + i32.const 2147483647 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 1 - i32.ne - if + i32.const 9 + i32.const 656 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $8 i32.const 0 - i32.const 376 - i32.const 92 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 96 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - if + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 70 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 i32.const 0 - i32.const 376 - i32.const 97 + i32.const -3 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 1 - i32.ne - if + i32.const 9 + i32.const 696 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $7 i32.const 0 - i32.const 376 - i32.const 98 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 73 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - call $~lib/array/Array#push - global.get $std/array/arr - i32.load offset=12 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 102 + i32.const -2 + i32.const 2147483647 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 1 - i32.ne - if + i32.const 9 + i32.const 736 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $2 i32.const 0 - i32.const 376 - i32.const 103 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 76 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const 0 - i32.const 376 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 44 - call $~lib/array/Array#push - global.get $std/array/arr - i32.load offset=12 - i32.const 2 - i32.ne - if + i32.const 1 i32.const 0 - i32.const 376 - i32.const 108 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 2 - i32.ne - if + i32.const 9 + i32.const 776 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $1 i32.const 0 - i32.const 376 - i32.const 109 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 79 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + global.get $std/array/arr + i32.load offset=12 + if + i32.const 0 + i32.const 368 + i32.const 85 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + if + i32.const 0 + i32.const 368 + i32.const 86 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 42 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 90 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 91 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 92 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + global.get $~lib/error + br_if $uncaughtError + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 96 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + if + i32.const 0 + i32.const 368 + i32.const 97 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 98 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.load offset=12 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 102 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 103 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 110 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 44 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.load offset=12 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 111 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 108 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 45 - call $~lib/array/Array#push - global.get $std/array/arr - i32.load offset=12 - i32.const 3 - i32.ne - if + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 109 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 115 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 116 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 117 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 110 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 111 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 45 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 115 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 116 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 118 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 117 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 118 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 119 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + call $~lib/array/Array#constructor + local.set $0 + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + local.get $0 + call $~lib/array/Array#concat + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.set $2 + local.get $1 + local.set $0 + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 128 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 129 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 130 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 119 i32.const 2 - call $~lib/builtins/abort - unreachable - end - call $~lib/array/Array#constructor - local.set $4 - global.get $std/array/arr - local.get $4 - call $~lib/array/Array#concat - local.set $1 - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 3 - i32.ne - if + i32.const 3 + i32.const 864 + call $~lib/rt/__allocArray + local.set $7 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $7 + call $~lib/rt/pure/__retain + local.tee $8 + call $~lib/array/Array#concat + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 133 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 376 - i32.const 128 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 135 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 136 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 129 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 137 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 46 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + local.get $2 + i32.const 47 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + local.get $2 + call $~lib/array/Array#concat + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.set $1 + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 144 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=12 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=12 - i32.const 3 - i32.ne - if + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 145 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=12 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 146 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 376 - i32.const 130 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 147 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 148 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 920 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $0 - call $~lib/array/Array#concat - call $~lib/rt/pure/__release - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 3 - i32.ne - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 149 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 46 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 150 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 47 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 151 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.load offset=12 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 154 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 133 + call $~lib/array/Array#concat + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.tee $1 + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 157 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 158 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 135 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 136 + i32.const 3 + i32.const 880 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $7 + call $~lib/rt/pure/__retain + local.tee $6 + i32.load offset=12 + if + i32.const 0 + i32.const 368 + i32.const 161 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $6 + global.get $std/array/arr + call $~lib/array/Array#concat + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 163 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.load offset=12 + if + i32.const 0 + i32.const 368 + i32.const 164 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if + i32.const 3 + i32.const 896 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $39 + local.tee $1 + if + local.get $1 + call $~lib/rt/pure/__retain + drop + i32.const 0 + call $~lib/rt/pure/__release + end + local.get $1 i32.const 0 - i32.const 376 - i32.const 137 + i32.const 3 + i32.const 2147483647 + call $~lib/array/Array#copyWithin + local.set $10 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 46 - call $~lib/array/Array#push - local.get $4 - i32.const 47 - call $~lib/array/Array#push - global.get $std/array/arr - local.get $4 - call $~lib/array/Array#concat - local.set $2 - local.get $1 - call $~lib/rt/pure/__release - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 3 - i32.ne - if + i32.const 3 + i32.const 936 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $10 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $30 i32.const 0 - i32.const 376 - i32.const 144 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 172 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.load offset=12 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 145 + i32.const 3 + i32.const 976 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $31 + local.tee $0 + local.get $1 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $0 + i32.const 1 + i32.const 3 + i32.const 2147483647 + call $~lib/array/Array#copyWithin + local.set $11 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=12 - i32.const 5 - i32.ne - if + i32.const 3 + i32.const 1016 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $11 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $32 i32.const 0 - i32.const 376 - i32.const 146 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 174 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 147 + i32.const 3 + i32.const 1056 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $33 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $1 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 148 + i32.const 2147483647 + call $~lib/array/Array#copyWithin + local.set $12 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 149 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - call $~lib/array/Array#__get - i32.const 46 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 150 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - call $~lib/array/Array#__get - i32.const 47 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 151 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $~lib/array/Array#pop - drop - local.get $2 - i32.load offset=12 - i32.const 4 - i32.ne - if + i32.const 3 + i32.const 1096 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $12 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $34 i32.const 0 - i32.const 376 - i32.const 154 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 176 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#concat - local.set $5 - local.get $2 - call $~lib/rt/pure/__release - local.get $5 - i32.load offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 157 + i32.const 3 + i32.const 1136 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $35 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 158 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 936 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $1 - call $~lib/rt/pure/__retain - local.tee $6 - i32.load offset=12 - if - i32.const 0 - i32.const 376 - i32.const 161 + i32.const 2147483647 + call $~lib/array/Array#copyWithin + local.set $13 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $6 - global.get $std/array/arr - call $~lib/array/Array#concat - local.set $2 - local.get $5 - call $~lib/rt/pure/__release - local.get $2 - i32.load offset=12 - i32.const 3 - i32.ne - if + i32.const 3 + i32.const 1176 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $13 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $36 i32.const 0 - i32.const 376 - i32.const 163 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 178 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $6 - i32.load offset=12 - if + i32.const 3 + i32.const 1216 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $37 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $1 i32.const 0 - i32.const 376 - i32.const 164 + i32.const 3 + i32.const 4 + call $~lib/array/Array#copyWithin + local.set $14 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $4 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 952 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $30 - local.tee $0 - if + i32.const 3 + i32.const 1256 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $14 local.get $0 call $~lib/rt/pure/__retain - drop - i32.const 0 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 0 - i32.const 3 - i32.const 2147483647 - call $~lib/array/Array#copyWithin - local.tee $31 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 992 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $32 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $19 i32.const 0 - i32.const 376 - i32.const 172 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1032 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $33 - local.tee $1 - local.get $0 - i32.ne - if + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError local.get $1 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 180 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1296 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError call $~lib/rt/pure/__retain - drop + local.tee $20 + local.tee $1 local.get $0 - call $~lib/rt/pure/__release - end - local.get $1 - i32.const 1 - i32.const 3 - i32.const 2147483647 - call $~lib/array/Array#copyWithin - local.tee $34 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1072 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $35 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 174 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $1 + i32.const 1 + i32.const 3 + i32.const 4 + call $~lib/array/Array#copyWithin + local.set $3 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1112 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $36 - local.tee $0 - local.get $1 - i32.ne - if + i32.const 3 + i32.const 1336 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $3 local.get $0 call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 1 - i32.const 2 - i32.const 2147483647 - call $~lib/array/Array#copyWithin - local.tee $7 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1152 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $10 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $21 i32.const 0 - i32.const 376 - i32.const 176 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 182 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1192 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $15 - local.tee $0 - i32.ne - if - local.get $0 + i32.const 3 + i32.const 1376 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError call $~lib/rt/pure/__retain - drop + local.tee $22 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 2 - i32.const 2 - i32.const 2147483647 - call $~lib/array/Array#copyWithin - local.tee $16 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1232 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $17 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 178 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1272 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $18 - local.tee $0 - i32.ne - if + i32.const 4 + call $~lib/array/Array#copyWithin + local.set $9 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1416 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $9 local.get $0 call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 0 - i32.const 3 - i32.const 4 - call $~lib/array/Array#copyWithin - local.tee $19 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1312 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $20 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $23 i32.const 0 - i32.const 376 - i32.const 180 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 184 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1352 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $21 - local.tee $0 - i32.ne - if - local.get $0 + i32.const 3 + i32.const 1456 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError call $~lib/rt/pure/__retain - drop + local.tee $24 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 1 - i32.const 3 - i32.const 4 - call $~lib/array/Array#copyWithin - local.tee $22 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1392 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $23 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 182 + i32.const -2 + i32.const 2147483647 + call $~lib/array/Array#copyWithin + local.set $6 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1432 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $24 - local.tee $0 - i32.ne - if + i32.const 3 + i32.const 1496 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $6 local.get $0 call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 1 - i32.const 2 - i32.const 4 - call $~lib/array/Array#copyWithin - local.tee $28 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1472 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $9 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $25 i32.const 0 - i32.const 376 - i32.const 184 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 186 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1512 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $11 - local.tee $0 - i32.ne - if - local.get $0 + i32.const 3 + i32.const 1536 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError call $~lib/rt/pure/__retain - drop + local.tee $26 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 0 - i32.const -2 - i32.const 2147483647 - call $~lib/array/Array#copyWithin - local.tee $12 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1552 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $13 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 186 + i32.const -2 + i32.const -1 + call $~lib/array/Array#copyWithin + local.set $8 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1592 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $14 - local.tee $0 - i32.ne - if + i32.const 3 + i32.const 1576 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $8 local.get $0 call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 0 - i32.const -2 - i32.const -1 - call $~lib/array/Array#copyWithin - local.tee $25 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1632 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $26 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $27 i32.const 0 - i32.const 376 - i32.const 188 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 188 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1672 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - local.tee $0 - i32.ne - if - local.get $0 + i32.const 3 + i32.const 1616 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError call $~lib/rt/pure/__retain - drop + local.tee $28 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const -4 - i32.const -3 - i32.const -2 - call $~lib/array/Array#copyWithin - local.tee $27 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1712 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 190 + i32.const -4 + i32.const -3 + i32.const -2 + call $~lib/array/Array#copyWithin + local.set $7 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1752 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - local.tee $0 - i32.ne - if + i32.const 3 + i32.const 1656 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $7 local.get $0 call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const -4 - i32.const -3 - i32.const -1 - call $~lib/array/Array#copyWithin - local.tee $5 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1792 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $29 i32.const 0 - i32.const 376 - i32.const 192 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 190 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1832 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - local.tee $29 - i32.ne - if - local.get $29 + i32.const 3 + i32.const 1696 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError call $~lib/rt/pure/__retain - drop + local.tee $16 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end local.get $1 - call $~lib/rt/pure/__release - end - local.get $29 - i32.const -4 - i32.const -3 - i32.const 2147483647 - call $~lib/array/Array#copyWithin - local.tee $0 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1872 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 194 + i32.const -4 + i32.const -3 + i32.const -1 + call $~lib/array/Array#copyWithin + local.set $2 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $29 - call $~lib/rt/pure/__release - local.get $30 - call $~lib/rt/pure/__release - local.get $31 - call $~lib/rt/pure/__release - local.get $32 - call $~lib/rt/pure/__release - local.get $33 - call $~lib/rt/pure/__release - local.get $34 - call $~lib/rt/pure/__release - local.get $35 - call $~lib/rt/pure/__release - local.get $36 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release - local.get $16 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $18 - call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release - local.get $20 - call $~lib/rt/pure/__release - local.get $21 - call $~lib/rt/pure/__release - local.get $22 - call $~lib/rt/pure/__release - local.get $23 - call $~lib/rt/pure/__release - local.get $24 - call $~lib/rt/pure/__release - local.get $28 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $25 - call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $27 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.const 42 - call $~lib/array/Array#unshift - global.get $std/array/arr - i32.load offset=12 - i32.const 4 - i32.ne - if + i32.const 3 + i32.const 1736 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $2 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $17 i32.const 0 - i32.const 376 - i32.const 202 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 192 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 203 + i32.const 3 + i32.const 1776 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $18 + local.tee $4 + local.get $0 + i32.ne + if + local.get $4 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $4 + i32.const -4 + i32.const -3 + i32.const 2147483647 + call $~lib/array/Array#copyWithin + local.set $1 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 204 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 205 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 206 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 207 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 41 - call $~lib/array/Array#unshift - global.get $std/array/arr - i32.load offset=12 - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 211 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 212 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 41 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 213 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 214 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 215 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 216 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 4 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 217 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#shift - global.set $std/array/i - global.get $std/array/i - i32.const 41 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 226 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 227 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 228 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 229 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 230 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 231 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 232 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - global.set $std/array/i - global.get $std/array/i - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 236 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 237 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 238 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 239 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 240 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 241 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#reverse - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.load offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 249 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 250 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 251 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 252 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 253 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 44 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 44 - i32.const 0 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - if - i32.const 0 - i32.const 376 - i32.const 263 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 42 - i32.const 0 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 266 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 45 - i32.const 0 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 269 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 100 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 272 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -100 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 275 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -2 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 278 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -4 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 281 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 0 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 284 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 1 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 287 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 2 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 290 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 44 - i32.const 0 - call $~lib/array/Array#includes - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 297 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 42 - i32.const 0 - call $~lib/array/Array#includes - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 300 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 45 - i32.const 0 - call $~lib/array/Array#includes - if - i32.const 0 - i32.const 376 - i32.const 303 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 100 - call $~lib/array/Array#includes - if - i32.const 0 - i32.const 376 - i32.const 306 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -100 - call $~lib/array/Array#includes - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 309 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -2 - call $~lib/array/Array#includes - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 312 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -4 - call $~lib/array/Array#includes - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 315 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 0 - call $~lib/array/Array#includes - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 318 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 1 - call $~lib/array/Array#includes - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 321 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 2 - call $~lib/array/Array#includes - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 324 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - i32.const 1 - call $~lib/array/Array#splice - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.load offset=12 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 328 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 329 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 330 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if + i32.const 3 + i32.const 1816 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $15 i32.const 0 - i32.const 376 - i32.const 331 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1912 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $38 - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 0 - i32.const 2147483647 - call $~lib/array/Array#splice - local.tee $39 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1952 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $40 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + local.get $4 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 194 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + local.get $39 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $30 + call $~lib/rt/pure/__release + local.get $31 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $32 + call $~lib/rt/pure/__release + local.get $33 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $34 + call $~lib/rt/pure/__release + local.get $35 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $36 + call $~lib/rt/pure/__release + local.get $37 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $19 + call $~lib/rt/pure/__release + local.get $20 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $21 + call $~lib/rt/pure/__release + local.get $22 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $23 + call $~lib/rt/pure/__release + local.get $24 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $25 + call $~lib/rt/pure/__release + local.get $26 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $27 + call $~lib/rt/pure/__release + local.get $28 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $29 + call $~lib/rt/pure/__release + local.get $16 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $18 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + global.get $std/array/arr + i32.const 42 + call $~lib/array/Array#unshift + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.load offset=12 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 202 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 203 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 338 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 204 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 205 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 1992 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $41 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 206 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 207 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 41 + call $~lib/array/Array#unshift + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.load offset=12 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 211 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 212 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 339 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 41 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 213 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 214 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2008 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $42 - local.tee $1 - i32.ne - if - local.get $1 - call $~lib/rt/pure/__retain - drop - local.get $0 - call $~lib/rt/pure/__release - end - local.get $1 - i32.const 2 - i32.const 2147483647 - call $~lib/array/Array#splice - local.tee $43 - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 2048 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $44 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 215 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 216 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 4 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 217 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#shift + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 41 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 226 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 227 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 228 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 342 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 229 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 230 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 2080 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $45 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 231 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 232 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 236 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 237 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 238 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 343 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 239 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 240 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2104 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $46 - local.tee $0 - i32.ne - if - local.get $0 - call $~lib/rt/pure/__retain - drop - local.get $1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 241 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#reverse call $~lib/rt/pure/__release - end - local.get $0 - i32.const 2 - i32.const 2 - call $~lib/array/Array#splice - local.tee $47 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 2144 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $48 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + global.get $std/array/arr + i32.load offset=12 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 249 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 250 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 346 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 251 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 252 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 2168 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $49 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 253 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 44 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 44 i32.const 0 - i32.const 376 - i32.const 347 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $1 - local.get $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2200 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $50 - local.tee $0 - i32.ne - if - local.get $0 - call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/array/Array#splice - local.tee $51 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 2240 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $52 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + if + i32.const 0 + i32.const 368 + i32.const 263 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 42 i32.const 0 - i32.const 376 - i32.const 350 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 2264 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $29 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 266 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 45 + i32.const 0 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 269 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const 100 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 272 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -100 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 275 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -2 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 278 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -4 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 281 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 i32.const 0 - i32.const 376 - i32.const 351 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 284 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const 1 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 287 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2296 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $30 - local.tee $0 - i32.ne - if - local.get $0 - call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const -1 - i32.const 2147483647 - call $~lib/array/Array#splice - local.tee $31 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 2336 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $32 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 290 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 44 + i32.const 0 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 297 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 42 + i32.const 0 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 300 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 45 + i32.const 0 + call $~lib/array/Array#includes + if + i32.const 0 + i32.const 368 + i32.const 303 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const 100 + call $~lib/array/Array#includes + if + i32.const 0 + i32.const 368 + i32.const 306 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -100 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 309 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -2 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 312 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -4 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 315 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 i32.const 0 - i32.const 376 - i32.const 354 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 318 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const 1 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 321 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 2360 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $33 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 324 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + i32.const 1 + call $~lib/array/Array#splice + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + global.get $std/array/arr + i32.load offset=12 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 328 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 329 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 355 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 330 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 331 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2392 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $34 - local.tee $0 - i32.ne - if - local.get $0 + i32.const 3 + i32.const 1856 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const -2 - i32.const 2147483647 - call $~lib/array/Array#splice - local.tee $35 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 2432 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $36 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $40 + call $~lib/rt/pure/__retain + local.tee $0 i32.const 0 - i32.const 376 - i32.const 358 + i32.const 2147483647 + call $~lib/array/Array#splice + local.set $10 + global.get $~lib/error + br_if $uncaughtError + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 2456 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $7 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 3 + i32.const 1896 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $10 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $41 + i32.const 0 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 338 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 359 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2488 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $10 - local.tee $0 - i32.ne - if + i32.const 3 + i32.const 1936 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError local.get $0 - call $~lib/rt/pure/__retain - drop local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const -2 - i32.const 1 - call $~lib/array/Array#splice - local.tee $15 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 2528 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $16 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 362 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 2552 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $17 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/rt/pure/__retain + local.tee $42 i32.const 0 - i32.const 376 - i32.const 363 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 339 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2584 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $18 - local.tee $0 - i32.ne - if + i32.const 3 + i32.const 1952 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError local.get $0 + local.get $1 call $~lib/rt/pure/__retain - drop + local.tee $43 + local.tee $1 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const -7 - i32.const 1 - call $~lib/array/Array#splice - local.tee $19 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 2624 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $20 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 366 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 2648 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $21 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 367 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2680 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $22 - local.tee $0 - i32.ne - if + i32.const 2 + i32.const 2147483647 + call $~lib/array/Array#splice + local.set $11 + global.get $~lib/error + br_if $uncaughtError + i32.const 3 + i32.const 2 + i32.const 3 + i32.const 1992 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $11 local.get $0 call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const -2 - i32.const -1 - call $~lib/array/Array#splice - local.tee $23 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 2720 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $24 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $44 i32.const 0 - i32.const 376 - i32.const 370 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.set $0 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 342 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2736 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $28 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 2 + i32.const 3 + i32.const 2024 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $45 i32.const 0 - i32.const 376 - i32.const 371 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 343 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2776 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $9 - local.tee $0 - i32.ne - if + i32.const 3 + i32.const 2048 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError local.get $0 + local.get $1 call $~lib/rt/pure/__retain - drop + local.tee $46 + local.tee $1 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 1 - i32.const -2 - call $~lib/array/Array#splice - local.tee $11 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 2816 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $12 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 374 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2832 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $13 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 375 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2872 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $14 - local.tee $0 - i32.ne - if + call $~lib/array/Array#splice + local.set $12 + global.get $~lib/error + br_if $uncaughtError + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 2088 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $12 local.get $0 call $~lib/rt/pure/__retain - drop - local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/array/Array#splice - local.tee $25 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 2912 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $26 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $47 i32.const 0 - i32.const 376 - i32.const 378 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 346 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2928 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 3 + i32.const 2112 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $48 i32.const 0 - i32.const 376 - i32.const 379 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 347 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2968 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $27 - local.tee $0 - i32.ne - if + i32.const 3 + i32.const 2144 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 local.get $0 call $~lib/rt/pure/__retain - drop + local.tee $49 + local.tee $0 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/array/Array#splice + local.set $13 + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 2184 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $13 local.get $1 - call $~lib/rt/pure/__release - end - local.get $0 - i32.const 7 - i32.const 0 - call $~lib/array/Array#splice - local.tee $3 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 3008 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/rt/pure/__retain + local.tee $50 i32.const 0 - i32.const 376 - i32.const 382 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 350 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 3024 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 3 + i32.const 2208 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $51 i32.const 0 - i32.const 376 - i32.const 383 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 351 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 3064 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - local.tee $37 - local.get $0 - local.tee $1 - i32.ne - if - local.get $37 + i32.const 3 + i32.const 2240 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 call $~lib/rt/pure/__retain - drop + local.tee $52 + local.tee $1 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end local.get $1 - call $~lib/rt/pure/__release - end - local.get $37 - i32.const 7 - i32.const 5 - call $~lib/array/Array#splice - local.tee $2 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 3104 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 386 + i32.const -1 + i32.const 2147483647 + call $~lib/array/Array#splice + local.set $14 + global.get $~lib/error + br_if $uncaughtError + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 3120 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 3 + i32.const 2280 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $14 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $53 i32.const 0 - i32.const 376 - i32.const 387 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 354 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $38 - call $~lib/rt/pure/__release - local.get $37 - call $~lib/rt/pure/__release - local.get $39 - call $~lib/rt/pure/__release - local.get $40 - call $~lib/rt/pure/__release - local.get $41 - call $~lib/rt/pure/__release - local.get $42 - call $~lib/rt/pure/__release - local.get $43 - call $~lib/rt/pure/__release - local.get $44 - call $~lib/rt/pure/__release - local.get $45 - call $~lib/rt/pure/__release - local.get $46 - call $~lib/rt/pure/__release - local.get $47 - call $~lib/rt/pure/__release - local.get $48 - call $~lib/rt/pure/__release - local.get $49 - call $~lib/rt/pure/__release - local.get $50 - call $~lib/rt/pure/__release - local.get $51 - call $~lib/rt/pure/__release - local.get $52 - call $~lib/rt/pure/__release - local.get $29 - call $~lib/rt/pure/__release - local.get $30 - call $~lib/rt/pure/__release - local.get $31 - call $~lib/rt/pure/__release - local.get $32 - call $~lib/rt/pure/__release - local.get $33 - call $~lib/rt/pure/__release - local.get $34 - call $~lib/rt/pure/__release - local.get $35 - call $~lib/rt/pure/__release - local.get $36 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release - local.get $16 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $18 - call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release - local.get $20 - call $~lib/rt/pure/__release - local.get $21 - call $~lib/rt/pure/__release - local.get $22 - call $~lib/rt/pure/__release - local.get $23 - call $~lib/rt/pure/__release - local.get $24 - call $~lib/rt/pure/__release - local.get $28 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $25 - call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $27 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.const 0 - i32.const 0 - call $~lib/array/Array#__set - global.get $std/array/arr - i32.const 1 - i32.const 1 - call $~lib/array/Array#__set - global.get $std/array/arr - i32.const 2 - i32.const 2 - call $~lib/array/Array#__set - global.get $std/array/arr - i32.const 3 - i32.const 3 - call $~lib/array/Array#__set - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - if + i32.const 3 + i32.const 2304 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $39 i32.const 0 - i32.const 376 - i32.const 400 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 355 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne - if + i32.const 3 + i32.const 2336 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $30 + local.tee $0 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $0 + i32.const -2 + i32.const 2147483647 + call $~lib/array/Array#splice + local.set $3 + global.get $~lib/error + br_if $uncaughtError + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 2376 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $31 i32.const 0 - i32.const 376 - i32.const 403 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 358 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.ne - if + i32.const 3 + i32.const 2400 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $32 i32.const 0 - i32.const 376 - i32.const 406 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 359 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 4 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.ne - if + i32.const 3 + i32.const 2432 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $33 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $1 + i32.const -2 + i32.const 1 + call $~lib/array/Array#splice + local.set $9 + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 2472 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $9 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $34 i32.const 0 - i32.const 376 - i32.const 414 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 362 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 8 - i32.ne - if + i32.const 3 + i32.const 2496 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $35 i32.const 0 - i32.const 376 - i32.const 415 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 363 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 5 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.eq - if + i32.const 3 + i32.const 2528 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $36 + local.tee $0 + local.get $1 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $0 + i32.const -7 + i32.const 1 + call $~lib/array/Array#splice + local.set $6 + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 2568 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $6 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $37 i32.const 0 - i32.const 376 - i32.const 417 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 366 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - i32.const 6 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.ne - if + i32.const 3 + i32.const 2592 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $19 i32.const 0 - i32.const 376 - i32.const 430 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 367 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 2 - i32.ne - if + i32.const 3 + i32.const 2624 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $20 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $1 + i32.const -2 + i32.const -1 + call $~lib/array/Array#splice + local.set $8 + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 431 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 7 - call $~lib/array/Array#every - i32.const 1 - i32.ne - if + i32.const 3 + i32.const 2664 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $8 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $21 i32.const 0 - i32.const 376 - i32.const 441 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 370 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 8 - call $~lib/array/Array#every - if + i32.const 3 + i32.const 2680 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $22 i32.const 0 - i32.const 376 - i32.const 444 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 371 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 9 - call $~lib/array/Array#every - i32.const 1 - i32.ne - if + i32.const 3 + i32.const 2720 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $23 + local.tee $0 + local.get $1 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $0 + i32.const 1 + i32.const -2 + call $~lib/array/Array#splice + local.set $7 + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 452 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 8 - i32.ne - if + i32.const 3 + i32.const 2760 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $7 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $24 i32.const 0 - i32.const 376 - i32.const 453 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 374 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 10 - call $~lib/array/Array#every - if + i32.const 3 + i32.const 2776 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $25 i32.const 0 - i32.const 376 - i32.const 455 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 375 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - i32.const 11 - call $~lib/array/Array#every - i32.const 1 - i32.ne - if + i32.const 3 + i32.const 2816 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $26 + local.tee $1 + local.get $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $1 + i32.const 4 + i32.const 0 + call $~lib/array/Array#splice + local.set $2 + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 468 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 2 - i32.ne - if + i32.const 3 + i32.const 2856 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $2 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $27 i32.const 0 - i32.const 376 - i32.const 469 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 378 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 12 - call $~lib/array/Array#some - i32.const 1 - i32.ne - if + i32.const 3 + i32.const 2872 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $28 i32.const 0 - i32.const 376 - i32.const 479 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 379 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 13 - call $~lib/array/Array#some - if + i32.const 3 + i32.const 2912 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $29 + local.tee $0 + local.get $1 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__release + end + local.get $0 + i32.const 7 i32.const 0 - i32.const 376 - i32.const 482 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 14 - call $~lib/array/Array#some - if + call $~lib/array/Array#splice + local.set $1 + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 490 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 8 - i32.ne - if + i32.const 3 + i32.const 2952 + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $4 + call $~lib/rt/pure/__retain + local.tee $16 i32.const 0 - i32.const 376 - i32.const 491 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 382 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 15 - call $~lib/array/Array#some - i32.const 1 - i32.ne - if + i32.const 3 + i32.const 2968 + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $4 + call $~lib/rt/pure/__retain + local.tee $17 i32.const 0 - i32.const 376 - i32.const 493 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 383 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - i32.const 16 - call $~lib/array/Array#some - if + i32.const 3 + i32.const 3008 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $18 + local.tee $38 + local.get $0 + i32.ne + if + local.get $38 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + local.get $38 + i32.const 7 + i32.const 5 + call $~lib/array/Array#splice + local.set $0 + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 506 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 2 - i32.ne - if + i32.const 3 + i32.const 3048 + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $4 + call $~lib/rt/pure/__retain + local.tee $15 i32.const 0 - i32.const 376 - i32.const 507 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 386 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 17 - call $~lib/array/Array#forEach - global.get $std/array/i - i32.const 6 - i32.ne - if + i32.const 3 + i32.const 3064 + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + br_if $uncaughtError + local.get $38 + local.get $4 + call $~lib/rt/pure/__retain + local.tee $5 i32.const 0 - i32.const 376 - i32.const 518 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 18 - call $~lib/array/Array#forEach - global.get $std/array/i - i32.const 6 - i32.ne - if + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 387 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $40 + call $~lib/rt/pure/__release + local.get $38 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $41 + call $~lib/rt/pure/__release + local.get $42 + call $~lib/rt/pure/__release + local.get $43 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $44 + call $~lib/rt/pure/__release + local.get $45 + call $~lib/rt/pure/__release + local.get $46 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $47 + call $~lib/rt/pure/__release + local.get $48 + call $~lib/rt/pure/__release + local.get $49 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $50 + call $~lib/rt/pure/__release + local.get $51 + call $~lib/rt/pure/__release + local.get $52 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $53 + call $~lib/rt/pure/__release + local.get $39 + call $~lib/rt/pure/__release + local.get $30 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $31 + call $~lib/rt/pure/__release + local.get $32 + call $~lib/rt/pure/__release + local.get $33 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $34 + call $~lib/rt/pure/__release + local.get $35 + call $~lib/rt/pure/__release + local.get $36 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $37 + call $~lib/rt/pure/__release + local.get $19 + call $~lib/rt/pure/__release + local.get $20 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $21 + call $~lib/rt/pure/__release + local.get $22 + call $~lib/rt/pure/__release + local.get $23 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $24 + call $~lib/rt/pure/__release + local.get $25 + call $~lib/rt/pure/__release + local.get $26 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $27 + call $~lib/rt/pure/__release + local.get $28 + call $~lib/rt/pure/__release + local.get $29 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $16 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $18 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 527 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 8 - i32.ne - if i32.const 0 - i32.const 376 - i32.const 528 + call $~lib/array/Array#__set + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 1 + i32.const 1 + call $~lib/array/Array#__set + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 19 - call $~lib/array/Array#forEach - global.get $std/array/i - i32.const 406 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 531 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 20 - call $~lib/array/Array#forEach - global.get $std/array/i - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 545 + call $~lib/array/Array#__set + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 3 + i32.const 3 + call $~lib/array/Array#__set + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#findIndex + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + if + i32.const 0 + i32.const 368 + i32.const 400 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 546 + call $~lib/array/Array#findIndex + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 403 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#findIndex + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 406 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 4 + call $~lib/array/Array#findIndex + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 414 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 415 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 5 + call $~lib/array/Array#findIndex + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.eq + if + i32.const 0 + i32.const 368 + i32.const 417 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 6 + call $~lib/array/Array#findIndex + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 430 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 21 - call $~lib/array/Array#forEach - global.get $std/array/arr - i32.load offset=12 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 571 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 431 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $2 - loop $loop|0 - local.get $2 - i32.const 100 - i32.lt_s + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 7 + call $~lib/array/Array#every + global.get $~lib/error + br_if $uncaughtError + i32.const 0 + i32.ne + i32.const 1 + i32.ne if - global.get $std/array/arr - call $~lib/array/Array#pop - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $loop|0 + i32.const 0 + i32.const 368 + i32.const 441 + i32.const 2 + call $~lib/builtins/abort + unreachable end - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - global.get $std/array/arr - call $~lib/array/Array#map - local.tee $1 - i32.load offset=12 - i32.const 4 - i32.ne - if + global.get $std/array/arr + i32.const 8 + call $~lib/array/Array#every + global.get $~lib/error + br_if $uncaughtError + if + i32.const 0 + i32.const 368 + i32.const 444 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 9 + call $~lib/array/Array#every + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 585 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - call $~lib/array/Array#__get - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - f32.convert_i32_s - f32.ne - if + i32.ne + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 452 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 453 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 10 + call $~lib/array/Array#every + global.get $~lib/error + br_if $uncaughtError + if + i32.const 0 + i32.const 368 + i32.const 455 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 11 + call $~lib/array/Array#every + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 586 + i32.ne + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 468 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 23 - call $~lib/array/Array#map - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 595 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 469 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 8 - i32.ne - if + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 12 + call $~lib/array/Array#some + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 596 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 24 - call $~lib/array/Array#map - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 406 - i32.ne - if + i32.ne + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 479 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 13 + call $~lib/array/Array#some + global.get $~lib/error + br_if $uncaughtError + if + i32.const 0 + i32.const 368 + i32.const 482 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 14 + call $~lib/array/Array#some + global.get $~lib/error + br_if $uncaughtError + if + i32.const 0 + i32.const 368 + i32.const 490 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 491 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 15 + call $~lib/array/Array#some + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 603 + i32.ne + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 493 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 16 + call $~lib/array/Array#some + global.get $~lib/error + br_if $uncaughtError + if + i32.const 0 + i32.const 368 + i32.const 506 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 25 - call $~lib/array/Array#map - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 618 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 507 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 2 - i32.ne - if + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + i32.const 0 + global.set $std/array/i + global.get $std/array/arr + i32.const 17 + call $~lib/array/Array#forEach + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 518 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 619 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - local.get $1 - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.const 26 - call $~lib/array/Array#filter - local.tee $1 - i32.load offset=12 - i32.const 2 - i32.ne - if + global.set $std/array/i + global.get $std/array/arr + i32.const 18 + call $~lib/array/Array#forEach + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 527 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 528 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 629 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 27 - call $~lib/array/Array#filter - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 6 - i32.ne - if + global.set $std/array/i + global.get $std/array/arr + i32.const 19 + call $~lib/array/Array#forEach + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/i + i32.const 406 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 531 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 638 + global.set $std/array/i + global.get $std/array/arr + i32.const 20 + call $~lib/array/Array#forEach + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 545 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 639 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 546 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 28 - call $~lib/array/Array#filter - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 406 - i32.ne - if + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 21 + call $~lib/array/Array#forEach + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.load offset=12 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 571 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 646 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 29 - call $~lib/array/Array#filter - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 1 - i32.ne - if + local.set $0 + loop $loop|0 + local.get $0 + i32.const 100 + i32.lt_s + if + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#map + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.load offset=12 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 585 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.const 376 - i32.const 661 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 2 - i32.ne - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 662 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - local.get $1 - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.const 30 - i32.const 0 - call $~lib/array/Array#reduce - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.ne - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + f32.convert_i32_s + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 586 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 672 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 31 - i32.const 4 - call $~lib/array/Array#reduce - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.ne - if + global.set $std/array/i + global.get $std/array/arr + i32.const 23 + call $~lib/array/Array#map + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 595 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 596 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 676 + global.set $std/array/i + global.get $std/array/arr + i32.const 24 + call $~lib/array/Array#map + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 406 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 603 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + i32.const 0 + global.set $std/array/i + global.get $std/array/arr + i32.const 25 + call $~lib/array/Array#map + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 618 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 32 - i32.const 0 - call $~lib/array/Array#reduce - i32.const 0 - i32.ne - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 679 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 619 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 33 - i32.const 0 - call $~lib/array/Array#reduce - if - i32.const 0 - i32.const 376 - i32.const 682 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__release + global.get $std/array/arr + i32.const 26 + call $~lib/array/Array#filter + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.load offset=12 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 34 - i32.const 0 - call $~lib/array/Array#reduce - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.ne - if + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 629 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 690 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 8 - i32.ne - if + global.set $std/array/i + global.get $std/array/arr + i32.const 27 + call $~lib/array/Array#filter + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 638 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 639 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 691 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 35 - i32.const 0 - call $~lib/array/Array#reduce - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.ne - if + global.set $std/array/i + global.get $std/array/arr + i32.const 28 + call $~lib/array/Array#filter + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 406 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 646 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 693 + global.set $std/array/i + global.get $std/array/arr + i32.const 29 + call $~lib/array/Array#filter + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 661 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - i32.const 36 - i32.const 0 - call $~lib/array/Array#reduce - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 706 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 662 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 2 - i32.ne - if + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__release + global.get $std/array/arr + i32.const 30 + i32.const 0 + call $~lib/array/Array#reduce + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 672 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 31 + i32.const 4 + call $~lib/array/Array#reduce + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 676 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 32 i32.const 0 - i32.const 376 - i32.const 707 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 37 - i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.ne - if + call $~lib/array/Array#reduce + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 717 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 38 - i32.const 4 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.ne - if + i32.ne + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 679 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 33 i32.const 0 - i32.const 376 - i32.const 721 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 39 - i32.const 0 - call $~lib/array/Array#reduceRight - i32.const 0 - i32.ne - i32.const 1 - i32.ne - if + call $~lib/array/Array#reduce + global.get $~lib/error + br_if $uncaughtError + if + i32.const 0 + i32.const 368 + i32.const 682 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 34 + i32.const 0 + call $~lib/array/Array#reduce + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 690 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 691 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 35 i32.const 0 - i32.const 376 - i32.const 724 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 40 - i32.const 0 - call $~lib/array/Array#reduceRight - if + call $~lib/array/Array#reduce + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 693 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 36 i32.const 0 - i32.const 376 - i32.const 727 + call $~lib/array/Array#reduce + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 706 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 41 - i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 735 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 707 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - i32.const 8 - i32.ne - if + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 37 i32.const 0 - i32.const 376 - i32.const 736 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 42 - i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.ne - if + call $~lib/array/Array#reduceRight + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 717 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 38 + i32.const 4 + call $~lib/array/Array#reduceRight + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 721 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 39 i32.const 0 - i32.const 376 - i32.const 738 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - i32.const 43 - i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.ne - if + call $~lib/array/Array#reduceRight + global.get $~lib/error + br_if $uncaughtError i32.const 0 - i32.const 376 - i32.const 751 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.load offset=12 - if + i32.ne + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 724 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 40 i32.const 0 - i32.const 376 - i32.const 752 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - call $~lib/bindings/Math/random - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom - i32.const 8 - i32.const 2 - i32.const 8 - i32.const 3392 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $11 - call $~lib/rt/pure/__retain - local.set $10 - i32.const 0 - global.set $~lib/argc - i32.const 0 - local.set $2 - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - br_table $0of1 $1of1 $outOfRange - end + call $~lib/array/Array#reduceRight + global.get $~lib/error + br_if $uncaughtError + if + i32.const 0 + i32.const 368 + i32.const 727 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 41 + i32.const 0 + call $~lib/array/Array#reduceRight + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 735 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 736 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 42 + i32.const 0 + call $~lib/array/Array#reduceRight + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 738 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + call $~lib/array/Array#pop + drop + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 43 + i32.const 0 + call $~lib/array/Array#reduceRight + global.get $~lib/error + br_if $uncaughtError + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 751 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.load offset=12 + if + i32.const 0 + i32.const 368 + i32.const 752 + i32.const 2 + call $~lib/builtins/abort unreachable end - i32.const 44 - local.set $2 - end - local.get $10 - local.get $2 - call $~lib/array/Array#sort - call $~lib/rt/pure/__release - local.get $10 - i32.const 8 - i32.const 2 - i32.const 8 - i32.const 3440 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $12 - call $std/array/isArraysEqual - i32.eqz - if + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 841 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/error + br_if $uncaughtError + call $~lib/bindings/Math/random + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom + i32.const 8 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 8 - i32.const 3 - i32.const 9 - i32.const 3488 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $13 - call $~lib/rt/pure/__retain - local.set $15 - i32.const 0 - global.set $~lib/argc - i32.const 0 - local.set $2 - block $1of139 - block $0of140 - block $outOfRange41 - global.get $~lib/argc - br_table $0of140 $1of139 $outOfRange41 + i32.const 10 + i32.const 3336 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $19 + call $~lib/rt/pure/__retain + local.set $4 + i32.const 0 + global.set $~lib/argc + i32.const 0 + local.set $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~lib/argc + br_table $0of1 $1of1 $outOfRange + end + unreachable end + i32.const 44 + local.set $0 + end + local.get $4 + local.get $0 + call $~lib/array/Array#sort + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + i32.const 8 + i32.const 2 + i32.const 10 + i32.const 3384 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $4 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $20 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 841 + i32.const 2 + call $~lib/builtins/abort unreachable end - i32.const 45 - local.set $2 - end - local.get $15 - local.get $2 - call $~lib/array/Array#sort - call $~lib/rt/pure/__release - local.get $15 - i32.const 8 - i32.const 3 - i32.const 9 - i32.const 3568 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $14 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 8 + i32.const 3 + i32.const 11 + i32.const 3432 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $21 + call $~lib/rt/pure/__retain + local.set $10 i32.const 0 - i32.const 376 - i32.const 845 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 3648 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $25 - call $~lib/rt/pure/__retain - local.set $16 - i32.const 0 - global.set $~lib/argc - i32.const 0 - local.set $2 - block $1of142 - block $0of143 - block $outOfRange44 - global.get $~lib/argc - br_table $0of143 $1of142 $outOfRange44 + global.set $~lib/argc + i32.const 0 + local.set $0 + block $1of139 + block $0of140 + block $outOfRange41 + global.get $~lib/argc + br_table $0of140 $1of139 $outOfRange41 + end + unreachable end + i32.const 45 + local.set $0 + end + local.get $10 + local.get $0 + call $~lib/array/Array#sort + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + i32.const 8 + i32.const 3 + i32.const 11 + i32.const 3512 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $10 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $22 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 845 + i32.const 2 + call $~lib/builtins/abort unreachable end - i32.const 46 - local.set $2 - end - local.get $16 - local.get $2 - call $~lib/array/Array#sort - call $~lib/rt/pure/__release - local.get $16 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 3688 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $26 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 849 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 3728 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - call $~lib/rt/pure/__retain - local.set $17 - i32.const 0 - global.set $~lib/argc - i32.const 0 - local.set $4 - block $1of145 - block $0of146 - block $outOfRange47 - global.get $~lib/argc - br_table $0of146 $1of145 $outOfRange47 + i32.const 3 + i32.const 3592 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $23 + call $~lib/rt/pure/__retain + local.set $11 + i32.const 0 + global.set $~lib/argc + i32.const 0 + local.set $0 + block $1of142 + block $0of143 + block $outOfRange44 + global.get $~lib/argc + br_table $0of143 $1of142 $outOfRange44 + end + unreachable end + i32.const 46 + local.set $0 + end + local.get $11 + local.get $0 + call $~lib/array/Array#sort + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 3632 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $11 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $24 + i32.const 0 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 849 + i32.const 2 + call $~lib/builtins/abort unreachable end - i32.const 47 - local.set $4 - end - local.get $17 - local.get $4 - call $~lib/array/Array#sort - call $~lib/rt/pure/__release - local.get $17 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 3768 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $27 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 5 + i32.const 2 + i32.const 9 + i32.const 3672 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $25 + call $~lib/rt/pure/__retain + local.set $12 + i32.const 0 + global.set $~lib/argc i32.const 0 - i32.const 376 - i32.const 853 + local.set $0 + block $1of145 + block $0of146 + block $outOfRange47 + global.get $~lib/argc + br_table $0of146 $1of145 $outOfRange47 + end + unreachable + end + i32.const 47 + local.set $0 + end + local.get $12 + local.get $0 + call $~lib/array/Array#sort + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 3808 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - call $~lib/rt/pure/__retain - local.set $28 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 3824 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - call $~lib/rt/pure/__retain - local.set $18 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 3848 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - call $~lib/rt/pure/__retain - local.set $19 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 3872 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - call $~lib/rt/pure/__retain - local.set $20 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 3904 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - call $~lib/rt/pure/__retain - local.set $7 - i32.const 64 - call $std/array/createReverseOrderedArray - local.set $21 - i32.const 128 - call $std/array/createReverseOrderedArray - local.set $22 - i32.const 1024 - call $std/array/createReverseOrderedArray - local.set $23 - i32.const 10000 - call $std/array/createReverseOrderedArray - local.set $24 - i32.const 512 - call $std/array/createRandomOrderedArray - local.set $9 - local.get $28 - call $std/array/assertSortedDefault - local.get $18 - call $std/array/assertSortedDefault - local.get $18 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 3992 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 9 + i32.const 3712 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $12 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $26 + i32.const 0 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 853 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 873 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $19 - call $std/array/assertSortedDefault - local.get $19 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 4016 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 876 + i32.const 3 + i32.const 3752 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $27 + call $~lib/rt/pure/__retain + local.set $1 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $20 - call $std/array/assertSortedDefault - local.get $20 - local.get $7 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 879 + i32.const 3 + i32.const 3768 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $28 + call $~lib/rt/pure/__retain + local.set $13 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $21 - call $std/array/assertSortedDefault - local.get $21 - local.get $7 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 2 + i32.const 3 + i32.const 3792 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $29 + call $~lib/rt/pure/__retain + local.set $0 + i32.const 4 + i32.const 2 + i32.const 3 + i32.const 3816 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $16 + call $~lib/rt/pure/__retain + local.set $14 + i32.const 4 + i32.const 2 + i32.const 3 + i32.const 3848 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $17 + call $~lib/rt/pure/__retain + local.set $3 + i32.const 64 + call $std/array/createReverseOrderedArray + local.set $9 + global.get $~lib/error + br_if $uncaughtError + i32.const 128 + call $std/array/createReverseOrderedArray + local.set $6 + global.get $~lib/error + br_if $uncaughtError + i32.const 1024 + call $std/array/createReverseOrderedArray + local.set $8 + global.get $~lib/error + br_if $uncaughtError + i32.const 10000 + call $std/array/createReverseOrderedArray + local.set $7 + global.get $~lib/error + br_if $uncaughtError + i32.const 512 + call $std/array/createRandomOrderedArray + local.set $2 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $std/array/assertSortedDefault + global.get $~lib/error + br_if $uncaughtError + local.get $13 + call $std/array/assertSortedDefault + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 3936 + call $~lib/rt/__allocArray + local.set $5 + global.get $~lib/error + br_if $uncaughtError + local.get $13 + local.get $5 + call $~lib/rt/pure/__retain + local.tee $18 i32.const 0 - i32.const 376 - i32.const 882 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 873 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $std/array/assertSortedDefault + global.get $~lib/error + br_if $uncaughtError i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $22 - call $std/array/assertSortedDefault - local.get $22 - local.get $7 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 2 + i32.const 3 + i32.const 3960 + call $~lib/rt/__allocArray + local.set $5 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $5 + call $~lib/rt/pure/__retain + local.tee $15 + i32.const 0 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 876 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $14 + call $std/array/assertSortedDefault + global.get $~lib/error + br_if $uncaughtError + local.get $14 + local.get $3 i32.const 0 - i32.const 376 - i32.const 885 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 879 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $std/array/assertSortedDefault + global.get $~lib/error + br_if $uncaughtError + local.get $9 + local.get $3 + i32.const 4 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 882 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $6 + call $std/array/assertSortedDefault + global.get $~lib/error + br_if $uncaughtError + local.get $6 + local.get $3 + i32.const 4 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 885 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $8 + call $std/array/assertSortedDefault + global.get $~lib/error + br_if $uncaughtError + local.get $8 + local.get $3 + i32.const 4 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 888 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $7 + call $std/array/assertSortedDefault + global.get $~lib/error + br_if $uncaughtError + local.get $7 + local.get $3 + i32.const 4 + call $std/array/isArraysEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 891 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $std/array/assertSortedDefault + global.get $~lib/error + br_if $uncaughtError + local.get $19 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $20 + call $~lib/rt/pure/__release + local.get $21 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $22 + call $~lib/rt/pure/__release + local.get $23 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $24 + call $~lib/rt/pure/__release + local.get $25 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $26 + call $~lib/rt/pure/__release + local.get $27 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $28 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $29 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $16 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $18 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + i32.const 64 + call $std/array/createRandomOrderedArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + i32.const 257 + call $std/array/createRandomOrderedArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 49 + call $std/array/assertSorted + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 50 + call $std/array/assertSorted + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 51 + call $std/array/assertSorted + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 52 + call $std/array/assertSorted + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + call $std/array/createReverseOrderedNestedArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 53 + call $std/array/assertSorted<~lib/array/Array> + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__release + call $std/array/createReverseOrderedElementsArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 54 + call $std/array/assertSorted<~lib/array/Array> + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__release + i32.const 7 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $23 - call $std/array/assertSortedDefault - local.get $23 - local.get $7 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 15 + i32.const 4192 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $8 + call $~lib/rt/pure/__retain + local.set $0 + i32.const 7 + i32.const 2 + i32.const 15 + i32.const 4240 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $7 + call $~lib/rt/pure/__retain + local.set $9 + i32.const 1 + global.set $~lib/argc + local.get $0 + local.set $1 + i32.const 0 + local.set $2 + block $1of148 + block $0of149 + block $outOfRange50 + global.get $~lib/argc + i32.const 1 + i32.sub + br_table $0of149 $1of148 $outOfRange50 + end + unreachable + end + i32.const 55 + local.set $2 + end + local.get $0 + local.get $2 + call $std/array/assertSorted<~lib/string/String | null> + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $9 + call $std/array/isArraysEqual<~lib/string/String | null> + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 928 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + call $std/array/createRandomStringArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + global.set $~lib/argc + local.get $0 i32.const 0 - i32.const 376 - i32.const 888 + local.set $6 + block $1of151 + block $0of152 + block $outOfRange53 + global.get $~lib/argc + i32.const 1 + i32.sub + br_table $0of152 $1of151 $outOfRange53 + end + unreachable + end + i32.const 56 + local.set $6 + end + local.get $6 + call $std/array/assertSorted<~lib/array/Array> + global.get $~lib/error + br_if $uncaughtError + local.get $8 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $24 - call $std/array/assertSortedDefault - local.get $24 - local.get $7 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 891 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $9 - call $std/array/assertSortedDefault - local.get $11 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $25 - call $~lib/rt/pure/__release - local.get $16 - call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $27 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $28 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $18 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $20 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $21 - call $~lib/rt/pure/__release - local.get $22 - call $~lib/rt/pure/__release - local.get $23 - call $~lib/rt/pure/__release - local.get $24 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - i32.const 64 - call $std/array/createRandomOrderedArray - local.set $0 - i32.const 257 - call $std/array/createRandomOrderedArray - local.set $1 - local.get $0 - i32.const 49 - call $std/array/assertSorted - local.get $0 - i32.const 50 - call $std/array/assertSorted - local.get $1 - i32.const 51 - call $std/array/assertSorted - local.get $1 - i32.const 52 - call $std/array/assertSorted - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - call $std/array/createReverseOrderedNestedArray - local.tee $1 - i32.const 53 - call $std/array/assertSorted<~lib/array/Array> - local.get $1 - call $~lib/rt/pure/__release - call $std/array/createReverseOrderedElementsArray - local.tee $1 - i32.const 54 - call $std/array/assertSorted<~lib/array/Array> - local.get $1 - call $~lib/rt/pure/__release - i32.const 7 - i32.const 2 - i32.const 13 - i32.const 4264 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $0 - call $~lib/rt/pure/__retain - local.set $5 - i32.const 7 - i32.const 2 - i32.const 13 - i32.const 4312 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $1 - call $~lib/rt/pure/__retain - local.set $6 - i32.const 1 - global.set $~lib/argc - i32.const 0 - local.set $2 - block $1of148 - block $0of149 - block $outOfRange50 - global.get $~lib/argc - i32.const 1 - i32.sub - br_table $0of149 $1of148 $outOfRange50 + i32.const 17 + i32.const 4312 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.set $15 + i32.const 4392 + call $~lib/rt/pure/__retain + drop + local.get $15 + call $~lib/array/Array#join_bool + local.set $0 + block $__inlined_func$~lib/array/Array#join + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/array/Array#join end + i32.const 4392 + call $~lib/rt/pure/__release + end + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.tee $9 + i32.const 4416 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 939 + i32.const 2 + call $~lib/builtins/abort unreachable end - i32.const 55 - local.set $2 - end - local.get $5 - local.get $2 - call $std/array/assertSorted<~lib/string/String | null> - local.get $5 - local.get $6 - call $std/array/isArraysEqual<~lib/string/String | null> - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 928 + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - call $std/array/createRandomStringArray - local.set $2 - i32.const 1 - global.set $~lib/argc - i32.const 0 - local.set $4 - block $1of151 - block $0of152 - block $outOfRange53 - global.get $~lib/argc - i32.const 1 - i32.sub - br_table $0of152 $1of151 $outOfRange53 + i32.const 3 + i32.const 4456 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $10 + i32.const 208 + call $~lib/array/Array#join + local.set $6 + global.get $~lib/error + br_if $uncaughtError + local.get $6 + i32.const 4512 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 940 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 9 + i32.const 4544 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $11 + i32.const 4576 + call $~lib/array/Array#join + local.set $8 + global.get $~lib/error + br_if $uncaughtError + local.get $8 + i32.const 4512 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 941 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 4600 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $12 + i32.const 4624 + call $~lib/array/Array#join + local.set $7 + global.get $~lib/error + br_if $uncaughtError + local.get $7 + i32.const 4648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 942 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 6 + i32.const 3 + i32.const 11 + i32.const 4712 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.set $5 + i32.const 4776 + call $~lib/rt/pure/__retain + drop + local.get $5 + call $~lib/array/Array#join_flt + local.set $0 + block $__inlined_func$~lib/array/Array#join + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/array/Array#join end + i32.const 4776 + call $~lib/rt/pure/__release + end + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.tee $2 + i32.const 5976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 943 + i32.const 2 + call $~lib/builtins/abort unreachable end - i32.const 56 - local.set $4 - end - local.get $2 - local.get $4 - call $std/array/assertSorted<~lib/array/Array> - local.get $0 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - i32.const 2 - i32.const 0 - i32.const 15 - i32.const 4384 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.set $9 - i32.const 4464 - call $~lib/rt/pure/__retain - drop - local.get $9 - call $~lib/array/Array#join_bool - local.set $11 - i32.const 4464 - call $~lib/rt/pure/__release - local.get $11 - i32.const 4488 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 939 + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 4528 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $25 - i32.const 4248 - call $~lib/array/Array#join - local.tee $26 - i32.const 4584 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 940 + i32.const 16 + i32.const 6096 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $13 + i32.const 208 + call $~lib/array/Array<~lib/string/String>#join + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 6072 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 944 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 7 - i32.const 4616 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - i32.const 4648 - call $~lib/array/Array#join - local.tee $27 - i32.const 4584 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 21 i32.const 0 - i32.const 376 - i32.const 941 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 4672 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - i32.const 4696 - call $~lib/array/Array#join - local.tee $4 - i32.const 4720 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + br_if $uncaughtError + local.get $4 + i32.load offset=4 + local.tee $0 + call $std/array/Ref#constructor + local.tee $14 + call $~lib/rt/pure/__retain + i32.store + local.get $0 i32.const 0 - i32.const 376 - i32.const 942 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 6 - i32.const 3 - i32.const 9 - i32.const 4784 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.set $12 - i32.const 4848 - call $~lib/rt/pure/__retain - drop - local.get $12 - call $~lib/array/Array#join_flt - local.set $13 - i32.const 4848 - call $~lib/rt/pure/__release - local.get $13 - i32.const 6048 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + call $std/array/Ref#constructor + local.tee $3 + call $~lib/rt/pure/__retain + i32.store offset=8 + local.get $4 + call $~lib/rt/pure/__retain + local.set $4 + i32.const 4392 + call $~lib/rt/pure/__retain + drop + local.get $4 + call $~lib/array/Array#join_ref + local.set $0 + block $__inlined_func$~lib/array/Array#join + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/array/Array#join + end + i32.const 4392 + call $~lib/rt/pure/__release + end + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 6176 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 946 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $15 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release i32.const 0 - i32.const 376 - i32.const 943 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 14 - i32.const 6168 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - i32.const 4248 - call $~lib/array/Array<~lib/string/String>#join - local.tee $6 - i32.const 6144 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 944 + i32.const 3 + i32.const 6256 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $30 + call $~lib/rt/pure/__retain + local.set $5 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 19 - i32.const 0 - call $~lib/rt/__allocArray - local.tee $2 - i32.load offset=4 - local.tee $1 - call $std/array/Ref#constructor - local.tee $0 - call $~lib/rt/pure/__retain - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/pure/__retain - i32.store offset=4 - local.get $1 - call $std/array/Ref#constructor - local.tee $1 - call $~lib/rt/pure/__retain - i32.store offset=8 - local.get $2 - call $~lib/rt/pure/__retain - local.set $14 - i32.const 4464 - call $~lib/rt/pure/__retain - drop - local.get $14 - call $~lib/array/Array#join_ref - local.set $2 - i32.const 4464 - call $~lib/rt/pure/__release - local.get $2 - i32.const 6248 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 946 + i32.const 3 + i32.const 6272 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $31 + call $~lib/rt/pure/__retain i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $9 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $25 - call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $27 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 6328 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $15 - call $~lib/rt/pure/__retain - local.set $29 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 6344 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $16 - call $~lib/rt/pure/__retain - local.set $30 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 6368 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $17 - call $~lib/rt/pure/__retain - local.set $31 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 6392 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $18 - call $~lib/rt/pure/__retain - local.set $32 - local.get $29 - call $~lib/array/Array#toString - local.tee $19 - i32.const 4248 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 2 + i32.const 3 + i32.const 6296 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $32 + call $~lib/rt/pure/__retain + local.set $1 + i32.const 4 + i32.const 2 + i32.const 3 + i32.const 6320 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $33 + call $~lib/rt/pure/__retain + local.set $0 + local.get $5 + call $~lib/array/Array#toString + local.set $4 + global.get $~lib/error + br_if $uncaughtError + local.set $17 + local.get $1 + local.set $18 + local.get $0 + local.set $15 + local.get $4 + i32.const 208 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 956 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $17 + call $~lib/array/Array#toString + local.set $10 + global.get $~lib/error + br_if $uncaughtError + local.get $10 + i32.const 6072 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 957 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $18 + call $~lib/array/Array#toString + local.set $11 + global.get $~lib/error + br_if $uncaughtError + local.get $11 + i32.const 6352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 958 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $15 + call $~lib/array/Array#toString + local.set $12 + global.get $~lib/error + br_if $uncaughtError + local.get $12 + i32.const 6376 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 959 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 0 - i32.const 376 - i32.const 956 + i32.const 22 + i32.const 6408 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $34 + call $~lib/array/Array#toString + local.set $13 + global.get $~lib/error + br_if $uncaughtError + local.get $13 + i32.const 6432 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 961 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 1 + i32.const 23 + i32.const 6464 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $35 + call $~lib/array/Array#toString + local.set $14 + global.get $~lib/error + br_if $uncaughtError + local.get $14 + i32.const 6488 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 962 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 3 + i32.const 18 + i32.const 6528 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $36 + call $~lib/array/Array#toString + local.set $3 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + i32.const 6568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 963 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + i32.const 3 + i32.const 24 + i32.const 6632 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $37 + call $~lib/array/Array#toString + local.set $9 + global.get $~lib/error + br_if $uncaughtError + local.get $9 + i32.const 6680 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 964 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 7 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $30 - call $~lib/array/Array#toString - local.tee $20 - i32.const 6144 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 957 + i32.const 15 + i32.const 6784 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $19 + call $~lib/rt/pure/__retain + local.tee $20 + call $~lib/array/Array<~lib/string/String | null>#toString + local.set $6 + global.get $~lib/error + br_if $uncaughtError + local.get $6 + i32.const 6832 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 968 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $31 - call $~lib/array/Array#toString - local.tee $21 - i32.const 6424 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 958 + i32.const 16 + i32.const 6928 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $21 + call $~lib/array/Array<~lib/string/String | null>#toString + local.set $8 + global.get $~lib/error + br_if $uncaughtError + local.get $8 + i32.const 6960 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 969 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $32 - call $~lib/array/Array#toString - local.tee $22 - i32.const 6448 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 959 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 0 - i32.const 20 - i32.const 6480 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.set $33 - i32.const 4464 - call $~lib/rt/pure/__retain - drop - local.get $33 - call $~lib/array/Array#join_int - local.set $3 - i32.const 4464 - call $~lib/rt/pure/__release - local.get $3 - i32.const 6504 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 12 i32.const 0 - i32.const 376 - i32.const 961 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.load offset=4 + local.set $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 1 - i32.const 21 - i32.const 6536 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.set $34 - i32.const 4464 - call $~lib/rt/pure/__retain - drop - local.get $34 - call $~lib/array/Array#join_int - local.set $4 - i32.const 4464 - call $~lib/rt/pure/__release - local.get $4 - i32.const 6560 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 962 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 3 - i32.const 16 - i32.const 6600 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.set $35 - i32.const 4464 - call $~lib/rt/pure/__retain - drop - local.get $35 - call $~lib/array/Array#join_int - local.set $5 - i32.const 4464 - call $~lib/rt/pure/__release - local.get $5 - i32.const 6640 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 3 + i32.const 6992 + call $~lib/rt/__allocArray + local.set $2 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $2 + call $~lib/rt/pure/__retain + local.tee $22 + call $~lib/rt/pure/__retain + i32.store + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 7016 + call $~lib/rt/__allocArray + local.set $2 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $2 + call $~lib/rt/pure/__retain + local.tee $23 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $24 + call $~lib/array/Array<~lib/array/Array>#toString + local.set $7 + global.get $~lib/error + br_if $uncaughtError + local.get $7 + i32.const 7040 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 972 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 2 + i32.const 25 i32.const 0 - i32.const 376 - i32.const 963 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.load offset=4 + local.set $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 3 - i32.const 22 - i32.const 6704 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.set $36 - i32.const 4464 - call $~lib/rt/pure/__retain - drop - local.get $36 - call $~lib/array/Array#join_int - local.set $6 - i32.const 4464 - call $~lib/rt/pure/__release - local.get $6 - i32.const 6752 - call $~lib/string/String.__eq - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 964 + i32.const 8 + i32.const 7072 + call $~lib/rt/__allocArray + local.set $2 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $2 + call $~lib/rt/pure/__retain + local.tee $25 + call $~lib/rt/pure/__retain + i32.store i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 7 - i32.const 2 - i32.const 13 - i32.const 6856 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $23 - call $~lib/rt/pure/__retain - local.tee $24 - call $~lib/array/Array<~lib/string/String | null>#toString - local.tee $28 - i32.const 6904 - call $~lib/string/String.__eq - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 968 + i32.const 8 + i32.const 7096 + call $~lib/rt/__allocArray + local.set $2 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $2 + call $~lib/rt/pure/__retain + local.tee $26 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $27 + call $~lib/array/Array<~lib/array/Array>#toString + local.set $2 + global.get $~lib/error + br_if $uncaughtError + local.get $2 + i32.const 7040 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 975 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 2 - i32.const 14 - i32.const 7000 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $9 - call $~lib/array/Array<~lib/string/String | null>#toString - local.tee $11 - i32.const 7032 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 27 i32.const 0 - i32.const 376 - i32.const 969 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.load offset=4 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 2 - i32.const 10 - i32.const 0 - call $~lib/rt/__allocArray - local.tee $0 - i32.load offset=4 - local.tee $1 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 7064 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $12 - call $~lib/rt/pure/__retain - i32.store - local.get $1 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 7088 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $13 - call $~lib/rt/pure/__retain - i32.store offset=4 - local.get $0 - call $~lib/rt/pure/__retain - local.set $7 - i32.const 4464 - call $~lib/rt/pure/__retain - drop - local.get $7 - call $~lib/array/Array<~lib/array/Array>#join_arr - local.set $2 - i32.const 4464 - call $~lib/rt/pure/__release - local.get $2 - i32.const 7112 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 26 i32.const 0 - i32.const 376 - i32.const 972 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.load offset=4 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable + i32.const 9 + i32.const 7120 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/pure/__retain + local.tee $16 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + call $~lib/rt/pure/__retain + local.tee $1 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 6072 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 978 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $30 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $31 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $32 + call $~lib/rt/pure/__release + local.get $18 + call $~lib/rt/pure/__release + local.get $33 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $34 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $35 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $36 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $37 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $19 + call $~lib/rt/pure/__release + local.get $20 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $21 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $22 + call $~lib/rt/pure/__release + local.get $23 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $25 + call $~lib/rt/pure/__release + local.get $26 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $16 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + global.get $std/array/arr + call $~lib/rt/pure/__release + global.get $~lib/error + br_if $uncaughtError + local.get $24 + call $~lib/rt/pure/__release + local.get $27 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + return end - i32.const 2 - i32.const 2 - i32.const 23 - i32.const 0 - call $~lib/rt/__allocArray - local.tee $0 - i32.load offset=4 - local.tee $1 - i32.const 2 - i32.const 0 - i32.const 6 i32.const 7144 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $14 - call $~lib/rt/pure/__retain - i32.store - local.get $1 - i32.const 2 - i32.const 0 - i32.const 6 - i32.const 7168 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $25 - call $~lib/rt/pure/__retain - i32.store offset=4 - local.get $0 - call $~lib/rt/pure/__retain - local.set $10 - i32.const 4464 - call $~lib/rt/pure/__retain - drop - local.get $10 - call $~lib/array/Array<~lib/array/Array>#join_arr - local.set $0 - i32.const 4464 - call $~lib/rt/pure/__release - local.get $0 - i32.const 7112 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 975 - i32.const 2 - call $~lib/builtins/abort - unreachable - end + i32.const 368 i32.const 1 - i32.const 2 - i32.const 25 - i32.const 0 - call $~lib/rt/__allocArray - local.tee $26 - i32.load offset=4 - i32.const 1 - i32.const 2 - i32.const 24 i32.const 0 - call $~lib/rt/__allocArray - local.tee $1 - i32.load offset=4 - i32.const 1 - i32.const 2 - i32.const 7 - i32.const 7192 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $27 - call $~lib/rt/pure/__retain - i32.store - local.get $1 - call $~lib/rt/pure/__retain - i32.store - local.get $26 - call $~lib/rt/pure/__retain - local.set $8 - i32.const 4464 - call $~lib/rt/pure/__retain - drop - local.get $8 - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr - local.set $1 - i32.const 4464 - call $~lib/rt/pure/__release - local.get $1 - i32.const 6144 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 978 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $15 - call $~lib/rt/pure/__release - local.get $29 - call $~lib/rt/pure/__release - local.get $16 - call $~lib/rt/pure/__release - local.get $30 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $31 - call $~lib/rt/pure/__release - local.get $18 - call $~lib/rt/pure/__release - local.get $32 - call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release - local.get $20 - call $~lib/rt/pure/__release - local.get $21 - call $~lib/rt/pure/__release - local.get $22 - call $~lib/rt/pure/__release - local.get $33 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $34 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $35 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $36 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $23 - call $~lib/rt/pure/__release - local.get $24 - call $~lib/rt/pure/__release - local.get $28 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $25 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $27 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - global.get $std/array/arr - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release + call $~lib/builtins/abort + unreachable ) - (func $start (; 199 ;) (type $FUNCSIG$v) + (func $start (; 208 ;) (type $FUNCSIG$v) global.get $~lib/started if return @@ -16480,7 +18788,7 @@ end call $start:std/array ) - (func $~lib/rt/pure/markGray (; 200 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 209 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -16504,7 +18812,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 201 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 210 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -16517,7 +18825,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 202 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 211 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -16551,7 +18859,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 203 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 212 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -16584,9 +18892,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 213 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 7412 + i32.const 7404 i32.lt_u if return @@ -16619,6 +18927,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -16629,7 +18941,7 @@ i32.le_u if i32.const 0 - i32.const 232 + i32.const 24 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -16662,7 +18974,7 @@ i32.ne if i32.const 0 - i32.const 232 + i32.const 24 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -16687,14 +18999,14 @@ br $break|0 end i32.const 0 - i32.const 232 + i32.const 24 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 205 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 214 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -16718,6 +19030,10 @@ local.get $3 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -16727,23 +19043,51 @@ end end ) - (func $~lib/rt/__visit_members (; 206 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 215 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$27 - block $switch$1$case$26 - block $switch$1$case$25 - block $switch$1$case$21 - block $switch$1$case$16 - block $switch$1$case$15 - block $switch$1$case$14 - block $switch$1$case$12 - block $switch$1$case$2 + block $switch$1$case$29 + block $switch$1$case$28 + block $switch$1$case$27 + block $switch$1$case$23 + block $switch$1$case$18 + block $switch$1$case$17 + block $switch$1$case$16 + block $switch$1$case$14 + block $switch$1$case$6 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $switch$1$case$6 $switch$1$case$6 $switch$1$case$2 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$case$14 $switch$1$case$2 $switch$1$case$16 $switch$1$case$17 $switch$1$case$18 $block$4$break $block$4$break $block$4$break $switch$1$case$2 $switch$1$case$23 $block$4$break $block$4$break $block$4$break $switch$1$case$27 $switch$1$case$28 $switch$1$case$29 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $switch$1$case$2 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$case$12 $switch$1$case$2 $switch$1$case$14 $switch$1$case$15 $switch$1$case$16 $block$4$break $block$4$break $block$4$break $switch$1$case$2 $switch$1$case$21 $block$4$break $block$4$break $block$4$break $switch$1$case$25 $switch$1$case$26 $switch$1$case$27 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -16798,7 +19142,7 @@ call $~lib/rt/pure/__visit end ) - (func $null (; 207 ;) (type $FUNCSIG$v) + (func $null (; 216 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 88d7cceab6..826ebda3e7 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -1,12 +1,12 @@ (module (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$fiii (func (param i32 i32 i32) (result f32))) (type $FUNCSIG$fii (func (param i32 i32) (result f32))) @@ -27,188 +27,189 @@ (type $FUNCSIG$viji (func (param i32 i64 i32))) (type $FUNCSIG$iiij (func (param i32 i32 i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (import "Math" "random" (func $~lib/bindings/Math/random (result f64))) (memory $0 1) - (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 56) "&\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 160) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 216) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 360) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 400) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00b\00c\00") - (data (i32.const 424) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\02\03\04\05") - (data (i32.const 448) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\01\04\05") - (data (i32.const 472) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 520) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\00") - (data (i32.const 544) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\00\00") - (data (i32.const 568) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 592) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 616) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 656) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 696) "\14\00\00\00\01\00\00\00\00\00\00\00\14\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 736) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 776) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") - (data (i32.const 816) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") - (data (i32.const 856) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y\00") - (data (i32.const 904) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 920) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 936) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 976) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1016) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1056) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1096) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1136) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00") - (data (i32.const 1176) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1216) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1256) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1296) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1336) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1376) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1416) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1456) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1496) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1536) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1576) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1616) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1656) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1696) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1736) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1776) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1816) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1856) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00") - (data (i32.const 1896) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 104) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 160) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 192) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 352) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 392) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00b\00c\00") + (data (i32.const 416) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\02\03\04\05") + (data (i32.const 440) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\01\04\05") + (data (i32.const 464) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\00") + (data (i32.const 488) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\00\00") + (data (i32.const 512) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 536) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 560) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 600) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 640) "\14\00\00\00\01\00\00\00\00\00\00\00\14\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 680) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 720) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") + (data (i32.const 760) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") + (data (i32.const 800) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y\00") + (data (i32.const 848) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 864) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 880) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 920) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 960) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1000) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1040) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1080) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00") + (data (i32.const 1120) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1160) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1200) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1240) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1280) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1320) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1360) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1400) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1440) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1480) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1520) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1560) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1600) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1640) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1680) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1720) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1760) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1800) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00") + (data (i32.const 1840) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1880) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 1920) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 1936) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 1976) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1992) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2032) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2064) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 2088) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2128) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00") - (data (i32.const 2152) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00") - (data (i32.const 2184) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2224) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 2248) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2280) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2320) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2344) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00") - (data (i32.const 2376) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2416) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2440) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 2472) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2512) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\04\00\00\00") - (data (i32.const 2536) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00") - (data (i32.const 2568) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2608) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 2632) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1976) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2008) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 2032) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2072) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00") + (data (i32.const 2096) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00") + (data (i32.const 2128) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2168) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") + (data (i32.const 2192) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2224) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2264) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2288) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00") + (data (i32.const 2320) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2360) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2384) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 2416) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2456) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\04\00\00\00") + (data (i32.const 2480) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00") + (data (i32.const 2512) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2552) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") + (data (i32.const 2576) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2608) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2648) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2664) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2704) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2720) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2704) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2744) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2760) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2800) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2816) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2800) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2840) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2856) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2896) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2912) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2896) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2936) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2952) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 2992) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3008) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 2992) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 3032) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 3048) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 3088) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3104) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 3144) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 3184) "\ac\00\00\00\01\00\00\00\01\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 3376) " \00\00\00\01\00\00\00\00\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 3424) " \00\00\00\01\00\00\00\00\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 3472) "@\00\00\00\01\00\00\00\00\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") - (data (i32.const 3552) "@\00\00\00\01\00\00\00\00\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") - (data (i32.const 3632) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 3672) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 3712) "\14\00\00\00\01\00\00\00\00\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") - (data (i32.const 3752) "\14\00\00\00\01\00\00\00\00\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 3792) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3808) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 3832) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 3856) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3888) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 3920) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.\00") - (data (i32.const 3976) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 4000) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 4024) "^\00\00\00\01\00\00\00\01\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") - (data (i32.const 4136) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a\00") - (data (i32.const 4160) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b\00") - (data (i32.const 4184) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b\00") - (data (i32.const 4208) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a\00") - (data (i32.const 4232) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 4248) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\008\10\00\00P\10\00\008\10\00\00h\10\00\00\80\10\00\00\98\10\00\00\00\00\00\00") - (data (i32.const 4296) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\00\98\10\00\008\10\00\008\10\00\00h\10\00\00P\10\00\00\80\10\00\00\00\00\00\00") - (data (i32.const 4344) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00") - (data (i32.const 4368) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\01\00") - (data (i32.const 4392) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e\00") - (data (i32.const 4416) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 4448) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00,\00") - (data (i32.const 4472) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 4512) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4544) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 4568) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\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 4984) "\10\00\00\00\01\00\00\00\07\00\00\00\10\00\00\00\e8\11\00\00\e8\11\00\00\90\01\00\00d\00\00\00") - (data (i32.const 5016) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00-\002\00-\003\00") - (data (i32.const 5048) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 5080) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-\00") - (data (i32.const 5104) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 5128) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00_\00_\00") - (data (i32.const 5152) "0\00\00\00\01\00\00\00\01\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") - (data (i32.const 5216) "0\00\00\00\01\00\00\00\00\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") - (data (i32.const 5280) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00,\00 \00") - (data (i32.const 5304) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 5328) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 5352) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 5392) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 5424) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\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_\0dXf\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$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 3320) " \00\00\00\01\00\00\00\00\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 3368) " \00\00\00\01\00\00\00\00\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 3416) "@\00\00\00\01\00\00\00\00\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") + (data (i32.const 3496) "@\00\00\00\01\00\00\00\00\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") + (data (i32.const 3576) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 3616) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 3656) "\14\00\00\00\01\00\00\00\00\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") + (data (i32.const 3696) "\14\00\00\00\01\00\00\00\00\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 3736) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3752) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") + (data (i32.const 3776) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\02\00\00\00\01\00\00\00") + (data (i32.const 3800) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3832) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 3864) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.\00") + (data (i32.const 3920) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") + (data (i32.const 3944) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 3968) "^\00\00\00\01\00\00\00\01\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") + (data (i32.const 4080) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a\00") + (data (i32.const 4104) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b\00") + (data (i32.const 4128) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b\00") + (data (i32.const 4152) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a\00") + (data (i32.const 4176) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\00\00\10\00\00\18\10\00\00\00\10\00\000\10\00\00H\10\00\00\d0\00\00\00\00\00\00\00") + (data (i32.const 4224) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\00\d0\00\00\00\00\10\00\00\00\10\00\000\10\00\00\18\10\00\00H\10\00\00\00\00\00\00") + (data (i32.const 4272) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00") + (data (i32.const 4296) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\01\00") + (data (i32.const 4320) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e\00") + (data (i32.const 4344) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 4376) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00,\00") + (data (i32.const 4400) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") + (data (i32.const 4440) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4472) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") + (data (i32.const 4496) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\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 4912) "\10\00\00\00\01\00\00\00\t\00\00\00\10\00\00\00\a0\11\00\00\a0\11\00\00\90\01\00\00d\00\00\00") + (data (i32.const 4944) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00-\002\00-\003\00") + (data (i32.const 4976) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 5008) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-\00") + (data (i32.const 5032) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 5056) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00_\00_\00") + (data (i32.const 5080) "0\00\00\00\01\00\00\00\01\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") + (data (i32.const 5144) "0\00\00\00\01\00\00\00\00\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") + (data (i32.const 5208) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00,\00 \00") + (data (i32.const 5232) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") + (data (i32.const 5256) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") + (data (i32.const 5280) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 5320) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 5352) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\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_\0dXf\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~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 $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 $start:std/array~anonymous|48 $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) @@ -223,7 +224,7 @@ (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 $std/array/charset i32 (i32.const 3200)) + (global $std/array/charset i32 (i32.const 3144)) (global $~lib/builtins/i32.MIN_VALUE i32 (i32.const -2147483648)) (global $~lib/util/number/_frc_plus (mut i64) (i64.const 0)) (global $~lib/util/number/_frc_minus (mut i64) (i64.const 0)) @@ -234,11 +235,72 @@ (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 7648)) - (global $~lib/heap/__heap_base i32 (i32.const 7860)) + (global $~lib/rt/__rtti_base i32 (i32.const 7624)) + (global $~lib/heap/__heap_base i32 (i32.const 7852)) (export "__start" (func $start)) (export "memory" (memory $0)) - (func $~lib/rt/tlsf/removeBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/increment (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -258,7 +320,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -283,7 +345,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -335,7 +397,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -448,7 +510,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -465,7 +527,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -480,7 +542,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -573,7 +635,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -636,7 +698,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -652,7 +714,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -709,7 +771,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -798,7 +860,7 @@ local.get $7 i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/addMemory (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -828,7 +890,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -851,7 +913,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -882,7 +944,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -946,7 +1008,7 @@ call $~lib/rt/tlsf/insertBlock i32.const 1 ) - (func $~lib/rt/tlsf/initializeRoot (; 9 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 11 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1091,19 +1153,19 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 176 - i32.const 128 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -1120,7 +1182,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1193,7 +1255,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -1256,7 +1318,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -1303,7 +1365,7 @@ end local.get $7 ) - (func $~lib/rt/tlsf/growMemory (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1356,7 +1418,7 @@ call $~lib/rt/tlsf/addMemory drop ) - (func $~lib/rt/tlsf/prepareBlock (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1370,7 +1432,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -1451,74 +1513,83 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $1 call $~lib/rt/tlsf/prepareSize local.set $2 - local.get $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 - call $~lib/rt/tlsf/searchBlock local.set $3 + local.get $0 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if local.get $0 - local.get $2 + local.get $3 call $~lib/rt/tlsf/growMemory local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 477 i32.const 15 call $~lib/builtins/abort unreachable end end - local.get $3 + local.get $4 i32.load i32.const 3 i32.const -1 i32.xor i32.and - local.get $2 + local.get $3 i32.ge_u i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 479 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 i32.const 0 i32.store offset=4 - local.get $3 + local.get $4 local.get $1 i32.store offset=12 local.get $0 - local.get $3 + local.get $4 call $~lib/rt/tlsf/removeBlock local.get $0 + local.get $4 local.get $3 - local.get $2 call $~lib/rt/tlsf/prepareBlock - local.get $3 + local.get $4 call $~lib/rt/rtrace/onalloc - local.get $3 + local.get $4 ) - (func $~lib/rt/tlsf/__alloc (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/tlsf/ROOT local.set $2 local.get $2 @@ -1532,73 +1603,19 @@ local.get $0 call $~lib/rt/tlsf/allocateBlock local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz + global.get $~lib/error if i32.const 0 - i32.const 232 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end - local.get $0 + local.get $3 + local.set $4 + local.get $4 local.get $1 - i32.const 1 + i32.store offset=8 + local.get $4 + i32.const 16 i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 232 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 ) (func $~lib/rt/tlsf/freeBlock (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) @@ -1612,7 +1629,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 531 i32.const 2 call $~lib/builtins/abort @@ -1638,12 +1655,12 @@ i32.load i32.gt_u if - i32.const 280 - i32.const 336 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 i32.const 4 @@ -2912,7 +2929,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 561 i32.const 13 call $~lib/builtins/abort @@ -2932,7 +2949,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 562 i32.const 2 call $~lib/builtins/abort @@ -2973,6 +2990,12 @@ local.get $4 i32.const 0 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $5 local.get $5 i32.const 16 @@ -3011,6 +3034,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -3025,6 +3052,7 @@ (func $~lib/rt/pure/decrement (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.set $1 @@ -3042,7 +3070,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -3081,7 +3109,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -3090,6 +3118,12 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 16 i32.and i32.eqz @@ -3110,6 +3144,10 @@ if local.get $0 call $~lib/rt/pure/appendRoot + global.get $~lib/error + if + return + end end else local.get $0 @@ -3135,32 +3173,110 @@ i32.const 16 i32.sub call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end end ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 27 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + (func $~lib/error/Error#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 - i32.const 1073741808 - local.get $2 - i32.shr_u - i32.gt_u + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz if - i32.const 24 - i32.const 72 - i32.const 14 - i32.const 56 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 176 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 208 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 280 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release + end + local.get $3 + i32.store + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 29 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.const 1073741808 + local.get $2 + i32.shr_u + i32.gt_u + if + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + local.get $2 i32.shl local.tee $1 i32.const 0 call $~lib/rt/tlsf/__alloc local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $4 local.get $0 i32.eqz if @@ -3180,31 +3296,32 @@ i32.const 0 i32.store offset=8 local.get $0 - local.tee $4 - local.get $3 - local.tee $5 + local.tee $3 local.get $4 + local.tee $5 + local.get $3 i32.load - local.tee $4 + local.tee $3 i32.ne if local.get $5 call $~lib/rt/pure/__retain drop - local.get $4 + local.get $3 call $~lib/rt/pure/__release end local.get $5 i32.store local.get $0 - local.get $3 + local.get $4 i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $0 ) - (func $~lib/array/Array#constructor (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 @@ -3217,6 +3334,13 @@ local.get $1 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 i32.const 0 @@ -3226,7 +3350,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array.isArray<~lib/array/Array | null> (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/array/Array | null> (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3244,7 +3368,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/array/Array.isArray<~lib/array/Array> (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/array/Array> (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3262,19 +3386,19 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $std/array/P#constructor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/P#constructor (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 end local.get $0 ) - (func $~lib/array/Array.isArray (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3292,23 +3416,31 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/typedarray/Uint8Array#constructor (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#constructor (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 5 + i32.const 7 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3326,7 +3458,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/array/Array.isArray (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 if (result i32) local.get $0 @@ -3336,7 +3468,7 @@ i32.const 0 end ) - (func $~lib/array/Array.isArray<~lib/string/String> (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/string/String> (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3354,45 +3486,60 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/rt/__allocArray (; 37 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocArray (; 39 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) i32.const 16 local.get $2 call $~lib/rt/tlsf/__alloc local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + local.set $5 local.get $0 local.get $1 i32.shl - local.set $5 - local.get $5 + local.set $6 + local.get $6 i32.const 0 call $~lib/rt/tlsf/__alloc - local.set $6 + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end local.get $4 - local.get $6 + local.set $7 + local.get $5 + local.get $7 call $~lib/rt/pure/__retain i32.store - local.get $4 - local.get $6 + local.get $5 + local.get $7 i32.store offset=4 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 + local.get $5 local.get $0 i32.store offset=12 local.get $3 if - local.get $6 + local.get $7 local.get $3 - local.get $5 + local.get $6 call $~lib/memory/memory.copy end - local.get $4 + local.get $5 ) - (func $~lib/memory/memory.fill (; 38 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3656,7 +3803,7 @@ end end ) - (func $~lib/array/Array#fill (; 39 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#fill (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3733,11 +3880,11 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#get:length (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -3746,7 +3893,7 @@ i32.add i32.load8_u ) - (func $~lib/array/Array#__get (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -3754,18 +3901,18 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $std/array/isArraysEqual (; 43 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 45 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -3820,9 +3967,27 @@ local.get $0 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + i32.const 255 + i32.and local.get $1 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + i32.const 255 + i32.and i32.ne if i32.const 0 @@ -3850,7 +4015,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#fill (; 44 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#fill (; 46 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3936,11 +4101,11 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#get:length (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -3949,7 +4114,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -3957,18 +4122,18 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $std/array/isArraysEqual (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 50 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -4023,9 +4188,23 @@ local.get $0 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.get $1 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 i32.ne if i32.const 0 @@ -4053,17 +4232,17 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#get:length (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub i32.load offset=12 ) - (func $std/array/internalCapacity (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/internalCapacity (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -4084,7 +4263,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/rt/tlsf/reallocateBlock (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 54 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4094,31 +4273,38 @@ local.get $2 call $~lib/rt/tlsf/prepareSize local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $4 local.get $1 i32.load - local.set $4 - local.get $4 + local.set $5 + local.get $5 i32.const 1 i32.and i32.eqz i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 493 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $3 local.get $4 + local.get $5 i32.const -4 i32.and i32.le_u if local.get $0 local.get $1 - local.get $3 + local.get $4 call $~lib/rt/tlsf/prepareBlock local.get $1 local.get $2 @@ -4127,11 +4313,11 @@ return end local.get $1 - local.set $5 - local.get $5 + local.set $3 + local.get $3 i32.const 16 i32.add - local.get $5 + local.get $3 i32.load i32.const 3 i32.const -1 @@ -4146,7 +4332,7 @@ i32.const 1 i32.and if - local.get $4 + local.get $5 i32.const 3 i32.const -1 i32.xor @@ -4159,19 +4345,19 @@ i32.xor i32.and i32.add - local.set $5 - local.get $5 + local.set $3 local.get $3 + local.get $4 i32.ge_u if local.get $0 local.get $6 call $~lib/rt/tlsf/removeBlock local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.and - local.get $5 + local.get $3 i32.or i32.store local.get $1 @@ -4179,7 +4365,7 @@ i32.store offset=12 local.get $0 local.get $1 - local.get $3 + local.get $4 call $~lib/rt/tlsf/prepareBlock local.get $1 return @@ -4188,6 +4374,13 @@ local.get $0 local.get $2 call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.set $8 local.get $8 local.get $1 @@ -4206,7 +4399,7 @@ local.get $2 call $~lib/memory/memory.copy local.get $1 - local.get $4 + local.get $5 i32.const 1 i32.or i32.store @@ -4215,12 +4408,13 @@ call $~lib/rt/tlsf/insertBlock local.get $8 ) - (func $~lib/rt/tlsf/__realloc (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 553 i32.const 13 call $~lib/builtins/abort @@ -4240,7 +4434,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 554 i32.const 2 call $~lib/builtins/abort @@ -4252,10 +4446,17 @@ i32.sub local.get $1 call $~lib/rt/tlsf/reallocateBlock + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 i32.const 16 i32.add ) - (func $~lib/array/ensureSize (; 54 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureSize (; 56 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4275,12 +4476,11 @@ i32.shr_u i32.gt_u if - i32.const 24 - i32.const 488 - i32.const 14 - i32.const 47 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load @@ -4293,6 +4493,12 @@ local.get $5 call $~lib/rt/tlsf/__realloc local.set $6 + global.get $~lib/error + if + return + end + local.get $6 + local.set $6 local.get $6 local.get $3 i32.add @@ -4318,7 +4524,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#push (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#push (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4332,6 +4538,11 @@ local.get $3 i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.load offset=4 local.get $2 @@ -4345,7 +4556,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array#__unchecked_get (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -4354,7 +4565,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -4362,18 +4573,18 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/array/Array#pop (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#pop (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -4383,12 +4594,12 @@ i32.const 1 i32.lt_s if - i32.const 872 - i32.const 488 - i32.const 287 - i32.const 20 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 816 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -4406,7 +4617,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array#concat (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#concat (; 61 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4436,36 +4647,43 @@ i32.const 268435452 i32.gt_u if + i32.const 0 + i32.const 320 + call $~lib/error/Error#constructor + global.set $~lib/error local.get $1 call $~lib/rt/pure/__release - i32.const 24 - i32.const 488 - i32.const 217 - i32.const 59 - call $~lib/builtins/abort - unreachable + i32.const 0 + return end local.get $4 i32.const 2 i32.const 3 i32.const 0 call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end local.get $5 - i32.load offset=4 + call $~lib/rt/pure/__retain local.set $6 + local.get $6 + i32.load offset=4 + local.set $7 local.get $2 i32.const 2 i32.shl - local.set $7 - local.get $6 + local.set $8 + local.get $7 local.get $0 i32.load offset=4 - local.get $7 + local.get $8 call $~lib/memory/memory.copy - local.get $6 local.get $7 + local.get $8 i32.add local.get $1 i32.load offset=4 @@ -4473,13 +4691,13 @@ i32.const 2 i32.shl call $~lib/memory/memory.copy - local.get $5 - local.set $8 + local.get $6 + local.set $5 local.get $1 call $~lib/rt/pure/__release - local.get $8 + local.get $5 ) - (func $~lib/array/Array#copyWithin (; 60 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#copyWithin (; 62 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -4608,7 +4826,7 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $std/array/isArraysEqual (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -4663,9 +4881,23 @@ local.get $0 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.get $1 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 i32.ne if i32.const 0 @@ -4693,7 +4925,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#unshift (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#unshift (; 64 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4705,6 +4937,11 @@ local.get $2 i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.load offset=4 local.set $3 @@ -4726,7 +4963,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array#shift (; 63 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#shift (; 65 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4738,12 +4975,12 @@ i32.const 1 i32.lt_s if - i32.const 872 - i32.const 488 - i32.const 348 - i32.const 20 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 816 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -4775,7 +5012,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array#reverse (; 64 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#reverse (; 66 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4830,7 +5067,7 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#indexOf (; 65 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#indexOf (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4900,7 +5137,7 @@ end i32.const -1 ) - (func $~lib/array/Array#includes (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#includes (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $1 local.get $2 @@ -4908,7 +5145,7 @@ i32.const 0 i32.ge_s ) - (func $~lib/array/Array#splice (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#splice (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4968,6 +5205,13 @@ i32.const 3 i32.const 0 call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 call $~lib/rt/pure/__retain local.set $6 local.get $6 @@ -5016,7 +5260,7 @@ i32.store offset=12 local.get $6 ) - (func $~lib/array/Array#__unchecked_set (; 68 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__unchecked_set (; 70 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.load offset=4 local.get $1 @@ -5026,7 +5270,7 @@ local.get $2 i32.store ) - (func $~lib/array/Array#__set (; 69 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 71 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -5037,6 +5281,10 @@ i32.add i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 local.get $1 local.get $2 @@ -5052,7 +5300,7 @@ i32.store offset=12 end ) - (func $start:std/array~anonymous|0 (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|0 (; 72 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5065,7 +5313,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#findIndex (; 71 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (; 73 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5103,6 +5351,13 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 if local.get $2 return @@ -5117,7 +5372,7 @@ end i32.const -1 ) - (func $start:std/array~anonymous|1 (; 72 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|1 (; 74 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5130,7 +5385,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|2 (; 73 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|2 (; 75 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5143,7 +5398,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|3 (; 74 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|3 (; 76 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5151,6 +5406,13 @@ local.get $2 i32.const 100 call $~lib/array/Array#push + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop local.get $0 i32.const 100 @@ -5160,7 +5422,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|4 (; 75 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|4 (; 77 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5173,13 +5435,20 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|5 (; 76 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|5 (; 78 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop local.get $0 i32.const 100 @@ -5189,7 +5458,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|6 (; 77 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|6 (; 79 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5202,7 +5471,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#every (; 78 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#every (; 80 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5240,6 +5509,13 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 i32.const 0 i32.ne i32.eqz @@ -5257,7 +5533,7 @@ end i32.const 1 ) - (func $start:std/array~anonymous|7 (; 79 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|7 (; 81 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5270,7 +5546,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|8 (; 80 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|8 (; 82 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5278,6 +5554,13 @@ local.get $2 i32.const 100 call $~lib/array/Array#push + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop local.get $0 i32.const 10 @@ -5287,7 +5570,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|9 (; 81 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|9 (; 83 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5300,13 +5583,20 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|10 (; 82 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|10 (; 84 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop local.get $0 i32.const 3 @@ -5316,7 +5606,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|11 (; 83 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|11 (; 85 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5329,7 +5619,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#some (; 84 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#some (; 86 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5367,6 +5657,13 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 if i32.const 1 return @@ -5381,7 +5678,7 @@ end i32.const 0 ) - (func $start:std/array~anonymous|12 (; 85 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|12 (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5394,7 +5691,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|13 (; 86 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|13 (; 88 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5402,6 +5699,13 @@ local.get $2 i32.const 100 call $~lib/array/Array#push + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop local.get $0 i32.const 10 @@ -5411,7 +5715,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|14 (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|14 (; 89 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5424,13 +5728,20 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|15 (; 88 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|15 (; 90 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop local.get $0 i32.const 3 @@ -5440,7 +5751,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|16 (; 89 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|16 (; 91 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -5451,7 +5762,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#forEach (; 90 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#forEach (; 92 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5489,6 +5800,10 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$viii) + global.get $~lib/error + if + return + end local.get $2 i32.const 1 i32.add @@ -5498,13 +5813,20 @@ unreachable end ) - (func $start:std/array~anonymous|17 (; 91 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|17 (; 93 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 i32.const 100 call $~lib/array/Array#push + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 drop global.get $std/array/i local.get $0 @@ -5513,7 +5835,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|18 (; 92 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|18 (; 94 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -5524,12 +5846,19 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|19 (; 93 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|19 (; 95 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 drop global.get $std/array/i local.get $0 @@ -5538,8 +5867,9 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|20 (; 94 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|20 (; 96 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -5558,6 +5888,12 @@ br_if $break|0 local.get $2 call $~lib/array/Array#pop + local.set $4 + global.get $~lib/error + if + return + end + local.get $4 drop local.get $3 i32.const 1 @@ -5581,6 +5917,12 @@ local.get $3 i32.add call $~lib/array/Array#push + local.set $4 + global.get $~lib/error + if + return + end + local.get $4 drop local.get $3 i32.const 1 @@ -5601,6 +5943,12 @@ br_if $break|2 local.get $2 call $~lib/array/Array#pop + local.set $4 + global.get $~lib/error + if + return + end + local.get $4 drop local.get $3 i32.const 1 @@ -5624,6 +5972,12 @@ i32.const 200 i32.add call $~lib/array/Array#push + local.set $4 + global.get $~lib/error + if + return + end + local.get $4 drop local.get $3 i32.const 1 @@ -5644,7 +5998,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 568 i32.const 6 call $~lib/builtins/abort @@ -5654,7 +6008,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|21 (; 95 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $start:std/array~anonymous|21 (; 97 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) (local $3 f32) local.get $2 call $~lib/rt/pure/__retain @@ -5666,7 +6020,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#map (; 96 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 98 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5679,19 +6033,26 @@ local.set $2 local.get $2 i32.const 2 - i32.const 8 + i32.const 10 i32.const 0 call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 - i32.load offset=4 + call $~lib/rt/pure/__retain local.set $4 + local.get $4 + i32.load offset=4 + local.set $5 block $break|0 i32.const 0 - local.set $5 + local.set $3 loop $loop|0 - local.get $5 + local.get $3 local.get $2 local.tee $6 local.get $0 @@ -5708,38 +6069,45 @@ global.set $~lib/argc local.get $0 i32.load offset=4 - local.get $5 + local.get $3 i32.const 2 i32.shl i32.add i32.load - local.get $5 + local.get $3 local.get $0 local.get $1 call_indirect (type $FUNCSIG$fiii) local.set $8 - local.get $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $8 + local.set $8 local.get $5 + local.get $3 i32.const 2 i32.shl i32.add local.get $8 f32.store - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $loop|0 end unreachable end - local.get $3 + local.get $4 ) - (func $~lib/array/Array#get:length (; 97 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 99 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 98 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__unchecked_get (; 100 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $0 i32.load offset=4 local.get $1 @@ -5748,7 +6116,7 @@ i32.add f32.load ) - (func $~lib/array/Array#__get (; 99 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__get (; 101 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -5756,18 +6124,18 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $start:std/array~anonymous|22 (; 100 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|22 (; 102 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5775,6 +6143,13 @@ local.get $2 i32.const 100 call $~lib/array/Array#push + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop global.get $std/array/i local.get $0 @@ -5786,7 +6161,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#map (; 101 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 103 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5801,16 +6176,23 @@ i32.const 3 i32.const 0 call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 - i32.load offset=4 + call $~lib/rt/pure/__retain local.set $4 + local.get $4 + i32.load offset=4 + local.set $5 block $break|0 i32.const 0 - local.set $5 + local.set $3 loop $loop|0 - local.get $5 + local.get $3 local.get $2 local.tee $6 local.get $0 @@ -5827,34 +6209,41 @@ global.set $~lib/argc local.get $0 i32.load offset=4 - local.get $5 + local.get $3 i32.const 2 i32.shl i32.add i32.load - local.get $5 + local.get $3 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) local.set $6 - local.get $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 + local.set $6 local.get $5 + local.get $3 i32.const 2 i32.shl i32.add local.get $6 i32.store - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $loop|0 end unreachable end - local.get $3 + local.get $4 ) - (func $start:std/array~anonymous|23 (; 102 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|23 (; 104 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5869,13 +6258,20 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|24 (; 103 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|24 (; 105 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop global.get $std/array/i local.get $0 @@ -5887,7 +6283,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|25 (; 104 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|25 (; 106 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5900,7 +6296,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#filter (; 105 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#filter (; 107 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5911,16 +6307,23 @@ i32.const 3 i32.const 0 call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + call $~lib/rt/pure/__retain + local.set $3 block $break|0 i32.const 0 - local.set $3 + local.set $2 local.get $0 i32.load offset=12 local.set $4 loop $loop|0 - local.get $3 + local.get $2 local.get $4 local.tee $5 local.get $0 @@ -5935,7 +6338,7 @@ br_if $break|0 local.get $0 i32.load offset=4 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add @@ -5944,27 +6347,41 @@ i32.const 3 global.set $~lib/argc local.get $5 - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) + local.set $6 + global.get $~lib/error if - local.get $2 - local.get $5 - call $~lib/array/Array#push - drop + i32.const 0 + return end - local.get $3 + local.get $6 + if + local.get $3 + local.get $5 + call $~lib/array/Array#push + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 + drop + end + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $loop|0 end unreachable end - local.get $2 + local.get $3 ) - (func $start:std/array~anonymous|26 (; 106 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|26 (; 108 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5972,6 +6389,13 @@ local.get $2 i32.const 100 call $~lib/array/Array#push + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop global.get $std/array/i local.get $0 @@ -5985,7 +6409,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|27 (; 107 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|27 (; 109 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -6002,13 +6426,20 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|28 (; 108 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|28 (; 110 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop local.get $2 call $~lib/array/Array#pop + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop global.get $std/array/i local.get $0 @@ -6022,7 +6453,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|29 (; 109 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|29 (; 111 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6035,7 +6466,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#reduce (; 110 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 112 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6077,6 +6508,13 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiiii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 local.set $3 local.get $4 i32.const 1 @@ -6088,7 +6526,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|30 (; 111 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|30 (; 113 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6101,7 +6539,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|31 (; 112 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|31 (; 114 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6119,7 +6557,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#reduce (; 113 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 115 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6161,6 +6599,13 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiiii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 local.set $3 local.get $4 i32.const 1 @@ -6172,7 +6617,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|32 (; 114 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|32 (; 116 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6190,7 +6635,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|33 (; 115 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|33 (; 117 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6198,6 +6643,13 @@ local.get $3 i32.const 1 call $~lib/array/Array#push + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 drop local.get $0 local.get $1 @@ -6207,7 +6659,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|34 (; 116 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|34 (; 118 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6220,13 +6672,20 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|35 (; 117 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|35 (; 119 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain drop local.get $3 call $~lib/array/Array#pop + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 drop local.get $0 local.get $1 @@ -6236,7 +6695,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|36 (; 118 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|36 (; 120 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6249,9 +6708,10 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#reduceRight (; 119 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 121 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $2 local.set $3 block $break|0 @@ -6280,6 +6740,13 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiiii) + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.set $3 local.get $4 i32.const 1 @@ -6291,7 +6758,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|37 (; 120 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|37 (; 122 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6304,7 +6771,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|38 (; 121 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|38 (; 123 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6322,9 +6789,10 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#reduceRight (; 122 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 124 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $2 local.set $3 block $break|0 @@ -6353,6 +6821,13 @@ local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiiii) + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.set $3 local.get $4 i32.const 1 @@ -6364,7 +6839,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|39 (; 123 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|39 (; 125 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6382,7 +6857,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|40 (; 124 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|40 (; 126 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6390,6 +6865,13 @@ local.get $3 i32.const 1 call $~lib/array/Array#push + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 drop local.get $0 local.get $1 @@ -6399,7 +6881,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|41 (; 125 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|41 (; 127 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6412,13 +6894,20 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|42 (; 126 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|42 (; 128 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain drop local.get $3 call $~lib/array/Array#pop + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 drop local.get $0 local.get $1 @@ -6428,7 +6917,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/math/murmurHash3 (; 127 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) + (func $~lib/math/murmurHash3 (; 129 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -6457,7 +6946,7 @@ local.set $0 local.get $0 ) - (func $~lib/math/splitMix32 (; 128 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 130 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -6492,12 +6981,12 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 129 ;) (type $FUNCSIG$vj) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 131 ;) (type $FUNCSIG$vj) (param $0 i64) local.get $0 i64.eqz if i32.const 0 - i32.const 3160 + i32.const 3104 i32.const 1020 i32.const 4 call $~lib/builtins/abort @@ -6521,7 +7010,7 @@ call $~lib/math/splitMix32 global.set $~lib/math/random_state1_32 ) - (func $~lib/util/sort/insertionSort (; 130 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 132 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f32) (local $5 i32) @@ -6567,6 +7056,12 @@ local.get $6 local.get $2 call_indirect (type $FUNCSIG$iff) + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i32.const 0 i32.lt_s if @@ -6609,7 +7104,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 131 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 133 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6617,7 +7112,8 @@ (local $7 i32) (local $8 f32) (local $9 f32) - (local $10 f32) + (local $10 i32) + (local $11 f32) local.get $1 i32.const 31 i32.add @@ -6630,7 +7126,13 @@ i32.const 0 call $~lib/rt/tlsf/__alloc local.set $4 + global.get $~lib/error + if + return + end local.get $4 + local.set $5 + local.get $5 i32.const 0 local.get $3 call $~lib/memory/memory.fill @@ -6638,21 +7140,21 @@ local.get $1 i32.const 1 i32.sub - local.set $5 + local.set $4 loop $loop|0 - local.get $5 + local.get $4 i32.const 0 i32.gt_s i32.eqz br_if $break|0 - local.get $5 + local.get $4 local.set $6 block $break|1 loop $continue|1 local.get $6 i32.const 1 i32.and - local.get $4 + local.get $5 local.get $6 i32.const 6 i32.shr_s @@ -6691,7 +7193,7 @@ f32.load local.set $8 local.get $0 - local.get $5 + local.get $4 i32.const 2 i32.shl i32.add @@ -6703,18 +7205,24 @@ local.get $9 local.get $2 call_indirect (type $FUNCSIG$iff) + local.set $10 + global.get $~lib/error + if + return + end + local.get $10 i32.const 0 i32.lt_s if - local.get $4 local.get $5 + local.get $4 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $4 local.get $5 + local.get $4 i32.const 5 i32.shr_s i32.const 2 @@ -6722,14 +7230,14 @@ i32.add i32.load i32.const 1 - local.get $5 + local.get $4 i32.const 31 i32.and i32.shl i32.xor i32.store local.get $0 - local.get $5 + local.get $4 i32.const 2 i32.shl i32.add @@ -6743,10 +7251,10 @@ local.get $9 f32.store end - local.get $5 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 br $loop|0 end unreachable @@ -6787,7 +7295,7 @@ local.get $6 i32.const 1 i32.shl - local.get $4 + local.get $5 local.get $6 i32.const 5 i32.shr_s @@ -6802,12 +7310,12 @@ i32.const 1 i32.and i32.add - local.tee $5 + local.tee $4 local.get $7 i32.lt_s i32.eqz br_if $break|3 - local.get $5 + local.get $4 local.set $6 br $continue|3 end @@ -6836,17 +7344,23 @@ local.get $8 local.get $2 call_indirect (type $FUNCSIG$iff) + local.set $10 + global.get $~lib/error + if + return + end + local.get $10 i32.const 0 i32.lt_s if - local.get $4 + local.get $5 local.get $6 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $4 + local.get $5 local.get $6 i32.const 5 i32.shr_s @@ -6888,20 +7402,20 @@ end unreachable end - local.get $4 + local.get $5 call $~lib/rt/tlsf/__free local.get $0 f32.load offset=4 - local.set $10 + local.set $11 local.get $0 local.get $0 f32.load f32.store offset=4 local.get $0 - local.get $10 + local.get $11 f32.store ) - (func $~lib/array/Array#sort (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 134 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f32) @@ -6939,6 +7453,13 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$iff) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.lt_s if @@ -6953,30 +7474,40 @@ call $~lib/rt/pure/__retain return end - local.get $3 - local.set $8 - local.get $2 - local.set $7 - local.get $1 - local.set $6 - local.get $7 - i32.const 256 - i32.lt_s - if - local.get $8 - local.get $7 - local.get $6 - call $~lib/util/sort/insertionSort - else - local.get $8 + block $~lib/util/sort/SORT|inlined.0 + local.get $3 + local.set $8 + local.get $2 + local.set $7 + local.get $1 + local.set $6 local.get $7 - local.get $6 - call $~lib/util/sort/weakHeapSort + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + global.get $~lib/error + if + br $~lib/util/sort/SORT|inlined.0 + end + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + global.get $~lib/error + if + br $~lib/util/sort/SORT|inlined.0 + end + end end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 133 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 135 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -7009,7 +7540,7 @@ i32.lt_s i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 134 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 136 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -7028,14 +7559,15 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/number/isNaN (; 135 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 137 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne ) - (func $std/array/isArraysEqual (; 136 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 138 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) + (local $4 f32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -7089,10 +7621,24 @@ local.get $0 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 call $~lib/number/isNaN local.get $1 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 call $~lib/number/isNaN i32.eq if @@ -7101,18 +7647,32 @@ local.get $0 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.get $1 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 f32.ne if i32.const 0 - local.set $4 + local.set $5 local.get $0 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release - local.get $4 + local.get $5 return end end @@ -7132,7 +7692,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/util/sort/insertionSort (; 137 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 139 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -7178,6 +7738,12 @@ local.get $6 local.get $2 call_indirect (type $FUNCSIG$idd) + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i32.const 0 i32.lt_s if @@ -7220,7 +7786,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 138 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 140 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7228,7 +7794,8 @@ (local $7 i32) (local $8 f64) (local $9 f64) - (local $10 f64) + (local $10 i32) + (local $11 f64) local.get $1 i32.const 31 i32.add @@ -7241,7 +7808,13 @@ i32.const 0 call $~lib/rt/tlsf/__alloc local.set $4 + global.get $~lib/error + if + return + end local.get $4 + local.set $5 + local.get $5 i32.const 0 local.get $3 call $~lib/memory/memory.fill @@ -7249,21 +7822,21 @@ local.get $1 i32.const 1 i32.sub - local.set $5 + local.set $4 loop $loop|0 - local.get $5 + local.get $4 i32.const 0 i32.gt_s i32.eqz br_if $break|0 - local.get $5 + local.get $4 local.set $6 block $break|1 loop $continue|1 local.get $6 i32.const 1 i32.and - local.get $4 + local.get $5 local.get $6 i32.const 6 i32.shr_s @@ -7302,7 +7875,7 @@ f64.load local.set $8 local.get $0 - local.get $5 + local.get $4 i32.const 3 i32.shl i32.add @@ -7314,18 +7887,24 @@ local.get $9 local.get $2 call_indirect (type $FUNCSIG$idd) + local.set $10 + global.get $~lib/error + if + return + end + local.get $10 i32.const 0 i32.lt_s if - local.get $4 local.get $5 + local.get $4 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $4 local.get $5 + local.get $4 i32.const 5 i32.shr_s i32.const 2 @@ -7333,14 +7912,14 @@ i32.add i32.load i32.const 1 - local.get $5 + local.get $4 i32.const 31 i32.and i32.shl i32.xor i32.store local.get $0 - local.get $5 + local.get $4 i32.const 3 i32.shl i32.add @@ -7354,10 +7933,10 @@ local.get $9 f64.store end - local.get $5 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 br $loop|0 end unreachable @@ -7398,7 +7977,7 @@ local.get $6 i32.const 1 i32.shl - local.get $4 + local.get $5 local.get $6 i32.const 5 i32.shr_s @@ -7413,12 +7992,12 @@ i32.const 1 i32.and i32.add - local.tee $5 + local.tee $4 local.get $7 i32.lt_s i32.eqz br_if $break|3 - local.get $5 + local.get $4 local.set $6 br $continue|3 end @@ -7447,17 +8026,23 @@ local.get $8 local.get $2 call_indirect (type $FUNCSIG$idd) - i32.const 0 - i32.lt_s + local.set $10 + global.get $~lib/error if - local.get $4 + return + end + local.get $10 + i32.const 0 + i32.lt_s + if + local.get $5 local.get $6 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $4 + local.get $5 local.get $6 i32.const 5 i32.shr_s @@ -7499,20 +8084,20 @@ end unreachable end - local.get $4 + local.get $5 call $~lib/rt/tlsf/__free local.get $0 f64.load offset=8 - local.set $10 + local.set $11 local.get $0 local.get $0 f64.load f64.store offset=8 local.get $0 - local.get $10 + local.get $11 f64.store ) - (func $~lib/array/Array#sort (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 141 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f64) @@ -7550,6 +8135,13 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$idd) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.lt_s if @@ -7564,30 +8156,40 @@ call $~lib/rt/pure/__retain return end - local.get $3 - local.set $8 - local.get $2 - local.set $7 - local.get $1 - local.set $6 - local.get $7 - i32.const 256 - i32.lt_s - if - local.get $8 - local.get $7 - local.get $6 - call $~lib/util/sort/insertionSort - else - local.get $8 + block $~lib/util/sort/SORT|inlined.0 + local.get $3 + local.set $8 + local.get $2 + local.set $7 + local.get $1 + local.set $6 local.get $7 - local.get $6 - call $~lib/util/sort/weakHeapSort + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + global.get $~lib/error + if + br $~lib/util/sort/SORT|inlined.0 + end + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + global.get $~lib/error + if + br $~lib/util/sort/SORT|inlined.0 + end + end end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 140 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 142 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -7620,7 +8222,7 @@ i64.lt_s i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 141 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 143 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -7639,11 +8241,11 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/array/Array#get:length (; 142 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 144 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 143 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__unchecked_get (; 145 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $0 i32.load offset=4 local.get $1 @@ -7652,7 +8254,7 @@ i32.add f64.load ) - (func $~lib/array/Array#__get (; 144 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__get (; 146 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -7660,25 +8262,26 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f64.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/number/isNaN (; 145 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 147 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $std/array/isArraysEqual (; 146 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 148 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) + (local $4 f64) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -7732,10 +8335,24 @@ local.get $0 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 call $~lib/number/isNaN local.get $1 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 call $~lib/number/isNaN i32.eq if @@ -7744,18 +8361,32 @@ local.get $0 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.get $1 local.get $3 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 f64.ne if i32.const 0 - local.set $4 + local.set $5 local.get $0 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release - local.get $4 + local.get $5 return end end @@ -7775,7 +8406,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/util/sort/insertionSort (; 147 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 149 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7821,6 +8452,12 @@ local.get $6 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i32.const 0 i32.lt_s if @@ -7863,7 +8500,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 148 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 150 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7872,6 +8509,7 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) local.get $1 i32.const 31 i32.add @@ -7884,7 +8522,13 @@ i32.const 0 call $~lib/rt/tlsf/__alloc local.set $4 + global.get $~lib/error + if + return + end local.get $4 + local.set $5 + local.get $5 i32.const 0 local.get $3 call $~lib/memory/memory.fill @@ -7892,21 +8536,21 @@ local.get $1 i32.const 1 i32.sub - local.set $5 + local.set $4 loop $loop|0 - local.get $5 + local.get $4 i32.const 0 i32.gt_s i32.eqz br_if $break|0 - local.get $5 + local.get $4 local.set $6 block $break|1 loop $continue|1 local.get $6 i32.const 1 i32.and - local.get $4 + local.get $5 local.get $6 i32.const 6 i32.shr_s @@ -7945,7 +8589,7 @@ i32.load local.set $8 local.get $0 - local.get $5 + local.get $4 i32.const 2 i32.shl i32.add @@ -7957,18 +8601,24 @@ local.get $9 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $10 + global.get $~lib/error + if + return + end + local.get $10 i32.const 0 i32.lt_s if - local.get $4 local.get $5 + local.get $4 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $4 local.get $5 + local.get $4 i32.const 5 i32.shr_s i32.const 2 @@ -7976,14 +8626,14 @@ i32.add i32.load i32.const 1 - local.get $5 + local.get $4 i32.const 31 i32.and i32.shl i32.xor i32.store local.get $0 - local.get $5 + local.get $4 i32.const 2 i32.shl i32.add @@ -7997,10 +8647,10 @@ local.get $9 i32.store end - local.get $5 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 br $loop|0 end unreachable @@ -8041,7 +8691,7 @@ local.get $7 i32.const 1 i32.shl - local.get $4 + local.get $5 local.get $7 i32.const 5 i32.shr_s @@ -8083,24 +8733,30 @@ i32.shl i32.add i32.load - local.set $5 + local.set $4 i32.const 2 global.set $~lib/argc local.get $8 - local.get $5 + local.get $4 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $10 + global.get $~lib/error + if + return + end + local.get $10 i32.const 0 i32.lt_s if - local.get $4 + local.get $5 local.get $7 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $4 + local.get $5 local.get $7 i32.const 5 i32.shr_s @@ -8123,7 +8779,7 @@ local.get $8 i32.store local.get $0 - local.get $5 + local.get $4 i32.store end local.get $7 @@ -8142,20 +8798,20 @@ end unreachable end - local.get $4 + local.get $5 call $~lib/rt/tlsf/__free local.get $0 i32.load offset=4 - local.set $10 + local.set $11 local.get $0 local.get $0 i32.load i32.store offset=4 local.get $0 - local.get $10 + local.get $11 i32.store ) - (func $~lib/array/Array#sort (; 149 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 151 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8191,6 +8847,13 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$iii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.lt_s if @@ -8205,35 +8868,45 @@ call $~lib/rt/pure/__retain return end - local.get $3 - local.set $6 - local.get $2 - local.set $5 - local.get $1 - local.set $4 - local.get $5 - i32.const 256 - i32.lt_s - if - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/sort/insertionSort - else - local.get $6 - local.get $5 + block $~lib/util/sort/SORT|inlined.0 + local.get $3 + local.set $5 + local.get $2 + local.set $4 + local.get $1 + local.set $6 local.get $4 - call $~lib/util/sort/weakHeapSort + i32.const 256 + i32.lt_s + if + local.get $5 + local.get $4 + local.get $6 + call $~lib/util/sort/insertionSort + global.get $~lib/error + if + br $~lib/util/sort/SORT|inlined.0 + end + else + local.get $5 + local.get $4 + local.get $6 + call $~lib/util/sort/weakHeapSort + global.get $~lib/error + if + br $~lib/util/sort/SORT|inlined.0 + end + end end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 150 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 152 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 151 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 153 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -8252,7 +8925,7 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/util/sort/insertionSort (; 152 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 154 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8298,6 +8971,12 @@ local.get $6 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i32.const 0 i32.lt_s if @@ -8340,7 +9019,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 153 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 155 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8349,6 +9028,7 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) local.get $1 i32.const 31 i32.add @@ -8361,7 +9041,13 @@ i32.const 0 call $~lib/rt/tlsf/__alloc local.set $4 + global.get $~lib/error + if + return + end local.get $4 + local.set $5 + local.get $5 i32.const 0 local.get $3 call $~lib/memory/memory.fill @@ -8369,21 +9055,21 @@ local.get $1 i32.const 1 i32.sub - local.set $5 + local.set $4 loop $loop|0 - local.get $5 + local.get $4 i32.const 0 i32.gt_s i32.eqz br_if $break|0 - local.get $5 + local.get $4 local.set $6 block $break|1 loop $continue|1 local.get $6 i32.const 1 i32.and - local.get $4 + local.get $5 local.get $6 i32.const 6 i32.shr_s @@ -8422,7 +9108,7 @@ i32.load local.set $8 local.get $0 - local.get $5 + local.get $4 i32.const 2 i32.shl i32.add @@ -8434,18 +9120,24 @@ local.get $9 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $10 + global.get $~lib/error + if + return + end + local.get $10 i32.const 0 i32.lt_s if - local.get $4 local.get $5 + local.get $4 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $4 local.get $5 + local.get $4 i32.const 5 i32.shr_s i32.const 2 @@ -8453,14 +9145,14 @@ i32.add i32.load i32.const 1 - local.get $5 + local.get $4 i32.const 31 i32.and i32.shl i32.xor i32.store local.get $0 - local.get $5 + local.get $4 i32.const 2 i32.shl i32.add @@ -8474,10 +9166,10 @@ local.get $9 i32.store end - local.get $5 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 br $loop|0 end unreachable @@ -8518,7 +9210,7 @@ local.get $7 i32.const 1 i32.shl - local.get $4 + local.get $5 local.get $7 i32.const 5 i32.shr_s @@ -8560,24 +9252,30 @@ i32.shl i32.add i32.load - local.set $5 + local.set $4 i32.const 2 global.set $~lib/argc local.get $8 - local.get $5 + local.get $4 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $10 + global.get $~lib/error + if + return + end + local.get $10 i32.const 0 i32.lt_s if - local.get $4 + local.get $5 local.get $7 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $4 + local.get $5 local.get $7 i32.const 5 i32.shr_s @@ -8600,7 +9298,7 @@ local.get $8 i32.store local.get $0 - local.get $5 + local.get $4 i32.store end local.get $7 @@ -8619,20 +9317,20 @@ end unreachable end - local.get $4 + local.get $5 call $~lib/rt/tlsf/__free local.get $0 i32.load offset=4 - local.set $10 + local.set $11 local.get $0 local.get $0 i32.load i32.store offset=4 local.get $0 - local.get $10 + local.get $11 i32.store ) - (func $~lib/array/Array#sort (; 154 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 156 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8668,8 +9366,15 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$iii) - i32.const 0 - i32.lt_s + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 + i32.const 0 + i32.lt_s if local.get $3 local.get $5 @@ -8682,30 +9387,40 @@ call $~lib/rt/pure/__retain return end - local.get $3 - local.set $6 - local.get $2 - local.set $5 - local.get $1 - local.set $4 - local.get $5 - i32.const 256 - i32.lt_s - if - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/sort/insertionSort - else - local.get $6 - local.get $5 + block $~lib/util/sort/SORT|inlined.0 + local.get $3 + local.set $5 + local.get $2 + local.set $4 + local.get $1 + local.set $6 local.get $4 - call $~lib/util/sort/weakHeapSort + i32.const 256 + i32.lt_s + if + local.get $5 + local.get $4 + local.get $6 + call $~lib/util/sort/insertionSort + global.get $~lib/error + if + br $~lib/util/sort/SORT|inlined.0 + end + else + local.get $5 + local.get $4 + local.get $6 + call $~lib/util/sort/weakHeapSort + global.get $~lib/error + if + br $~lib/util/sort/SORT|inlined.0 + end + end end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 155 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 157 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.gt_u @@ -8714,7 +9429,7 @@ i32.lt_u i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 156 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 158 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -8733,83 +9448,103 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/array/Array.create (; 157 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.create (; 159 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) local.get $0 i32.const 268435452 i32.gt_u if - i32.const 24 - i32.const 488 - i32.const 45 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 2 i32.const 3 i32.const 0 call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 + call $~lib/rt/pure/__retain + local.set $2 + local.get $2 i32.const 0 i32.store offset=12 - local.get $1 + local.get $2 i32.load offset=4 i32.const 0 - local.get $1 + local.get $2 i32.load offset=8 call $~lib/memory/memory.fill - local.get $1 + local.get $2 ) - (func $std/array/createReverseOrderedArray (; 158 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedArray (; 160 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 call $~lib/array/Array.create local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.set $2 block $break|0 i32.const 0 - local.set $2 + local.set $1 loop $loop|0 - local.get $2 + local.get $1 local.get $0 i32.lt_s i32.eqz br_if $break|0 - local.get $1 local.get $2 + local.get $1 local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $1 i32.sub call $~lib/array/Array#__set - local.get $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $loop|0 end unreachable end - local.get $1 + local.get $2 ) - (func $~lib/math/NativeMath.random (; 159 ;) (type $FUNCSIG$d) (result f64) + (func $~lib/math/NativeMath.random (; 161 ;) (type $FUNCSIG$d) (result f64) (local $0 i64) (local $1 i64) (local $2 i64) global.get $~lib/math/random_seeded i32.eqz if - i32.const 3936 - i32.const 3160 - i32.const 1029 - i32.const 24 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 3880 + call $~lib/error/Error#constructor + global.set $~lib/error + f64.const 0 + return end global.get $~lib/math/random_state0_64 local.set $0 @@ -8854,45 +9589,65 @@ f64.const 1 f64.sub ) - (func $std/array/createRandomOrderedArray (; 160 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomOrderedArray (; 162 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) + (local $3 f64) local.get $0 call $~lib/array/Array.create local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.set $2 block $break|0 i32.const 0 - local.set $2 + local.set $1 loop $loop|0 - local.get $2 + local.get $1 local.get $0 i32.lt_s i32.eqz br_if $break|0 - local.get $1 local.get $2 + local.get $1 call $~lib/math/NativeMath.random + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.get $0 f64.convert_i32_s f64.mul i32.trunc_f64_s call $~lib/array/Array#__set - local.get $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $loop|0 end unreachable end - local.get $1 + local.get $2 ) - (func $~lib/util/sort/COMPARATOR~anonymous|1 (; 161 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|1 (; 163 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $std/array/isSorted (; 162 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 164 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8918,11 +9673,32 @@ i32.const 1 i32.sub call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.get $0 local.get $2 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.get $1 call_indirect (type $FUNCSIG$iii) + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 i32.const 0 i32.gt_s if @@ -8947,21 +9723,36 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/array/assertSorted (; 163 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 165 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) + (local $3 i32) local.get $0 call $~lib/rt/pure/__retain drop local.get $0 local.get $1 call $~lib/array/Array#sort + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.tee $2 local.get $1 call $std/array/isSorted + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 0 + i32.ne i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 830 i32.const 2 call $~lib/builtins/abort @@ -8972,7 +9763,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/array/assertSortedDefault (; 164 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/array/assertSortedDefault (; 166 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -8982,61 +9773,73 @@ br $~lib/util/sort/COMPARATOR|inlined.1 end call $std/array/assertSorted + global.get $~lib/error + if + return + end local.get $0 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|43 (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|43 (; 167 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $start:std/array~anonymous|44 (; 166 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|44 (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $start:std/array~anonymous|45 (; 167 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|45 (; 169 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $start:std/array~anonymous|46 (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|46 (; 170 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $~lib/array/Array.create<~lib/array/Array> (; 169 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.create<~lib/array/Array> (; 171 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) local.get $0 i32.const 268435452 i32.gt_u if - i32.const 24 - i32.const 488 - i32.const 45 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 2 - i32.const 10 + i32.const 12 i32.const 0 call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 + call $~lib/rt/pure/__retain + local.set $2 + local.get $2 i32.const 0 i32.store offset=12 - local.get $1 + local.get $2 i32.load offset=4 i32.const 0 - local.get $1 + local.get $2 i32.load offset=8 call $~lib/memory/memory.fill - local.get $1 + local.get $2 ) - (func $~lib/array/Array<~lib/array/Array>#__unchecked_set (; 170 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/array/Array>#__unchecked_set (; 172 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -9062,11 +9865,15 @@ i32.store local.get $4 call $~lib/rt/pure/__release + global.get $~lib/error + if + return + end end local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/array/Array<~lib/array/Array>#__set (; 171 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/array/Array>#__set (; 173 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -9078,14 +9885,13 @@ local.get $3 i32.gt_u if + i32.const 0 + i32.const 3984 + call $~lib/error/Error#constructor + global.set $~lib/error local.get $2 call $~lib/rt/pure/__release - i32.const 4040 - i32.const 488 - i32.const 121 - i32.const 38 - call $~lib/builtins/abort - unreachable + return end local.get $0 local.get $1 @@ -9093,10 +9899,18 @@ i32.add i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 local.get $1 local.get $2 call $~lib/array/Array<~lib/array/Array>#__unchecked_set + global.get $~lib/error + if + return + end local.get $1 local.get $3 i32.ge_s @@ -9110,18 +9924,25 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/array/createReverseOrderedNestedArray (; 172 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedNestedArray (; 174 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 call $~lib/array/Array.create<~lib/array/Array> local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.set $2 block $break|0 i32.const 0 - local.set $2 + local.set $1 loop $loop|0 - local.get $2 + local.get $1 local.get $0 i32.lt_s i32.eqz @@ -9129,31 +9950,48 @@ i32.const 1 call $~lib/array/Array.create local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $3 i32.const 0 local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $1 i32.sub call $~lib/array/Array#__set - local.get $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 + local.get $1 local.get $3 call $~lib/array/Array<~lib/array/Array>#__set - local.get $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 local.get $3 call $~lib/rt/pure/__release br $loop|0 end unreachable end - local.get $1 + local.get $2 ) - (func $start:std/array~anonymous|47 (; 173 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|47 (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -9164,9 +10002,23 @@ local.get $0 i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.get $1 i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 i32.sub local.set $2 local.get $0 @@ -9175,7 +10027,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/util/sort/insertionSort<~lib/array/Array> (; 174 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort<~lib/array/Array> (; 176 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9223,6 +10075,12 @@ local.get $6 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i32.const 0 i32.lt_s if @@ -9271,7 +10129,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/array/Array>#sort (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#sort (; 177 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9309,6 +10167,13 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$iii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.lt_s if @@ -9329,24 +10194,30 @@ local.get $6 return end - local.get $3 - local.set $5 - local.get $2 - local.set $4 - local.get $1 - local.set $6 - local.get $5 - local.get $4 - local.get $6 - call $~lib/util/sort/insertionSort<~lib/array/Array> + block $~lib/util/sort/SORT<~lib/array/Array>|inlined.0 + local.get $3 + local.set $5 + local.get $2 + local.set $4 + local.get $1 + local.set $6 + local.get $5 + local.get $4 + local.get $6 + call $~lib/util/sort/insertionSort<~lib/array/Array> + global.get $~lib/error + if + br $~lib/util/sort/SORT<~lib/array/Array>|inlined.0 + end + end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/array/Array>#get:length (; 176 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#get:length (; 178 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 177 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 179 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -9356,18 +10227,18 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/array/Array>#__get (; 178 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__get (; 180 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 4040 - i32.const 488 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 3984 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -9376,18 +10247,18 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#__unchecked_get ) - (func $std/array/isSorted<~lib/array/Array> (; 179 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/array/Array> (; 181 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9415,13 +10286,34 @@ i32.const 1 i32.sub call $~lib/array/Array<~lib/array/Array>#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.tee $4 local.get $0 local.get $2 call $~lib/array/Array<~lib/array/Array>#__get + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.tee $5 local.get $1 call_indirect (type $FUNCSIG$iii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.gt_s if @@ -9454,21 +10346,36 @@ call $~lib/rt/pure/__release local.get $5 ) - (func $std/array/assertSorted<~lib/array/Array> (; 180 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/array/Array> (; 182 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) + (local $3 i32) local.get $0 call $~lib/rt/pure/__retain drop local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#sort + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.tee $2 local.get $1 call $std/array/isSorted<~lib/array/Array> + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 0 + i32.ne i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 830 i32.const 2 call $~lib/builtins/abort @@ -9479,43 +10386,51 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/array/Array.create> (; 181 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.create> (; 183 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) local.get $0 i32.const 268435452 i32.gt_u if - i32.const 24 - i32.const 488 - i32.const 45 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 2 - i32.const 12 + i32.const 14 i32.const 0 call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 + call $~lib/rt/pure/__retain + local.set $2 + local.get $2 i32.const 0 i32.store offset=12 - local.get $1 + local.get $2 i32.load offset=4 i32.const 0 - local.get $1 + local.get $2 i32.load offset=8 call $~lib/memory/memory.fill - local.get $1 + local.get $2 ) - (func $std/array/Proxy#constructor (; 182 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/Proxy#constructor (; 184 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.eqz if i32.const 4 - i32.const 11 + i32.const 13 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -9525,7 +10440,7 @@ i32.store local.get $0 ) - (func $~lib/array/Array>#__unchecked_set (; 183 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array>#__unchecked_set (; 185 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -9551,11 +10466,15 @@ i32.store local.get $4 call $~lib/rt/pure/__release + global.get $~lib/error + if + return + end end local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/array/Array>#__set (; 184 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array>#__set (; 186 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -9567,14 +10486,13 @@ local.get $3 i32.gt_u if + i32.const 0 + i32.const 3984 + call $~lib/error/Error#constructor + global.set $~lib/error local.get $2 call $~lib/rt/pure/__release - i32.const 4040 - i32.const 488 - i32.const 121 - i32.const 38 - call $~lib/builtins/abort - unreachable + return end local.get $0 local.get $1 @@ -9582,10 +10500,18 @@ i32.add i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 local.get $1 local.get $2 call $~lib/array/Array>#__unchecked_set + global.get $~lib/error + if + return + end local.get $1 local.get $3 i32.ge_s @@ -9599,46 +10525,58 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/array/createReverseOrderedElementsArray (; 185 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedElementsArray (; 187 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 call $~lib/array/Array.create> local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.set $2 block $break|0 i32.const 0 - local.set $2 + local.set $1 loop $loop|0 - local.get $2 + local.get $1 local.get $0 i32.lt_s i32.eqz br_if $break|0 - local.get $1 local.get $2 + local.get $1 i32.const 0 local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $1 i32.sub call $std/array/Proxy#constructor local.tee $3 call $~lib/array/Array>#__set - local.get $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 local.get $3 call $~lib/rt/pure/__release br $loop|0 end unreachable end - local.get $1 + local.get $2 ) - (func $start:std/array~anonymous|48 (; 186 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|48 (; 188 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -9658,7 +10596,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/util/sort/insertionSort> (; 187 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort> (; 189 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9706,6 +10644,12 @@ local.get $6 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i32.const 0 i32.lt_s if @@ -9754,7 +10698,7 @@ unreachable end ) - (func $~lib/array/Array>#sort (; 188 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#sort (; 190 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9792,6 +10736,13 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$iii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.lt_s if @@ -9812,24 +10763,30 @@ local.get $6 return end - local.get $3 - local.set $5 - local.get $2 - local.set $4 - local.get $1 - local.set $6 - local.get $5 - local.get $4 - local.get $6 - call $~lib/util/sort/insertionSort> + block $~lib/util/sort/SORT>|inlined.0 + local.get $3 + local.set $5 + local.get $2 + local.set $4 + local.get $1 + local.set $6 + local.get $5 + local.get $4 + local.get $6 + call $~lib/util/sort/insertionSort> + global.get $~lib/error + if + br $~lib/util/sort/SORT>|inlined.0 + end + end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array>#get:length (; 189 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#get:length (; 191 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array>#__unchecked_get (; 190 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__unchecked_get (; 192 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -9839,18 +10796,18 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array>#__get (; 191 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__get (; 193 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 4040 - i32.const 488 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 3984 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -9859,18 +10816,18 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array>#__unchecked_get ) - (func $std/array/isSorted> (; 192 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted> (; 194 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9898,13 +10855,34 @@ i32.const 1 i32.sub call $~lib/array/Array>#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.tee $4 local.get $0 local.get $2 call $~lib/array/Array>#__get + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.tee $5 local.get $1 call_indirect (type $FUNCSIG$iii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.gt_s if @@ -9937,21 +10915,36 @@ call $~lib/rt/pure/__release local.get $5 ) - (func $std/array/assertSorted> (; 193 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted> (; 195 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) + (local $3 i32) local.get $0 call $~lib/rt/pure/__retain drop local.get $0 local.get $1 call $~lib/array/Array>#sort + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.tee $2 local.get $1 call $std/array/isSorted> + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 0 + i32.ne i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 830 i32.const 2 call $~lib/builtins/abort @@ -9962,7 +10955,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/util/sort/insertionSort<~lib/string/String | null> (; 194 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort<~lib/string/String | null> (; 196 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10010,6 +11003,12 @@ local.get $6 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i32.const 0 i32.lt_s if @@ -10058,7 +11057,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/string/String | null>#sort (; 195 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#sort (; 197 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10096,6 +11095,13 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$iii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.lt_s if @@ -10116,24 +11122,30 @@ local.get $6 return end - local.get $3 - local.set $5 - local.get $2 - local.set $4 - local.get $1 - local.set $6 - local.get $5 - local.get $4 - local.get $6 - call $~lib/util/sort/insertionSort<~lib/string/String | null> + block $~lib/util/sort/SORT<~lib/string/String | null>|inlined.0 + local.get $3 + local.set $5 + local.get $2 + local.set $4 + local.get $1 + local.set $6 + local.get $5 + local.get $4 + local.get $6 + call $~lib/util/sort/insertionSort<~lib/string/String | null> + global.get $~lib/error + if + br $~lib/util/sort/SORT<~lib/string/String | null>|inlined.0 + end + end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String | null>#get:length (; 196 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#get:length (; 198 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String | null>#__unchecked_get (; 197 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#__unchecked_get (; 199 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -10143,7 +11155,7 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String | null>#__get (; 198 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#__get (; 200 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -10151,18 +11163,18 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String | null>#__unchecked_get ) - (func $std/array/isSorted<~lib/string/String | null> (; 199 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/string/String | null> (; 201 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10190,13 +11202,34 @@ i32.const 1 i32.sub call $~lib/array/Array<~lib/string/String | null>#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.tee $4 local.get $0 local.get $2 call $~lib/array/Array<~lib/string/String | null>#__get + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.tee $5 local.get $1 call_indirect (type $FUNCSIG$iii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.gt_s if @@ -10229,21 +11262,36 @@ call $~lib/rt/pure/__release local.get $5 ) - (func $std/array/assertSorted<~lib/string/String | null> (; 200 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String | null> (; 202 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) + (local $3 i32) local.get $0 call $~lib/rt/pure/__retain drop local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String | null>#sort - local.tee $2 - local.get $1 - call $std/array/isSorted<~lib/string/String | null> - i32.eqz + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 + local.tee $2 + local.get $1 + call $std/array/isSorted<~lib/string/String | null> + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 0 + i32.ne + i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 830 i32.const 2 call $~lib/builtins/abort @@ -10254,7 +11302,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/string/String#get:length (; 201 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 203 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -10262,7 +11310,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/util/string/compareImpl (; 202 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/string/compareImpl (; 204 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -10327,7 +11375,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 (; 203 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 (; 205 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10433,7 +11481,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $std/array/assertSorted<~lib/string/String | null>|trampoline (; 204 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String | null>|trampoline (; 206 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) block $1of1 block $0of1 block $outOfRange @@ -10454,7 +11502,7 @@ local.get $1 call $std/array/assertSorted<~lib/string/String | null> ) - (func $~lib/string/String.__eq (; 205 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 207 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -10527,7 +11575,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__ne (; 206 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 208 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -10546,7 +11594,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $std/array/isArraysEqual<~lib/string/String | null> (; 207 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual<~lib/string/String | null> (; 209 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10603,10 +11651,24 @@ local.get $0 local.get $3 call $~lib/array/Array<~lib/string/String | null>#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.tee $4 local.get $1 local.get $3 call $~lib/array/Array<~lib/string/String | null>#__get + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.tee $5 call $~lib/string/String.__ne if @@ -10643,45 +11705,54 @@ call $~lib/rt/pure/__release local.get $5 ) - (func $~lib/array/Array.create<~lib/string/String> (; 208 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.create<~lib/string/String> (; 210 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) local.get $0 i32.const 268435452 i32.gt_u if - i32.const 24 - i32.const 488 - i32.const 45 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 2 - i32.const 14 + i32.const 16 i32.const 0 call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 + call $~lib/rt/pure/__retain + local.set $2 + local.get $2 i32.const 0 i32.store offset=12 - local.get $1 + local.get $2 i32.load offset=4 i32.const 0 - local.get $1 + local.get $2 i32.load offset=8 call $~lib/memory/memory.fill - local.get $1 + local.get $2 ) - (func $~lib/string/String#charAt (; 209 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#charAt (; 211 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) local.get $1 local.get $0 call $~lib/string/String#get:length i32.ge_u if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain return end @@ -10689,7 +11760,14 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 + local.set $3 + local.get $3 local.get $0 local.get $1 i32.const 1 @@ -10697,10 +11775,10 @@ i32.add i32.load16_u i32.store16 - local.get $2 + local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#concat (; 210 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 212 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10714,7 +11792,7 @@ i32.const 0 i32.eq if - i32.const 4360 + i32.const 4288 local.tee $2 local.get $1 local.tee $3 @@ -10747,7 +11825,7 @@ i32.const 0 i32.eq if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $2 local.get $1 @@ -10758,6 +11836,13 @@ local.get $6 i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 call $~lib/rt/pure/__retain local.set $7 local.get $7 @@ -10776,7 +11861,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 211 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 213 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -10785,7 +11870,7 @@ call $~lib/rt/pure/__retain drop local.get $0 - i32.const 4360 + i32.const 4288 local.get $0 i32.const 0 i32.ne @@ -10793,13 +11878,20 @@ local.get $1 call $~lib/string/String#concat local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $0 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release local.get $2 ) - (func $std/array/createRandomString (; 212 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomString (; 214 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -10807,7 +11899,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $1 block $break|0 @@ -10822,6 +11914,13 @@ local.get $1 global.get $std/array/charset call $~lib/math/NativeMath.random + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 global.get $std/array/charset call $~lib/string/String#get:length f64.convert_i32_s @@ -10831,8 +11930,22 @@ f64.floor i32.trunc_f64_s call $~lib/string/String#charAt + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.tee $4 call $~lib/string/String.__concat + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.tee $5 local.tee $6 local.get $1 @@ -10861,7 +11974,7 @@ end local.get $1 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 213 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 215 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -10887,11 +12000,15 @@ i32.store local.get $4 call $~lib/rt/pure/__release + global.get $~lib/error + if + return + end end local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/array/Array<~lib/string/String>#__set (; 214 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/string/String>#__set (; 216 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10903,14 +12020,13 @@ local.get $3 i32.gt_u if + i32.const 0 + i32.const 3984 + call $~lib/error/Error#constructor + global.set $~lib/error local.get $2 call $~lib/rt/pure/__release - i32.const 4040 - i32.const 488 - i32.const 121 - i32.const 38 - call $~lib/builtins/abort - unreachable + return end local.get $0 local.get $1 @@ -10918,10 +12034,18 @@ i32.add i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 local.get $1 local.get $2 call $~lib/array/Array<~lib/string/String>#__unchecked_set + global.get $~lib/error + if + return + end local.get $1 local.get $3 i32.ge_s @@ -10935,44 +12059,71 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/array/createRandomStringArray (; 215 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomStringArray (; 217 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) + (local $3 f64) + (local $4 i32) local.get $0 call $~lib/array/Array.create<~lib/string/String> local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.set $2 block $break|0 i32.const 0 - local.set $2 + local.set $1 loop $loop|0 - local.get $2 + local.get $1 local.get $0 i32.lt_s i32.eqz br_if $break|0 - local.get $1 local.get $2 + local.get $1 call $~lib/math/NativeMath.random + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 f64.const 32 f64.mul i32.trunc_f64_s call $std/array/createRandomString - local.tee $3 + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + local.tee $4 call $~lib/array/Array<~lib/string/String>#__set - local.get $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 i32.const 1 i32.add - local.set $2 - local.get $3 + local.set $1 + local.get $4 call $~lib/rt/pure/__release br $loop|0 end unreachable end - local.get $1 + local.get $2 ) - (func $~lib/util/sort/insertionSort<~lib/string/String> (; 216 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort<~lib/string/String> (; 218 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -11020,6 +12171,12 @@ local.get $6 local.get $2 call_indirect (type $FUNCSIG$iii) + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i32.const 0 i32.lt_s if @@ -11068,7 +12225,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/string/String>#sort (; 217 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#sort (; 219 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11106,6 +12263,13 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$iii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.lt_s if @@ -11126,24 +12290,30 @@ local.get $6 return end - local.get $3 - local.set $5 - local.get $2 - local.set $4 - local.get $1 - local.set $6 - local.get $5 - local.get $4 - local.get $6 - call $~lib/util/sort/insertionSort<~lib/string/String> + block $~lib/util/sort/SORT<~lib/string/String>|inlined.0 + local.get $3 + local.set $5 + local.get $2 + local.set $4 + local.get $1 + local.set $6 + local.get $5 + local.get $4 + local.get $6 + call $~lib/util/sort/insertionSort<~lib/string/String> + global.get $~lib/error + if + br $~lib/util/sort/SORT<~lib/string/String>|inlined.0 + end + end local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String>#get:length (; 218 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:length (; 220 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 219 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 221 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -11153,18 +12323,18 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String>#__get (; 220 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 222 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 4040 - i32.const 488 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 3984 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -11173,18 +12343,18 @@ i32.shr_u i32.ge_u if - i32.const 280 - i32.const 488 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__unchecked_get ) - (func $std/array/isSorted<~lib/string/String> (; 221 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/string/String> (; 223 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11212,13 +12382,34 @@ i32.const 1 i32.sub call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.tee $4 local.get $0 local.get $2 call $~lib/array/Array<~lib/string/String>#__get + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.tee $5 local.get $1 call_indirect (type $FUNCSIG$iii) + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 i32.const 0 i32.gt_s if @@ -11251,21 +12442,36 @@ call $~lib/rt/pure/__release local.get $5 ) - (func $std/array/assertSorted<~lib/string/String> (; 222 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String> (; 224 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) + (local $3 i32) local.get $0 call $~lib/rt/pure/__retain drop local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#sort + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.tee $2 local.get $1 call $std/array/isSorted<~lib/string/String> + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 0 + i32.ne i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 830 i32.const 2 call $~lib/builtins/abort @@ -11276,7 +12482,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (; 223 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (; 225 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11382,7 +12588,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $std/array/assertSorted<~lib/string/String>|trampoline (; 224 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String>|trampoline (; 226 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) block $1of1 block $0of1 block $outOfRange @@ -11403,7 +12609,7 @@ local.get $1 call $std/array/assertSorted<~lib/string/String> ) - (func $~lib/string/String#substring (; 225 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 227 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -11476,7 +12682,7 @@ local.get $3 i32.eqz if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain return end @@ -11500,6 +12706,13 @@ local.get $3 i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.set $10 local.get $10 local.get $0 @@ -11510,7 +12723,7 @@ local.get $10 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#join_bool (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_bool (; 228 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11532,7 +12745,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -11546,8 +12759,8 @@ local.get $2 i32.eqz if - i32.const 4408 - i32.const 4432 + i32.const 4336 + i32.const 4360 local.get $4 i32.load8_u select @@ -11576,6 +12789,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $8 i32.const 0 @@ -11606,8 +12826,8 @@ i32.const 1 i32.shl i32.add - i32.const 4408 - i32.const 4432 + i32.const 4336 + i32.const 4360 local.get $10 select local.get $6 @@ -11660,8 +12880,8 @@ i32.const 1 i32.shl i32.add - i32.const 4408 - i32.const 4432 + i32.const 4336 + i32.const 4360 local.get $10 select local.get $6 @@ -11681,6 +12901,13 @@ local.get $9 call $~lib/string/String#substring local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $8 @@ -11694,7 +12921,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#join (; 227 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 229 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -11703,12 +12930,19 @@ local.get $1 call $~lib/array/Array#join_bool local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/util/number/decimalCount32 (; 228 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 230 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -11774,7 +13008,7 @@ end unreachable ) - (func $~lib/util/number/utoa32_lut (; 229 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 231 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -11782,7 +13016,7 @@ (local $7 i32) (local $8 i64) (local $9 i64) - i32.const 5000 + i32.const 4928 i32.load offset=4 local.set $3 block $break|0 @@ -11916,7 +13150,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 230 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 232 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11926,7 +13160,7 @@ local.get $0 i32.eqz if - i32.const 4560 + i32.const 4488 call $~lib/rt/pure/__retain return end @@ -11952,31 +13186,46 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 + local.set $4 + local.get $4 local.set $6 local.get $0 local.set $5 local.get $2 - local.set $4 + local.set $3 local.get $6 local.get $5 - local.get $4 + local.get $3 call $~lib/util/number/utoa32_lut local.get $1 if - local.get $3 + local.get $4 i32.const 45 i32.store16 end - local.get $3 + local.get $4 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 231 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 233 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 call $~lib/util/number/itoa32 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 return ) - (func $~lib/util/number/itoa_stream (; 232 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 234 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12033,7 +13282,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 233 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 235 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12055,7 +13304,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -12072,6 +13321,13 @@ local.get $4 i32.load call $~lib/util/number/itoa + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $5 @@ -12098,6 +13354,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $8 i32.const 0 @@ -12173,6 +13436,13 @@ local.get $9 call $~lib/string/String#substring local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $8 @@ -12186,7 +13456,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#join (; 234 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 236 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -12195,12 +13465,19 @@ local.get $1 call $~lib/array/Array#join_int local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/util/number/utoa32 (; 235 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 237 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12209,7 +13486,7 @@ local.get $0 i32.eqz if - i32.const 4560 + i32.const 4488 call $~lib/rt/pure/__retain return end @@ -12222,25 +13499,40 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 + local.set $3 + local.get $3 local.set $5 local.get $0 local.set $4 local.get $1 - local.set $3 + local.set $2 local.get $5 local.get $4 - local.get $3 - call $~lib/util/number/utoa32_lut local.get $2 + call $~lib/util/number/utoa32_lut + local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 236 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 238 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 call $~lib/util/number/utoa32 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 return ) - (func $~lib/util/number/itoa_stream (; 237 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 239 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12277,7 +13569,7 @@ call $~lib/util/number/utoa32_lut local.get $3 ) - (func $~lib/array/Array#join_int (; 238 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 240 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12299,7 +13591,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -12316,6 +13608,13 @@ local.get $4 i32.load call $~lib/util/number/itoa + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $5 @@ -12342,6 +13641,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $8 i32.const 0 @@ -12417,6 +13723,13 @@ local.get $9 call $~lib/string/String#substring local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $8 @@ -12430,7 +13743,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#join (; 239 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 241 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -12439,19 +13752,26 @@ local.get $1 call $~lib/array/Array#join_int local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/number/isFinite (; 240 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 242 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub f64.const 0 f64.eq ) - (func $~lib/array/Array#__unchecked_get (; 241 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array#__unchecked_get (; 243 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $0 i32.load offset=4 local.get $1 @@ -12460,7 +13780,7 @@ i32.add i64.load ) - (func $~lib/array/Array#__unchecked_get (; 242 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 244 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -12469,7 +13789,7 @@ i32.add i32.load16_s ) - (func $~lib/util/number/genDigits (; 243 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 245 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -12524,7 +13844,7 @@ local.set $14 local.get $6 local.set $15 - i32.const 6464 + i32.const 6392 i32.load offset=4 local.set $16 block $break|0 @@ -12971,7 +14291,7 @@ end unreachable ) - (func $~lib/util/number/prettify (; 244 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 246 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -13290,7 +14610,7 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (; 245 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 247 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13455,11 +14775,11 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 6152 + i32.const 6080 local.get $14 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_frc_pow - i32.const 6376 + i32.const 6304 local.get $14 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_exp_pow @@ -13712,15 +15032,16 @@ local.get $2 i32.add ) - (func $~lib/util/number/dtoa (; 246 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 248 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 f64.const 0 f64.eq if - i32.const 5320 + i32.const 5248 call $~lib/rt/pure/__retain return end @@ -13731,12 +15052,12 @@ local.get $0 call $~lib/number/isNaN if - i32.const 5344 + i32.const 5272 call $~lib/rt/pure/__retain return end - i32.const 5368 - i32.const 5408 + i32.const 5296 + i32.const 5336 local.get $0 f64.const 0 f64.lt @@ -13750,28 +15071,42 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 - local.get $0 - call $~lib/util/number/dtoa_core local.set $2 local.get $2 + local.get $0 + call $~lib/util/number/dtoa_core + local.set $3 + local.get $3 i32.const 28 i32.eq if - local.get $1 + local.get $2 call $~lib/rt/pure/__retain return end - local.get $1 - i32.const 0 local.get $2 + i32.const 0 + local.get $3 call $~lib/string/String#substring - local.set $3 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 + local.set $4 + local.get $2 call $~lib/rt/tlsf/__free - local.get $3 + local.get $4 ) - (func $~lib/util/number/dtoa_stream (; 247 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/util/number/dtoa_stream (; 249 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -13824,8 +15159,8 @@ i32.add local.set $4 local.get $0 - i32.const 5368 - i32.const 5408 + i32.const 5296 + i32.const 5336 local.get $3 select local.get $4 @@ -13841,7 +15176,7 @@ local.get $2 call $~lib/util/number/dtoa_core ) - (func $~lib/array/Array#join_flt (; 248 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_flt (; 250 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13863,7 +15198,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -13880,6 +15215,13 @@ local.get $4 f64.load call $~lib/util/number/dtoa + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $5 @@ -13906,6 +15248,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $8 i32.const 0 @@ -13981,6 +15330,13 @@ local.get $9 call $~lib/string/String#substring local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $8 @@ -13994,7 +15350,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#join (; 249 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 251 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -14003,12 +15359,19 @@ local.get $1 call $~lib/array/Array#join_flt local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array<~lib/string/String>#join_str (; 250 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#join_str (; 252 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14032,7 +15395,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -14123,6 +15486,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $8 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $8 call $~lib/rt/pure/__retain local.set $12 block $break|1 @@ -14243,7 +15613,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $~lib/array/Array<~lib/string/String>#join (; 251 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#join (; 253 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -14252,24 +15622,31 @@ local.get $1 call $~lib/array/Array<~lib/string/String>#join_str local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $std/array/Ref#constructor (; 252 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/Ref#constructor (; 254 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 - i32.const 18 + i32.const 20 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 end local.get $0 ) - (func $~lib/array/Array#join_ref (; 253 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_ref (; 255 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14292,7 +15669,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -14306,7 +15683,7 @@ local.get $2 i32.eqz if - i32.const 6648 + i32.const 6576 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -14330,6 +15707,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $7 i32.const 0 @@ -14371,7 +15755,7 @@ i32.const 1 i32.shl i32.add - i32.const 6648 + i32.const 6576 i32.const 15 i32.const 1 i32.shl @@ -14418,7 +15802,7 @@ i32.const 1 i32.shl i32.add - i32.const 6648 + i32.const 6576 i32.const 15 i32.const 1 i32.shl @@ -14437,6 +15821,13 @@ local.get $8 call $~lib/string/String#substring local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $7 @@ -14454,7 +15845,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#join (; 254 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 256 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -14463,26 +15854,49 @@ local.get $1 call $~lib/array/Array#join_ref local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array#toString (; 255 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 257 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array#join + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) - (func $~lib/util/number/itoa (; 256 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 258 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 i32.const 24 i32.shl i32.const 24 i32.shr_s call $~lib/util/number/itoa32 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 return ) - (func $~lib/util/number/itoa_stream (; 257 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 259 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14555,7 +15969,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 258 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 260 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14577,7 +15991,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -14594,6 +16008,13 @@ local.get $4 i32.load8_s call $~lib/util/number/itoa + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $5 @@ -14620,6 +16041,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $8 i32.const 0 @@ -14695,6 +16123,13 @@ local.get $9 call $~lib/string/String#substring local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $8 @@ -14708,7 +16143,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#join (; 259 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 261 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -14717,24 +16152,47 @@ local.get $1 call $~lib/array/Array#join_int local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array#toString (; 260 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 262 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array#join + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) - (func $~lib/util/number/itoa (; 261 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 263 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 i32.const 65535 i32.and call $~lib/util/number/utoa32 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 return ) - (func $~lib/util/number/itoa_stream (; 262 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 264 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14777,7 +16235,7 @@ call $~lib/util/number/utoa32_lut local.get $3 ) - (func $~lib/array/Array#join_int (; 263 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 265 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14799,7 +16257,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -14816,6 +16274,13 @@ local.get $4 i32.load16_u call $~lib/util/number/itoa + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $5 @@ -14842,6 +16307,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $8 i32.const 0 @@ -14917,6 +16389,13 @@ local.get $9 call $~lib/string/String#substring local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $8 @@ -14930,7 +16409,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#join (; 264 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 266 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -14939,17 +16418,32 @@ local.get $1 call $~lib/array/Array#join_int local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array#toString (; 265 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 267 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array#join + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) - (func $~lib/util/number/decimalCount64 (; 266 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 268 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -15015,7 +16509,7 @@ end unreachable ) - (func $~lib/util/number/utoa64_lut (; 267 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 269 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -15027,7 +16521,7 @@ (local $11 i32) (local $12 i64) (local $13 i64) - i32.const 5000 + i32.const 4928 i32.load offset=4 local.set $3 block $break|0 @@ -15142,7 +16636,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 268 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 270 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -15153,7 +16647,7 @@ local.get $0 i64.eqz if - i32.const 4560 + i32.const 4488 call $~lib/rt/pure/__retain return end @@ -15172,6 +16666,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.set $1 local.get $1 local.set $6 @@ -15192,11 +16693,18 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.set $1 - local.get $1 - local.set $5 - local.get $0 - local.set $7 + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $1 + local.get $1 + local.set $5 + local.get $0 + local.set $7 local.get $3 local.set $4 local.get $5 @@ -15207,12 +16715,20 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 269 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 271 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (local $1 i32) local.get $0 call $~lib/util/number/utoa64 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 return ) - (func $~lib/util/number/itoa_stream (; 270 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 272 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15273,7 +16789,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 271 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 273 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15295,7 +16811,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -15312,6 +16828,13 @@ local.get $4 i64.load call $~lib/util/number/itoa + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $5 @@ -15338,6 +16861,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $8 i32.const 0 @@ -15413,6 +16943,13 @@ local.get $9 call $~lib/string/String#substring local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $8 @@ -15426,7 +16963,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#join (; 272 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 274 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -15435,17 +16972,32 @@ local.get $1 call $~lib/array/Array#join_int local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array#toString (; 273 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 275 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array#join + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) - (func $~lib/util/number/itoa64 (; 274 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 276 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -15457,7 +17009,7 @@ local.get $0 i64.eqz if - i32.const 4560 + i32.const 4488 call $~lib/rt/pure/__retain return end @@ -15489,6 +17041,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.set $2 local.get $2 local.set $7 @@ -15511,6 +17070,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.set $2 local.get $2 local.set $6 @@ -15532,12 +17098,20 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 275 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 277 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (local $1 i32) local.get $0 call $~lib/util/number/itoa64 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 return ) - (func $~lib/util/number/itoa_stream (; 276 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 278 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15620,7 +17194,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 277 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 279 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15642,7 +17216,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -15659,6 +17233,13 @@ local.get $4 i64.load call $~lib/util/number/itoa + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $5 @@ -15685,6 +17266,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $8 i32.const 0 @@ -15760,6 +17348,13 @@ local.get $9 call $~lib/string/String#substring local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $8 @@ -15773,7 +17368,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#join (; 278 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 280 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -15782,17 +17377,32 @@ local.get $1 call $~lib/array/Array#join_int local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array#toString (; 279 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 281 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array#join + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) - (func $~lib/array/Array<~lib/string/String | null>#join_str (; 280 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#join_str (; 282 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15816,7 +17426,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -15907,6 +17517,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $8 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $8 call $~lib/rt/pure/__retain local.set $12 block $break|1 @@ -16027,7 +17644,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $~lib/array/Array<~lib/string/String | null>#join (; 281 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#join (; 283 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -16036,22 +17653,45 @@ local.get $1 call $~lib/array/Array<~lib/string/String | null>#join_str local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array<~lib/string/String | null>#toString (; 282 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#toString (; 284 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array<~lib/string/String | null>#join + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) - (func $~lib/array/Array<~lib/string/String>#toString (; 283 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#toString (; 285 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array<~lib/string/String>#join + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 284 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 286 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16074,7 +17714,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -16082,7 +17722,7 @@ local.get $3 return end - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $4 local.get $1 @@ -16116,8 +17756,15 @@ local.get $7 local.get $1 call $~lib/array/Array#join + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 else - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain end local.set $3 @@ -16164,8 +17811,22 @@ local.get $7 local.get $1 call $~lib/array/Array#join + local.set $8 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $8 local.tee $8 call $~lib/string/String.__concat + local.set $9 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $9 local.tee $9 local.tee $10 local.get $4 @@ -16190,6 +17851,13 @@ local.get $4 local.get $1 call $~lib/string/String.__concat + local.set $9 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $9 local.tee $9 local.tee $11 local.get $4 @@ -16240,8 +17908,22 @@ local.get $7 local.get $1 call $~lib/array/Array#join + local.set $10 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $10 local.tee $10 call $~lib/string/String.__concat + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 local.tee $8 local.get $4 @@ -16269,7 +17951,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array<~lib/array/Array>#join (; 285 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join (; 287 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -16278,24 +17960,47 @@ local.get $1 call $~lib/array/Array<~lib/array/Array>#join_arr local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array<~lib/array/Array>#toString (; 286 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#toString (; 288 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array<~lib/array/Array>#join + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) - (func $~lib/util/number/itoa (; 287 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 289 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 i32.const 255 i32.and call $~lib/util/number/utoa32 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 return ) - (func $~lib/util/number/itoa_stream (; 288 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 290 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16338,7 +18043,7 @@ call $~lib/util/number/utoa32_lut local.get $3 ) - (func $~lib/array/Array#join_int (; 289 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 291 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16360,7 +18065,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -16377,6 +18082,13 @@ local.get $4 i32.load8_u call $~lib/util/number/itoa + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $5 @@ -16403,6 +18115,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $8 i32.const 0 @@ -16478,6 +18197,13 @@ local.get $9 call $~lib/string/String#substring local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $8 @@ -16491,7 +18217,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#join (; 290 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 292 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -16500,12 +18226,19 @@ local.get $1 call $~lib/array/Array#join_int local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 291 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 293 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16528,7 +18261,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -16536,7 +18269,7 @@ local.get $3 return end - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $4 local.get $1 @@ -16570,8 +18303,15 @@ local.get $7 local.get $1 call $~lib/array/Array#join + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 else - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain end local.set $3 @@ -16618,8 +18358,22 @@ local.get $7 local.get $1 call $~lib/array/Array#join + local.set $8 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $8 local.tee $8 call $~lib/string/String.__concat + local.set $9 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $9 local.tee $9 local.tee $10 local.get $4 @@ -16644,6 +18398,13 @@ local.get $4 local.get $1 call $~lib/string/String.__concat + local.set $9 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $9 local.tee $9 local.tee $11 local.get $4 @@ -16694,8 +18455,22 @@ local.get $7 local.get $1 call $~lib/array/Array#join + local.set $10 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $10 local.tee $10 call $~lib/string/String.__concat + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 local.tee $8 local.get $4 @@ -16723,7 +18498,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array<~lib/array/Array>#join (; 292 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join (; 294 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -16732,17 +18507,32 @@ local.get $1 call $~lib/array/Array<~lib/array/Array>#join_arr local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array<~lib/array/Array>#toString (; 293 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#toString (; 295 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array<~lib/array/Array>#join + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 294 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 296 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16765,7 +18555,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -16773,7 +18563,7 @@ local.get $3 return end - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $4 local.get $1 @@ -16807,9 +18597,16 @@ local.get $7 local.get $1 call $~lib/array/Array#join - else - i32.const 4248 - call $~lib/rt/pure/__retain + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + else + i32.const 208 + call $~lib/rt/pure/__retain end local.set $3 local.get $1 @@ -16855,8 +18652,22 @@ local.get $7 local.get $1 call $~lib/array/Array#join + local.set $8 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $8 local.tee $8 call $~lib/string/String.__concat + local.set $9 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $9 local.tee $9 local.tee $10 local.get $4 @@ -16881,6 +18692,13 @@ local.get $4 local.get $1 call $~lib/string/String.__concat + local.set $9 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $9 local.tee $9 local.tee $11 local.get $4 @@ -16931,8 +18749,22 @@ local.get $7 local.get $1 call $~lib/array/Array#join + local.set $10 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $10 local.tee $10 call $~lib/string/String.__concat + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 local.tee $8 local.get $4 @@ -16960,7 +18792,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array<~lib/array/Array>#join (; 295 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join (; 297 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -16969,12 +18801,19 @@ local.get $1 call $~lib/array/Array<~lib/array/Array>#join_arr local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr (; 296 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr (; 298 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16997,7 +18836,7 @@ i32.const 0 i32.lt_s if - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -17005,7 +18844,7 @@ local.get $3 return end - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain local.set $4 local.get $1 @@ -17039,8 +18878,15 @@ local.get $7 local.get $1 call $~lib/array/Array<~lib/array/Array>#join + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 else - i32.const 4248 + i32.const 208 call $~lib/rt/pure/__retain end local.set $3 @@ -17087,8 +18933,22 @@ local.get $7 local.get $1 call $~lib/array/Array<~lib/array/Array>#join + local.set $8 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $8 local.tee $8 call $~lib/string/String.__concat + local.set $9 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $9 local.tee $9 local.tee $10 local.get $4 @@ -17113,6 +18973,13 @@ local.get $4 local.get $1 call $~lib/string/String.__concat + local.set $9 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $9 local.tee $9 local.tee $11 local.get $4 @@ -17163,8 +19030,22 @@ local.get $7 local.get $1 call $~lib/array/Array<~lib/array/Array>#join + local.set $10 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $10 local.tee $10 call $~lib/string/String.__concat + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.tee $3 local.tee $8 local.get $4 @@ -17192,7 +19073,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join (; 297 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join (; 299 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -17201,17 +19082,32 @@ local.get $1 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $1 call $~lib/rt/pure/__release local.get $2 return ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (; 298 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (; 300 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 4464 + i32.const 4392 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 ) - (func $start:std/array (; 299 ;) (type $FUNCSIG$v) + (func $start:std/array (; 301 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17266,5664 +19162,8214 @@ (local $51 i32) (local $52 i32) (local $53 i32) - (local $54 i32) + (local $54 f32) (local $55 i32) (local $56 i32) - i32.const 0 - i32.const 0 - call $~lib/array/Array#constructor - global.set $std/array/arr - i32.const 0 - call $~lib/array/Array.isArray<~lib/array/Array | null> - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 35 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array.isArray<~lib/array/Array> - i32.const 1 - i32.eq - i32.eqz - if + (local $57 i32) + block $uncaughtError i32.const 0 - i32.const 376 - i32.const 36 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $std/array/P#constructor - local.tee $0 - call $~lib/array/Array.isArray - i32.const 0 - i32.eq - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 37 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - call $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> - i32.const 0 - i32.eq - i32.eqz - if + call $~lib/array/Array#constructor + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + global.set $std/array/arr i32.const 0 - i32.const 376 - i32.const 38 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $~lib/array/Array.isArray - i32.const 0 - i32.eq - i32.eqz - if + call $~lib/array/Array.isArray<~lib/array/Array | null> i32.const 0 - i32.const 376 - i32.const 39 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 416 - call $~lib/array/Array.isArray<~lib/string/String> - i32.const 0 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 35 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array.isArray<~lib/array/Array> + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 36 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 40 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 440 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $0 - call $~lib/rt/pure/__retain - local.set $1 - local.get $1 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $1 - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 464 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $std/array/P#constructor + local.tee $0 + call $~lib/array/Array.isArray i32.const 0 - i32.const 376 - i32.const 48 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $1 - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 536 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 37 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 51 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $1 - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 560 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 1 + call $~lib/typedarray/Uint8Array#constructor + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.tee $1 + call $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> i32.const 0 - i32.const 376 - i32.const 54 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 2 - i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $1 - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 584 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 57 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $1 - i32.const 5 - i32.const 0 - i32.const 6 - i32.const 608 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $7 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 38 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $~lib/array/Array.isArray i32.const 0 - i32.const 376 - i32.const 60 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 632 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $7 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 672 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 39 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 408 + call $~lib/array/Array.isArray<~lib/string/String> i32.const 0 - i32.const 376 - i32.const 67 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const 0 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $7 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 712 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 40 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 376 - i32.const 70 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $7 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 752 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 8 + i32.const 432 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + call $~lib/rt/pure/__retain + local.set $1 + local.get $1 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + local.get $1 + i32.const 5 i32.const 0 - i32.const 376 - i32.const 73 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const 2 - i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $7 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 792 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 8 + i32.const 456 + call $~lib/rt/__allocArray + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + call $~lib/rt/pure/__retain + local.tee $3 i32.const 0 - i32.const 376 - i32.const 76 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/array/Array#fill - call $~lib/rt/pure/__release - local.get $7 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 832 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $std/array/isArraysEqual + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 376 - i32.const 79 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $6 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 0 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 48 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 376 - i32.const 85 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 0 - i32.eq - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 86 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 42 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.eq - i32.eqz - if + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + local.get $1 + i32.const 5 i32.const 0 - i32.const 376 - i32.const 90 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 1 - i32.eq - i32.eqz - if + i32.const 8 + i32.const 480 + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + call $~lib/rt/pure/__retain + local.tee $4 i32.const 0 - i32.const 376 - i32.const 91 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 1 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 376 - i32.const 92 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - local.set $2 - local.get $2 - i32.const 42 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 51 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 i32.const 0 - i32.const 376 - i32.const 96 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 0 - i32.eq - i32.eqz - if + i32.const -3 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + local.get $1 + i32.const 5 i32.const 0 - i32.const 376 - i32.const 97 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 1 - i32.eq - i32.eqz - if + i32.const 8 + i32.const 504 + call $~lib/rt/__allocArray + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + call $~lib/rt/pure/__retain + local.tee $5 i32.const 0 - i32.const 376 - i32.const 98 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - call $~lib/array/Array#push - drop - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 1 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 376 - i32.const 102 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 54 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 1 - i32.eq - i32.eqz - if + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + local.get $1 + i32.const 5 i32.const 0 - i32.const 376 - i32.const 103 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if + i32.const 8 + i32.const 528 + call $~lib/rt/__allocArray + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + call $~lib/rt/pure/__retain + local.tee $6 i32.const 0 - i32.const 376 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 44 - call $~lib/array/Array#push - drop - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 376 - i32.const 108 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 2 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 57 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 376 - i32.const 109 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if + i32.const 1 i32.const 0 - i32.const 376 - i32.const 110 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + local.get $1 + i32.const 5 i32.const 0 - i32.const 376 - i32.const 111 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 45 - call $~lib/array/Array#push - drop - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if + i32.const 8 + i32.const 552 + call $~lib/rt/__allocArray + local.set $7 + global.get $~lib/error + if + br $uncaughtError + end + local.get $7 + call $~lib/rt/pure/__retain + local.tee $7 i32.const 0 - i32.const 376 - i32.const 115 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 3 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 376 - i32.const 116 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 60 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 117 + i32.const 9 + i32.const 576 + call $~lib/rt/__allocArray + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + call $~lib/rt/pure/__retain + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + local.get $7 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if + i32.const 9 + i32.const 616 + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + call $~lib/rt/pure/__retain + local.tee $4 i32.const 0 - i32.const 376 - i32.const 118 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 i32.const 0 - i32.const 376 - i32.const 119 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 0 - call $~lib/array/Array#constructor - local.set $2 - global.get $std/array/arr - local.get $2 - call $~lib/array/Array#concat - local.set $0 - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 3 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 67 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $7 i32.const 0 - i32.const 376 - i32.const 128 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 129 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + local.get $7 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if + i32.const 9 + i32.const 656 + call $~lib/rt/__allocArray + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + call $~lib/rt/pure/__retain + local.tee $3 i32.const 0 - i32.const 376 - i32.const 130 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 920 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - call $~lib/array/Array#concat - call $~lib/rt/pure/__release - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 3 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 i32.const 0 - i32.const 376 - i32.const 133 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 70 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.const 1 i32.const 0 - i32.const 376 - i32.const 135 + i32.const -3 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + local.get $7 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if + i32.const 9 + i32.const 696 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + call $~lib/rt/pure/__retain + local.tee $1 i32.const 0 - i32.const 376 - i32.const 136 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 i32.const 0 - i32.const 376 - i32.const 137 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 73 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $7 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 46 - call $~lib/array/Array#push - drop - local.get $2 - i32.const 47 - call $~lib/array/Array#push - drop - global.get $std/array/arr - local.get $2 - call $~lib/array/Array#concat - local.set $5 - local.get $0 - call $~lib/rt/pure/__release - local.get $5 - local.set $0 - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 144 + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + local.get $7 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + i32.const 9 + i32.const 736 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 i32.const 0 - i32.const 376 - i32.const 145 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/array/Array#get:length - i32.const 5 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 i32.const 0 - i32.const 376 - i32.const 146 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 76 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $7 i32.const 0 - i32.const 376 - i32.const 147 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if + i32.const 1 i32.const 0 - i32.const 376 - i32.const 148 + call $~lib/array/Array#fill + call $~lib/rt/pure/__release + local.get $7 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.eq - i32.eqz - if + i32.const 9 + i32.const 776 + call $~lib/rt/__allocArray + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + call $~lib/rt/pure/__retain + local.tee $2 i32.const 0 - i32.const 376 - i32.const 149 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - call $~lib/array/Array#__get - i32.const 46 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 150 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - call $~lib/array/Array#__get - i32.const 47 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 151 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/array/Array#pop - drop - local.get $0 - call $~lib/array/Array#get:length - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 154 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#concat - local.set $6 - local.get $0 - call $~lib/rt/pure/__release - local.get $6 - local.set $0 - local.get $0 - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 157 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 158 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 936 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - call $~lib/rt/pure/__retain - local.set $6 - local.get $6 - call $~lib/array/Array#get:length - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 161 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $6 - global.get $std/array/arr - call $~lib/array/Array#concat - local.set $7 - local.get $0 - call $~lib/rt/pure/__release - local.get $7 - local.set $0 - local.get $0 - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 163 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $6 - call $~lib/array/Array#get:length - i32.const 0 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 i32.const 0 - i32.const 376 - i32.const 164 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - i32.const 0 - local.set $6 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 952 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - local.tee $4 - local.get $6 - local.tee $5 - i32.ne - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 79 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $6 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release local.get $4 - call $~lib/rt/pure/__retain - drop - local.get $5 call $~lib/rt/pure/__release - end - local.get $4 - local.set $6 - local.get $6 - i32.const 0 - i32.const 3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin - local.tee $4 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 992 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 172 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1032 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - local.tee $1 - local.get $6 - local.tee $5 - i32.ne - if + local.get $3 + call $~lib/rt/pure/__release local.get $1 - call $~lib/rt/pure/__retain - drop - local.get $5 call $~lib/rt/pure/__release - end - local.get $1 - local.set $6 - local.get $6 - i32.const 1 - i32.const 3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin - local.tee $1 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1072 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $7 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.get $0 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + global.get $std/array/arr + call $~lib/array/Array#get:length i32.const 0 - i32.const 376 - i32.const 174 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1112 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - local.tee $5 - local.get $6 - local.tee $9 - i32.ne - if - local.get $5 - call $~lib/rt/pure/__retain + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 85 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 86 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 42 + call $~lib/array/Array#push + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 drop - local.get $9 - call $~lib/rt/pure/__release - end - local.get $5 - local.set $6 - local.get $6 - i32.const 1 - i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin - local.tee $5 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1152 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $10 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 176 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1192 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $11 - local.tee $9 - local.get $6 - local.tee $12 - i32.ne - if + call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 90 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 91 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 92 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + local.get $2 + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 96 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 97 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 98 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + call $~lib/array/Array#push + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + drop + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 102 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 103 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 44 + call $~lib/array/Array#push + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + drop + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 108 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 109 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 110 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 111 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 45 + call $~lib/array/Array#push + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + drop + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 115 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 116 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 117 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 118 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 45 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 119 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 0 + call $~lib/array/Array#constructor + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + global.get $std/array/arr + local.get $2 + call $~lib/array/Array#concat + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.set $0 + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 128 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 129 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 130 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.const 2 + i32.const 3 + i32.const 864 + call $~lib/rt/__allocArray + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + call $~lib/rt/pure/__retain + local.tee $3 + call $~lib/array/Array#concat + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + call $~lib/rt/pure/__release + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 133 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 135 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 136 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/array/Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 45 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 137 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 46 + call $~lib/array/Array#push + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + drop + local.get $2 + i32.const 47 + call $~lib/array/Array#push + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + drop + global.get $std/array/arr + local.get $2 + call $~lib/array/Array#concat + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.set $5 + local.get $0 + call $~lib/rt/pure/__release + local.get $5 + local.set $0 + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 144 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/array/Array#get:length + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 145 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/array/Array#get:length + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 146 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 147 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 148 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 45 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 149 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 46 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 150 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4 + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 47 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 151 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/array/Array#pop + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + drop + local.get $0 + call $~lib/array/Array#get:length + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 154 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#concat + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + local.set $6 + local.get $0 + call $~lib/rt/pure/__release + local.get $6 + local.set $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 157 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + i32.const 45 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 158 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 2 + i32.const 3 + i32.const 880 + call $~lib/rt/__allocArray + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + call $~lib/rt/pure/__retain + local.tee $5 + call $~lib/rt/pure/__retain + local.set $6 + local.get $6 + call $~lib/array/Array#get:length + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 161 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $6 + global.get $std/array/arr + call $~lib/array/Array#concat + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.set $7 + local.get $0 + call $~lib/rt/pure/__release + local.get $7 + local.set $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 163 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $6 + call $~lib/array/Array#get:length + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 164 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + i32.const 0 + local.set $6 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 896 + call $~lib/rt/__allocArray + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + call $~lib/rt/pure/__retain + local.tee $3 + local.tee $4 + local.get $6 + local.tee $5 + i32.ne + if + local.get $4 + call $~lib/rt/pure/__retain + drop + local.get $5 + call $~lib/rt/pure/__release + end + local.get $4 + local.set $6 + local.get $6 + i32.const 0 + i32.const 3 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#copyWithin + local.tee $4 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 936 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + i32.const 0 + call $std/array/isArraysEqual + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 172 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 976 + call $~lib/rt/__allocArray + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + call $~lib/rt/pure/__retain + local.tee $2 + local.tee $1 + local.get $6 + local.tee $5 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $5 + call $~lib/rt/pure/__release + end + local.get $1 + local.set $6 + local.get $6 + i32.const 1 + i32.const 3 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#copyWithin + local.tee $1 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1016 + call $~lib/rt/__allocArray + local.set $7 + global.get $~lib/error + if + br $uncaughtError + end + local.get $7 + call $~lib/rt/pure/__retain + local.tee $7 + i32.const 0 + call $std/array/isArraysEqual + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 174 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1056 + call $~lib/rt/__allocArray + local.set $8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + call $~lib/rt/pure/__retain + local.tee $8 + local.tee $5 + local.get $6 + local.tee $9 + i32.ne + if + local.get $5 + call $~lib/rt/pure/__retain + drop + local.get $9 + call $~lib/rt/pure/__release + end + local.get $5 + local.set $6 + local.get $6 + i32.const 1 + i32.const 2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#copyWithin + local.tee $5 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1096 + call $~lib/rt/__allocArray + local.set $10 + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + call $~lib/rt/pure/__retain + local.tee $10 + i32.const 0 + call $std/array/isArraysEqual + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 176 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1136 + call $~lib/rt/__allocArray + local.set $11 + global.get $~lib/error + if + br $uncaughtError + end + local.get $11 + call $~lib/rt/pure/__retain + local.tee $11 + local.tee $9 + local.get $6 + local.tee $12 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $12 + call $~lib/rt/pure/__release + end local.get $9 + local.set $6 + local.get $6 + i32.const 2 + i32.const 2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#copyWithin + local.tee $9 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1176 + call $~lib/rt/__allocArray + local.set $13 + global.get $~lib/error + if + br $uncaughtError + end + local.get $13 + call $~lib/rt/pure/__retain + local.tee $13 + i32.const 0 + call $std/array/isArraysEqual + local.set $12 + global.get $~lib/error + if + br $uncaughtError + end + local.get $12 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 178 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1216 + call $~lib/rt/__allocArray + local.set $14 + global.get $~lib/error + if + br $uncaughtError + end + local.get $14 + call $~lib/rt/pure/__retain + local.tee $14 + local.tee $12 + local.get $6 + local.tee $15 + i32.ne + if + local.get $12 + call $~lib/rt/pure/__retain + drop + local.get $15 + call $~lib/rt/pure/__release + end + local.get $12 + local.set $6 + local.get $6 + i32.const 0 + i32.const 3 + i32.const 4 + call $~lib/array/Array#copyWithin + local.tee $12 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1256 + call $~lib/rt/__allocArray + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 + call $~lib/rt/pure/__retain + local.tee $16 + i32.const 0 + call $std/array/isArraysEqual + local.set $15 + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 180 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1296 + call $~lib/rt/__allocArray + local.set $17 + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + call $~lib/rt/pure/__retain + local.tee $17 + local.tee $15 + local.get $6 + local.tee $18 + i32.ne + if + local.get $15 + call $~lib/rt/pure/__retain + drop + local.get $18 + call $~lib/rt/pure/__release + end + local.get $15 + local.set $6 + local.get $6 + i32.const 1 + i32.const 3 + i32.const 4 + call $~lib/array/Array#copyWithin + local.tee $15 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1336 + call $~lib/rt/__allocArray + local.set $19 + global.get $~lib/error + if + br $uncaughtError + end + local.get $19 + call $~lib/rt/pure/__retain + local.tee $19 + i32.const 0 + call $std/array/isArraysEqual + local.set $18 + global.get $~lib/error + if + br $uncaughtError + end + local.get $18 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 182 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1376 + call $~lib/rt/__allocArray + local.set $20 + global.get $~lib/error + if + br $uncaughtError + end + local.get $20 + call $~lib/rt/pure/__retain + local.tee $20 + local.tee $18 + local.get $6 + local.tee $21 + i32.ne + if + local.get $18 + call $~lib/rt/pure/__retain + drop + local.get $21 + call $~lib/rt/pure/__release + end + local.get $18 + local.set $6 + local.get $6 + i32.const 1 + i32.const 2 + i32.const 4 + call $~lib/array/Array#copyWithin + local.tee $18 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1416 + call $~lib/rt/__allocArray + local.set $22 + global.get $~lib/error + if + br $uncaughtError + end + local.get $22 + call $~lib/rt/pure/__retain + local.tee $22 + i32.const 0 + call $std/array/isArraysEqual + local.set $21 + global.get $~lib/error + if + br $uncaughtError + end + local.get $21 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 184 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1456 + call $~lib/rt/__allocArray + local.set $23 + global.get $~lib/error + if + br $uncaughtError + end + local.get $23 + call $~lib/rt/pure/__retain + local.tee $23 + local.tee $21 + local.get $6 + local.tee $24 + i32.ne + if + local.get $21 + call $~lib/rt/pure/__retain + drop + local.get $24 + call $~lib/rt/pure/__release + end + local.get $21 + local.set $6 + local.get $6 + i32.const 0 + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#copyWithin + local.tee $21 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1496 + call $~lib/rt/__allocArray + local.set $25 + global.get $~lib/error + if + br $uncaughtError + end + local.get $25 + call $~lib/rt/pure/__retain + local.tee $25 + i32.const 0 + call $std/array/isArraysEqual + local.set $24 + global.get $~lib/error + if + br $uncaughtError + end + local.get $24 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 186 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1536 + call $~lib/rt/__allocArray + local.set $26 + global.get $~lib/error + if + br $uncaughtError + end + local.get $26 + call $~lib/rt/pure/__retain + local.tee $26 + local.tee $24 + local.get $6 + local.tee $27 + i32.ne + if + local.get $24 + call $~lib/rt/pure/__retain + drop + local.get $27 + call $~lib/rt/pure/__release + end + local.get $24 + local.set $6 + local.get $6 + i32.const 0 + i32.const -2 + i32.const -1 + call $~lib/array/Array#copyWithin + local.tee $24 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1576 + call $~lib/rt/__allocArray + local.set $28 + global.get $~lib/error + if + br $uncaughtError + end + local.get $28 + call $~lib/rt/pure/__retain + local.tee $28 + i32.const 0 + call $std/array/isArraysEqual + local.set $27 + global.get $~lib/error + if + br $uncaughtError + end + local.get $27 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 188 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1616 + call $~lib/rt/__allocArray + local.set $29 + global.get $~lib/error + if + br $uncaughtError + end + local.get $29 + call $~lib/rt/pure/__retain + local.tee $29 + local.tee $27 + local.get $6 + local.tee $30 + i32.ne + if + local.get $27 + call $~lib/rt/pure/__retain + drop + local.get $30 + call $~lib/rt/pure/__release + end + local.get $27 + local.set $6 + local.get $6 + i32.const -4 + i32.const -3 + i32.const -2 + call $~lib/array/Array#copyWithin + local.tee $27 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1656 + call $~lib/rt/__allocArray + local.set $31 + global.get $~lib/error + if + br $uncaughtError + end + local.get $31 + call $~lib/rt/pure/__retain + local.tee $31 + i32.const 0 + call $std/array/isArraysEqual + local.set $30 + global.get $~lib/error + if + br $uncaughtError + end + local.get $30 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 190 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1696 + call $~lib/rt/__allocArray + local.set $32 + global.get $~lib/error + if + br $uncaughtError + end + local.get $32 + call $~lib/rt/pure/__retain + local.tee $32 + local.tee $30 + local.get $6 + local.tee $33 + i32.ne + if + local.get $30 + call $~lib/rt/pure/__retain + drop + local.get $33 + call $~lib/rt/pure/__release + end + local.get $30 + local.set $6 + local.get $6 + i32.const -4 + i32.const -3 + i32.const -1 + call $~lib/array/Array#copyWithin + local.tee $30 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1736 + call $~lib/rt/__allocArray + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 + call $~lib/rt/pure/__retain + local.tee $34 + i32.const 0 + call $std/array/isArraysEqual + local.set $33 + global.get $~lib/error + if + br $uncaughtError + end + local.get $33 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 192 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1776 + call $~lib/rt/__allocArray + local.set $35 + global.get $~lib/error + if + br $uncaughtError + end + local.get $35 call $~lib/rt/pure/__retain - drop + local.tee $35 + local.tee $33 + local.get $6 + local.tee $36 + i32.ne + if + local.get $33 + call $~lib/rt/pure/__retain + drop + local.get $36 + call $~lib/rt/pure/__release + end + local.get $33 + local.set $6 + local.get $6 + i32.const -4 + i32.const -3 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#copyWithin + local.tee $33 + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1816 + call $~lib/rt/__allocArray + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + call $~lib/rt/pure/__retain + local.tee $37 + i32.const 0 + call $std/array/isArraysEqual + local.set $36 + global.get $~lib/error + if + br $uncaughtError + end + local.get $36 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 194 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $6 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release local.get $12 call $~lib/rt/pure/__release - end - local.get $9 - local.set $6 - local.get $6 - i32.const 2 - i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin - local.tee $9 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1232 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $13 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.get $16 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + local.get $19 + call $~lib/rt/pure/__release + local.get $20 + call $~lib/rt/pure/__release + local.get $18 + call $~lib/rt/pure/__release + local.get $22 + call $~lib/rt/pure/__release + local.get $23 + call $~lib/rt/pure/__release + local.get $21 + call $~lib/rt/pure/__release + local.get $25 + call $~lib/rt/pure/__release + local.get $26 + call $~lib/rt/pure/__release + local.get $24 + call $~lib/rt/pure/__release + local.get $28 + call $~lib/rt/pure/__release + local.get $29 + call $~lib/rt/pure/__release + local.get $27 + call $~lib/rt/pure/__release + local.get $31 + call $~lib/rt/pure/__release + local.get $32 + call $~lib/rt/pure/__release + local.get $30 + call $~lib/rt/pure/__release + local.get $34 + call $~lib/rt/pure/__release + local.get $35 + call $~lib/rt/pure/__release + local.get $33 + call $~lib/rt/pure/__release + local.get $37 + call $~lib/rt/pure/__release + global.get $std/array/arr + i32.const 42 + call $~lib/array/Array#unshift + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + drop + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 202 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 203 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 204 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 205 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 206 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 45 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 207 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 41 + call $~lib/array/Array#unshift + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + drop + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 211 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 212 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 41 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 213 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 214 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 215 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 216 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 4 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 45 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 217 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#shift + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + global.set $std/array/i + global.get $std/array/i + i32.const 41 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 226 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 227 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 228 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 229 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 230 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 231 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 45 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 232 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + global.set $std/array/i + global.get $std/array/i + i32.const 45 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 236 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 237 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 238 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 239 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 240 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 241 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#reverse + call $~lib/rt/pure/__release + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 249 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 250 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 0 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 251 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 252 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#__get + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 253 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + call $~lib/array/Array#push + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + drop + global.get $std/array/arr + i32.const 44 + call $~lib/array/Array#push + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + drop + global.get $std/array/arr + i32.const 44 + i32.const 0 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 263 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 42 + i32.const 0 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 266 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 45 + i32.const 0 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 269 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const 100 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 272 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -100 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 275 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -2 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 278 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -4 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 281 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 i32.const 0 - i32.const 376 - i32.const 178 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 284 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const 1 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 287 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1272 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $14 - local.tee $12 - local.get $6 - local.tee $15 - i32.ne - if - local.get $12 - call $~lib/rt/pure/__retain - drop - local.get $15 - call $~lib/rt/pure/__release - end - local.get $12 - local.set $6 - local.get $6 - i32.const 0 - i32.const 3 - i32.const 4 - call $~lib/array/Array#copyWithin - local.tee $12 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1312 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $16 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 290 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 44 i32.const 0 - i32.const 376 - i32.const 180 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1352 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $17 - local.tee $15 - local.get $6 - local.tee $18 - i32.ne - if - local.get $15 - call $~lib/rt/pure/__retain - drop - local.get $18 - call $~lib/rt/pure/__release - end - local.get $15 - local.set $6 - local.get $6 - i32.const 1 - i32.const 3 - i32.const 4 - call $~lib/array/Array#copyWithin - local.tee $15 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1392 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $19 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#includes + local.set $37 + local.get $37 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 297 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 42 i32.const 0 - i32.const 376 - i32.const 182 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1432 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $20 - local.tee $18 - local.get $6 - local.tee $21 - i32.ne - if - local.get $18 - call $~lib/rt/pure/__retain - drop - local.get $21 - call $~lib/rt/pure/__release - end - local.get $18 - local.set $6 - local.get $6 - i32.const 1 - i32.const 2 - i32.const 4 - call $~lib/array/Array#copyWithin - local.tee $18 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1472 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $22 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#includes + local.set $37 + local.get $37 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 300 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 45 i32.const 0 - i32.const 376 - i32.const 184 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1512 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $23 - local.tee $21 - local.get $6 - local.tee $24 - i32.ne - if - local.get $21 - call $~lib/rt/pure/__retain - drop - local.get $24 - call $~lib/rt/pure/__release - end - local.get $21 - local.set $6 - local.get $6 - i32.const 0 - i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin - local.tee $21 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1552 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $25 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/array/Array#includes + local.set $37 + local.get $37 i32.const 0 - i32.const 376 - i32.const 186 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1592 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $26 - local.tee $24 - local.get $6 - local.tee $27 - i32.ne - if - local.get $24 - call $~lib/rt/pure/__retain - drop - local.get $27 - call $~lib/rt/pure/__release - end - local.get $24 - local.set $6 - local.get $6 - i32.const 0 - i32.const -2 - i32.const -1 - call $~lib/array/Array#copyWithin - local.tee $24 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1632 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $28 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 303 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const 100 + call $~lib/array/Array#includes + local.set $37 + local.get $37 i32.const 0 - i32.const 376 - i32.const 188 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1672 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $29 - local.tee $27 - local.get $6 - local.tee $30 - i32.ne - if - local.get $27 - call $~lib/rt/pure/__retain - drop - local.get $30 - call $~lib/rt/pure/__release - end - local.get $27 - local.set $6 - local.get $6 - i32.const -4 - i32.const -3 - i32.const -2 - call $~lib/array/Array#copyWithin - local.tee $27 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1712 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $31 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 306 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -100 + call $~lib/array/Array#includes + local.set $37 + local.get $37 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 309 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -2 + call $~lib/array/Array#includes + local.set $37 + local.get $37 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 312 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const -4 + call $~lib/array/Array#includes + local.set $37 + local.get $37 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 315 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 i32.const 0 - i32.const 376 - i32.const 190 + call $~lib/array/Array#includes + local.set $37 + local.get $37 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 318 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 + i32.const 1 + call $~lib/array/Array#includes + local.set $37 + local.get $37 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 321 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 43 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1752 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $32 - local.tee $30 - local.get $6 - local.tee $33 - i32.ne - if - local.get $30 - call $~lib/rt/pure/__retain - drop + call $~lib/array/Array#includes + local.set $37 + local.get $37 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 324 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + i32.const 1 + call $~lib/array/Array#splice + local.set $33 + global.get $~lib/error + if + br $uncaughtError + end local.get $33 call $~lib/rt/pure/__release - end - local.get $30 - local.set $6 - local.get $6 - i32.const -4 - i32.const -3 - i32.const -1 - call $~lib/array/Array#copyWithin - local.tee $30 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1792 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $34 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 328 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $std/array/internalCapacity + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 329 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 192 + call $~lib/array/Array#__get + local.set $33 + global.get $~lib/error + if + br $uncaughtError + end + local.get $33 + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 330 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#__get + local.set $33 + global.get $~lib/error + if + br $uncaughtError + end + local.get $33 + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 331 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1832 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $35 - local.tee $33 - local.get $6 - local.tee $36 - i32.ne - if + i32.const 3 + i32.const 1856 + call $~lib/rt/__allocArray + local.set $33 + global.get $~lib/error + if + br $uncaughtError + end local.get $33 call $~lib/rt/pure/__retain - drop - local.get $36 - call $~lib/rt/pure/__release - end - local.get $33 - local.set $6 - local.get $6 - i32.const -4 - i32.const -3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin - local.tee $33 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1872 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $37 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 194 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $6 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $16 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release - local.get $20 - call $~lib/rt/pure/__release - local.get $18 - call $~lib/rt/pure/__release - local.get $22 - call $~lib/rt/pure/__release - local.get $23 - call $~lib/rt/pure/__release - local.get $21 - call $~lib/rt/pure/__release - local.get $25 - call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release - local.get $24 - call $~lib/rt/pure/__release - local.get $28 - call $~lib/rt/pure/__release - local.get $29 - call $~lib/rt/pure/__release - local.get $27 - call $~lib/rt/pure/__release - local.get $31 - call $~lib/rt/pure/__release - local.get $32 - call $~lib/rt/pure/__release - local.get $30 - call $~lib/rt/pure/__release - local.get $34 - call $~lib/rt/pure/__release - local.get $35 - call $~lib/rt/pure/__release - local.get $33 - call $~lib/rt/pure/__release - local.get $37 - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.const 42 - call $~lib/array/Array#unshift - drop - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 202 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 203 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.eq - i32.eqz - if + local.tee $33 + call $~lib/rt/pure/__retain + local.set $37 + local.get $37 i32.const 0 - i32.const 376 - i32.const 204 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#splice + local.set $35 + global.get $~lib/error + if + br $uncaughtError + end + local.get $35 + local.tee $35 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 1896 + call $~lib/rt/__allocArray + local.set $30 + global.get $~lib/error + if + br $uncaughtError + end + local.get $30 + call $~lib/rt/pure/__retain + local.tee $30 i32.const 0 - i32.const 376 - i32.const 205 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 206 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#__get - i32.const 45 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 338 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 i32.const 0 - i32.const 376 - i32.const 207 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 41 - call $~lib/array/Array#unshift - drop - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 5 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 1936 + call $~lib/rt/__allocArray + local.set $32 + global.get $~lib/error + if + br $uncaughtError + end + local.get $32 + call $~lib/rt/pure/__retain + local.tee $32 i32.const 0 - i32.const 376 - i32.const 211 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 5 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 212 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 339 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 41 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 213 + i32.const 3 + i32.const 1952 + call $~lib/rt/__allocArray + local.set $31 + global.get $~lib/error + if + br $uncaughtError + end + local.get $31 + call $~lib/rt/pure/__retain + local.tee $31 + local.tee $36 + local.get $37 + local.tee $34 + i32.ne + if + local.get $36 + call $~lib/rt/pure/__retain + drop + local.get $34 + call $~lib/rt/pure/__release + end + local.get $36 + local.set $37 + local.get $37 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 42 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 214 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#splice + local.set $36 + global.get $~lib/error + if + br $uncaughtError + end + local.get $36 + local.tee $36 + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 1992 + call $~lib/rt/__allocArray + local.set $27 + global.get $~lib/error + if + br $uncaughtError + end + local.get $27 + call $~lib/rt/pure/__retain + local.tee $27 i32.const 0 - i32.const 376 - i32.const 215 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 216 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 342 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 4 - call $~lib/array/Array#__get - i32.const 45 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 217 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#shift - global.set $std/array/i - global.get $std/array/i - i32.const 41 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2024 + call $~lib/rt/__allocArray + local.set $29 + global.get $~lib/error + if + br $uncaughtError + end + local.get $29 + call $~lib/rt/pure/__retain + local.tee $29 i32.const 0 - i32.const 376 - i32.const 226 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 4 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 227 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 343 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 228 + i32.const 3 + i32.const 2048 + call $~lib/rt/__allocArray + local.set $28 + global.get $~lib/error + if + br $uncaughtError + end + local.get $28 + call $~lib/rt/pure/__retain + local.tee $28 + local.tee $6 + local.get $37 + local.tee $34 + i32.ne + if + local.get $6 + call $~lib/rt/pure/__retain + drop + local.get $34 + call $~lib/rt/pure/__release + end + local.get $6 + local.set $37 + local.get $37 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 229 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 230 + call $~lib/array/Array#splice + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + local.tee $6 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 231 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#__get - i32.const 45 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2088 + call $~lib/rt/__allocArray + local.set $24 + global.get $~lib/error + if + br $uncaughtError + end + local.get $24 + call $~lib/rt/pure/__retain + local.tee $24 + i32.const 0 + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 232 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 346 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - global.set $std/array/i - global.get $std/array/i - i32.const 45 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2112 + call $~lib/rt/__allocArray + local.set $26 + global.get $~lib/error + if + br $uncaughtError + end + local.get $26 + call $~lib/rt/pure/__retain + local.tee $26 i32.const 0 - i32.const 376 - i32.const 236 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 237 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 347 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 5 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2144 + call $~lib/rt/__allocArray + local.set $25 + global.get $~lib/error + if + br $uncaughtError + end + local.get $25 + call $~lib/rt/pure/__retain + local.tee $25 + local.tee $3 + local.get $37 + local.tee $34 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $34 + call $~lib/rt/pure/__release + end + local.get $3 + local.set $37 + local.get $37 i32.const 0 - i32.const 376 - i32.const 238 + i32.const 1 + call $~lib/array/Array#splice + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + local.tee $3 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2184 + call $~lib/rt/__allocArray + local.set $21 + global.get $~lib/error + if + br $uncaughtError + end + local.get $21 + call $~lib/rt/pure/__retain + local.tee $21 i32.const 0 - i32.const 376 - i32.const 239 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 240 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 350 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2208 + call $~lib/rt/__allocArray + local.set $23 + global.get $~lib/error + if + br $uncaughtError + end + local.get $23 + call $~lib/rt/pure/__retain + local.tee $23 i32.const 0 - i32.const 376 - i32.const 241 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#reverse - call $~lib/rt/pure/__release - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 3 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 249 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 351 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 250 + i32.const 3 + i32.const 2240 + call $~lib/rt/__allocArray + local.set $22 + global.get $~lib/error + if + br $uncaughtError + end + local.get $22 + call $~lib/rt/pure/__retain + local.tee $22 + local.tee $4 + local.get $37 + local.tee $34 + i32.ne + if + local.get $4 + call $~lib/rt/pure/__retain + drop + local.get $34 + call $~lib/rt/pure/__release + end + local.get $4 + local.set $37 + local.get $37 + i32.const -1 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#splice + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + local.tee $4 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2280 + call $~lib/rt/__allocArray + local.set $18 + global.get $~lib/error + if + br $uncaughtError + end + local.get $18 + call $~lib/rt/pure/__retain + local.tee $18 i32.const 0 - i32.const 376 - i32.const 251 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 252 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 354 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#__get - i32.const 42 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2304 + call $~lib/rt/__allocArray + local.set $20 + global.get $~lib/error + if + br $uncaughtError + end + local.get $20 + call $~lib/rt/pure/__retain + local.tee $20 i32.const 0 - i32.const 376 - i32.const 253 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 44 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 44 - i32.const 0 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 0 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 263 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 355 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 2336 + call $~lib/rt/__allocArray + local.set $19 + global.get $~lib/error + if + br $uncaughtError + end + local.get $19 + call $~lib/rt/pure/__retain + local.tee $19 + local.tee $0 + local.get $37 + local.tee $34 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $34 + call $~lib/rt/pure/__release + end + local.get $0 + local.set $37 + local.get $37 + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/array/Array#splice + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.tee $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 42 - i32.const 0 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 266 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 45 - i32.const 0 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2376 + call $~lib/rt/__allocArray + local.set $15 + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + call $~lib/rt/pure/__retain + local.tee $15 i32.const 0 - i32.const 376 - i32.const 269 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 100 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 272 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 358 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -100 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2400 + call $~lib/rt/__allocArray + local.set $17 + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + call $~lib/rt/pure/__retain + local.tee $17 i32.const 0 - i32.const 376 - i32.const 275 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -2 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 3 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 278 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 359 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -4 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 281 + i32.const 3 + i32.const 2432 + call $~lib/rt/__allocArray + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 + call $~lib/rt/pure/__retain + local.tee $16 + local.tee $2 + local.get $37 + local.tee $34 + i32.ne + if + local.get $2 + call $~lib/rt/pure/__retain + drop + local.get $34 + call $~lib/rt/pure/__release + end + local.get $2 + local.set $37 + local.get $37 + i32.const -2 + i32.const 1 + call $~lib/array/Array#splice + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.tee $2 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 0 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2472 + call $~lib/rt/__allocArray + local.set $12 + global.get $~lib/error + if + br $uncaughtError + end + local.get $12 + call $~lib/rt/pure/__retain + local.tee $12 i32.const 0 - i32.const 376 - i32.const 284 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 1 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 287 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 362 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 2 - call $~lib/array/Array#indexOf - global.set $std/array/i - global.get $std/array/i - i32.const 3 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2496 + call $~lib/rt/__allocArray + local.set $14 + global.get $~lib/error + if + br $uncaughtError + end + local.get $14 + call $~lib/rt/pure/__retain + local.tee $14 i32.const 0 - i32.const 376 - i32.const 290 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 44 - i32.const 0 - call $~lib/array/Array#includes - local.set $37 - local.get $37 - i32.const 1 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 297 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 363 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 42 - i32.const 0 - call $~lib/array/Array#includes - local.set $37 - local.get $37 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 300 + i32.const 3 + i32.const 2528 + call $~lib/rt/__allocArray + local.set $13 + global.get $~lib/error + if + br $uncaughtError + end + local.get $13 + call $~lib/rt/pure/__retain + local.tee $13 + local.tee $1 + local.get $37 + local.tee $34 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $34 + call $~lib/rt/pure/__release + end + local.get $1 + local.set $37 + local.get $37 + i32.const -7 + i32.const 1 + call $~lib/array/Array#splice + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.tee $1 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 45 - i32.const 0 - call $~lib/array/Array#includes - local.set $37 - local.get $37 - i32.const 0 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2568 + call $~lib/rt/__allocArray + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 + call $~lib/rt/pure/__retain + local.tee $9 i32.const 0 - i32.const 376 - i32.const 303 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 100 - call $~lib/array/Array#includes - local.set $37 - local.get $37 - i32.const 0 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 306 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 366 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -100 - call $~lib/array/Array#includes - local.set $37 - local.get $37 - i32.const 1 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2592 + call $~lib/rt/__allocArray + local.set $11 + global.get $~lib/error + if + br $uncaughtError + end + local.get $11 + call $~lib/rt/pure/__retain + local.tee $11 i32.const 0 - i32.const 376 - i32.const 309 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -2 - call $~lib/array/Array#includes - local.set $37 - local.get $37 - i32.const 1 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 312 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 367 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const -4 - call $~lib/array/Array#includes - local.set $37 - local.get $37 - i32.const 1 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2624 + call $~lib/rt/__allocArray + local.set $10 + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + call $~lib/rt/pure/__retain + local.tee $10 + local.tee $7 + local.get $37 + local.tee $34 + i32.ne + if + local.get $7 + call $~lib/rt/pure/__retain + drop + local.get $34 + call $~lib/rt/pure/__release + end + local.get $7 + local.set $37 + local.get $37 + i32.const -2 + i32.const -1 + call $~lib/array/Array#splice + local.set $7 + global.get $~lib/error + if + br $uncaughtError + end + local.get $7 + local.tee $7 i32.const 0 - i32.const 376 - i32.const 315 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 0 - call $~lib/array/Array#includes - local.set $37 - local.get $37 - i32.const 1 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2664 + call $~lib/rt/__allocArray + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + call $~lib/rt/pure/__retain + local.tee $5 i32.const 0 - i32.const 376 - i32.const 318 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 1 - call $~lib/array/Array#includes - local.set $37 - local.get $37 - i32.const 1 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 321 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 370 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 43 - i32.const 2 - call $~lib/array/Array#includes - local.set $37 - local.get $37 - i32.const 1 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2680 + call $~lib/rt/__allocArray + local.set $8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + call $~lib/rt/pure/__retain + local.tee $8 i32.const 0 - i32.const 376 - i32.const 324 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - i32.const 1 - call $~lib/array/Array#splice - call $~lib/rt/pure/__release - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 4 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 i32.const 0 - i32.const 376 - i32.const 328 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 371 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $std/array/internalCapacity - i32.const 5 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2720 + call $~lib/rt/__allocArray + local.set $38 + global.get $~lib/error + if + br $uncaughtError + end + local.get $38 + call $~lib/rt/pure/__retain + local.tee $38 + local.tee $34 + local.get $37 + local.tee $39 + i32.ne + if + local.get $34 + call $~lib/rt/pure/__retain + drop + local.get $39 + call $~lib/rt/pure/__release + end + local.get $34 + local.set $37 + local.get $37 + i32.const 1 + i32.const -2 + call $~lib/array/Array#splice + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 + local.tee $34 i32.const 0 - i32.const 376 - i32.const 329 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 44 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 2760 + call $~lib/rt/__allocArray + local.set $40 + global.get $~lib/error + if + br $uncaughtError + end + local.get $40 + call $~lib/rt/pure/__retain + local.tee $40 i32.const 0 - i32.const 376 - i32.const 330 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#__get - i32.const 42 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $39 + global.get $~lib/error + if + br $uncaughtError + end + local.get $39 i32.const 0 - i32.const 376 - i32.const 331 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 374 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1912 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $33 - call $~lib/rt/pure/__retain - local.set $37 - local.get $37 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice - local.tee $35 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1952 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $30 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 3 + i32.const 2776 + call $~lib/rt/__allocArray + local.set $41 + global.get $~lib/error + if + br $uncaughtError + end + local.get $41 + call $~lib/rt/pure/__retain + local.tee $41 + i32.const 0 + call $std/array/isArraysEqual + local.set $39 + global.get $~lib/error + if + br $uncaughtError + end + local.get $39 i32.const 0 - i32.const 376 - i32.const 338 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 375 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 1992 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $32 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 3 + i32.const 2816 + call $~lib/rt/__allocArray + local.set $42 + global.get $~lib/error + if + br $uncaughtError + end + local.get $42 + call $~lib/rt/pure/__retain + local.tee $42 + local.tee $39 + local.get $37 + local.tee $43 + i32.ne + if + local.get $39 + call $~lib/rt/pure/__retain + drop + local.get $43 + call $~lib/rt/pure/__release + end + local.get $39 + local.set $37 + local.get $37 + i32.const 4 + i32.const 0 + call $~lib/array/Array#splice + local.set $39 + global.get $~lib/error + if + br $uncaughtError + end + local.get $39 + local.tee $39 i32.const 0 - i32.const 376 - i32.const 339 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2008 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $31 - local.tee $36 - local.get $37 - local.tee $34 - i32.ne - if - local.get $36 + i32.const 3 + i32.const 2856 + call $~lib/rt/__allocArray + local.set $44 + global.get $~lib/error + if + br $uncaughtError + end + local.get $44 call $~lib/rt/pure/__retain - drop - local.get $34 - call $~lib/rt/pure/__release - end - local.get $36 - local.set $37 - local.get $37 - i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice - local.tee $36 - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 2048 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $27 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $44 i32.const 0 - i32.const 376 - i32.const 342 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 2080 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $29 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $std/array/isArraysEqual + local.set $43 + global.get $~lib/error + if + br $uncaughtError + end + local.get $43 i32.const 0 - i32.const 376 - i32.const 343 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 378 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2104 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $28 - local.tee $6 - local.get $37 - local.tee $34 - i32.ne - if - local.get $6 + i32.const 3 + i32.const 2872 + call $~lib/rt/__allocArray + local.set $45 + global.get $~lib/error + if + br $uncaughtError + end + local.get $45 call $~lib/rt/pure/__retain - drop - local.get $34 - call $~lib/rt/pure/__release - end - local.get $6 - local.set $37 - local.get $37 - i32.const 2 - i32.const 2 - call $~lib/array/Array#splice - local.tee $6 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 2144 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $24 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $45 + i32.const 0 + call $std/array/isArraysEqual + local.set $43 + global.get $~lib/error + if + br $uncaughtError + end + local.get $43 i32.const 0 - i32.const 376 - i32.const 346 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 379 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 2168 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $26 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 3 + i32.const 2912 + call $~lib/rt/__allocArray + local.set $46 + global.get $~lib/error + if + br $uncaughtError + end + local.get $46 + call $~lib/rt/pure/__retain + local.tee $46 + local.tee $43 + local.get $37 + local.tee $47 + i32.ne + if + local.get $43 + call $~lib/rt/pure/__retain + drop + local.get $47 + call $~lib/rt/pure/__release + end + local.get $43 + local.set $37 + local.get $37 + i32.const 7 + i32.const 0 + call $~lib/array/Array#splice + local.set $43 + global.get $~lib/error + if + br $uncaughtError + end + local.get $43 + local.tee $43 i32.const 0 - i32.const 376 - i32.const 347 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2200 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $25 - local.tee $3 - local.get $37 - local.tee $34 - i32.ne - if - local.get $3 + i32.const 3 + i32.const 2952 + call $~lib/rt/__allocArray + local.set $48 + global.get $~lib/error + if + br $uncaughtError + end + local.get $48 call $~lib/rt/pure/__retain - drop - local.get $34 - call $~lib/rt/pure/__release - end - local.get $3 - local.set $37 - local.get $37 - i32.const 0 - i32.const 1 - call $~lib/array/Array#splice - local.tee $3 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 2240 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $21 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $48 + i32.const 0 + call $std/array/isArraysEqual + local.set $47 + global.get $~lib/error + if + br $uncaughtError + end + local.get $47 i32.const 0 - i32.const 376 - i32.const 350 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 382 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 2264 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $23 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 3 + i32.const 2968 + call $~lib/rt/__allocArray + local.set $49 + global.get $~lib/error + if + br $uncaughtError + end + local.get $49 + call $~lib/rt/pure/__retain + local.tee $49 + i32.const 0 + call $std/array/isArraysEqual + local.set $47 + global.get $~lib/error + if + br $uncaughtError + end + local.get $47 i32.const 0 - i32.const 376 - i32.const 351 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 383 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2296 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $22 - local.tee $4 - local.get $37 - local.tee $34 - i32.ne - if - local.get $4 + i32.const 3 + i32.const 3008 + call $~lib/rt/__allocArray + local.set $50 + global.get $~lib/error + if + br $uncaughtError + end + local.get $50 call $~lib/rt/pure/__retain - drop - local.get $34 - call $~lib/rt/pure/__release - end - local.get $4 - local.set $37 - local.get $37 - i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice - local.tee $4 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 2336 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $18 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.tee $50 + local.tee $47 + local.get $37 + local.tee $51 + i32.ne + if + local.get $47 + call $~lib/rt/pure/__retain + drop + local.get $51 + call $~lib/rt/pure/__release + end + local.get $47 + local.set $37 + local.get $37 + i32.const 7 + i32.const 5 + call $~lib/array/Array#splice + local.set $47 + global.get $~lib/error + if + br $uncaughtError + end + local.get $47 + local.tee $47 i32.const 0 - i32.const 376 - i32.const 354 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 2360 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $20 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 3 + i32.const 3048 + call $~lib/rt/__allocArray + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + call $~lib/rt/pure/__retain + local.tee $52 + i32.const 0 + call $std/array/isArraysEqual + local.set $51 + global.get $~lib/error + if + br $uncaughtError + end + local.get $51 i32.const 0 - i32.const 376 - i32.const 355 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 386 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $37 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2392 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $19 - local.tee $0 - local.get $37 - local.tee $34 - i32.ne - if - local.get $0 + i32.const 3 + i32.const 3064 + call $~lib/rt/__allocArray + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 call $~lib/rt/pure/__retain - drop + local.tee $53 + i32.const 0 + call $std/array/isArraysEqual + local.set $51 + global.get $~lib/error + if + br $uncaughtError + end + local.get $51 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 387 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $33 + call $~lib/rt/pure/__release + local.get $37 + call $~lib/rt/pure/__release + local.get $35 + call $~lib/rt/pure/__release + local.get $30 + call $~lib/rt/pure/__release + local.get $32 + call $~lib/rt/pure/__release + local.get $31 + call $~lib/rt/pure/__release + local.get $36 + call $~lib/rt/pure/__release + local.get $27 + call $~lib/rt/pure/__release + local.get $29 + call $~lib/rt/pure/__release + local.get $28 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $24 + call $~lib/rt/pure/__release + local.get $26 + call $~lib/rt/pure/__release + local.get $25 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $21 + call $~lib/rt/pure/__release + local.get $23 + call $~lib/rt/pure/__release + local.get $22 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $18 + call $~lib/rt/pure/__release + local.get $20 + call $~lib/rt/pure/__release + local.get $19 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $16 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $38 + call $~lib/rt/pure/__release local.get $34 call $~lib/rt/pure/__release - end - local.get $0 - local.set $37 - local.get $37 - i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice - local.tee $0 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 2432 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $15 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + local.get $40 + call $~lib/rt/pure/__release + local.get $41 + call $~lib/rt/pure/__release + local.get $42 + call $~lib/rt/pure/__release + local.get $39 + call $~lib/rt/pure/__release + local.get $44 + call $~lib/rt/pure/__release + local.get $45 + call $~lib/rt/pure/__release + local.get $46 + call $~lib/rt/pure/__release + local.get $43 + call $~lib/rt/pure/__release + local.get $48 + call $~lib/rt/pure/__release + local.get $49 + call $~lib/rt/pure/__release + local.get $50 + call $~lib/rt/pure/__release + local.get $47 + call $~lib/rt/pure/__release + local.get $52 + call $~lib/rt/pure/__release + local.get $53 + call $~lib/rt/pure/__release + global.get $std/array/arr + i32.const 0 i32.const 0 - i32.const 376 - i32.const 358 + call $~lib/array/Array#__set + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array/arr + i32.const 1 + i32.const 1 + call $~lib/array/Array#__set + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 2456 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $17 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 2 + call $~lib/array/Array#__set + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array/arr + i32.const 3 + i32.const 3 + call $~lib/array/Array#__set + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#findIndex + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + global.set $std/array/i + global.get $std/array/i i32.const 0 - i32.const 376 - i32.const 359 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 400 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2488 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $16 - local.tee $2 - local.get $37 - local.tee $34 - i32.ne - if - local.get $2 - call $~lib/rt/pure/__retain + call $~lib/array/Array#findIndex + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 403 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#findIndex + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 406 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 4 + call $~lib/array/Array#findIndex + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 414 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 415 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 5 + call $~lib/array/Array#findIndex + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 417 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 drop - local.get $34 - call $~lib/rt/pure/__release - end - local.get $2 - local.set $37 - local.get $37 - i32.const -2 - i32.const 1 - call $~lib/array/Array#splice - local.tee $2 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 2528 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $12 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 362 + global.get $std/array/arr + i32.const 6 + call $~lib/array/Array#findIndex + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 430 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 2552 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $14 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 363 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 431 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2584 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $13 - local.tee $1 - local.get $37 - local.tee $34 - i32.ne - if - local.get $1 - call $~lib/rt/pure/__retain + call $~lib/array/Array#push + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 drop - local.get $34 - call $~lib/rt/pure/__release - end - local.get $1 - local.set $37 - local.get $37 - i32.const -7 - i32.const 1 - call $~lib/array/Array#splice - local.tee $1 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 2624 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $9 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 366 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 2648 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $11 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 367 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2680 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $10 - local.tee $7 - local.get $37 - local.tee $34 - i32.ne - if - local.get $7 - call $~lib/rt/pure/__retain + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 drop - local.get $34 - call $~lib/rt/pure/__release - end - local.get $7 - local.set $37 - local.get $37 - i32.const -2 - i32.const -1 - call $~lib/array/Array#splice - local.tee $7 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 2720 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + global.get $std/array/arr + i32.const 7 + call $~lib/array/Array#every + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 370 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2736 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 441 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 8 + call $~lib/array/Array#every + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 371 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2776 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $38 - local.tee $34 - local.get $37 - local.tee $39 - i32.ne - if - local.get $34 - call $~lib/rt/pure/__retain - drop - local.get $39 - call $~lib/rt/pure/__release - end - local.get $34 - local.set $37 - local.get $37 - i32.const 1 - i32.const -2 - call $~lib/array/Array#splice - local.tee $34 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 2816 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $40 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.ne i32.const 0 - i32.const 376 - i32.const 374 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2832 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $41 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 444 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 9 + call $~lib/array/Array#every + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 375 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2872 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $42 - local.tee $39 - local.get $37 - local.tee $43 - i32.ne - if - local.get $39 - call $~lib/rt/pure/__retain - drop - local.get $43 - call $~lib/rt/pure/__release - end - local.get $39 - local.set $37 - local.get $37 - i32.const 4 - i32.const 0 - call $~lib/array/Array#splice - local.tee $39 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 2912 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $44 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 452 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 453 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 10 + call $~lib/array/Array#every + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 378 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2928 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $45 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.ne i32.const 0 - i32.const 376 - i32.const 379 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 2968 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $46 - local.tee $43 - local.get $37 - local.tee $47 - i32.ne - if - local.get $43 - call $~lib/rt/pure/__retain + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 455 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 drop - local.get $47 - call $~lib/rt/pure/__release - end - local.get $43 - local.set $37 - local.get $37 - i32.const 7 - i32.const 0 - call $~lib/array/Array#splice - local.tee $43 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 3008 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $48 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 11 + call $~lib/array/Array#every + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 382 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 468 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 3024 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $49 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 383 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 469 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 3064 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $50 - local.tee $47 - local.get $37 - local.tee $51 - i32.ne - if - local.get $47 - call $~lib/rt/pure/__retain + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 drop - local.get $51 - call $~lib/rt/pure/__release - end - local.get $47 - local.set $37 - local.get $37 - i32.const 7 - i32.const 5 - call $~lib/array/Array#splice - local.tee $47 - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 3104 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $52 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 386 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $37 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 3120 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $53 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 12 + call $~lib/array/Array#some + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 387 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $33 - call $~lib/rt/pure/__release - local.get $37 - call $~lib/rt/pure/__release - local.get $35 - call $~lib/rt/pure/__release - local.get $30 - call $~lib/rt/pure/__release - local.get $32 - call $~lib/rt/pure/__release - local.get $31 - call $~lib/rt/pure/__release - local.get $36 - call $~lib/rt/pure/__release - local.get $27 - call $~lib/rt/pure/__release - local.get $29 - call $~lib/rt/pure/__release - local.get $28 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $24 - call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release - local.get $25 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $21 - call $~lib/rt/pure/__release - local.get $23 - call $~lib/rt/pure/__release - local.get $22 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $18 - call $~lib/rt/pure/__release - local.get $20 - call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $16 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $38 - call $~lib/rt/pure/__release - local.get $34 - call $~lib/rt/pure/__release - local.get $40 - call $~lib/rt/pure/__release - local.get $41 - call $~lib/rt/pure/__release - local.get $42 - call $~lib/rt/pure/__release - local.get $39 - call $~lib/rt/pure/__release - local.get $44 - call $~lib/rt/pure/__release - local.get $45 - call $~lib/rt/pure/__release - local.get $46 - call $~lib/rt/pure/__release - local.get $43 - call $~lib/rt/pure/__release - local.get $48 - call $~lib/rt/pure/__release - local.get $49 - call $~lib/rt/pure/__release - local.get $50 - call $~lib/rt/pure/__release - local.get $47 - call $~lib/rt/pure/__release - local.get $52 - call $~lib/rt/pure/__release - local.get $53 - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.const 0 - i32.const 0 - call $~lib/array/Array#__set - global.get $std/array/arr - i32.const 1 - i32.const 1 - call $~lib/array/Array#__set - global.get $std/array/arr - i32.const 2 - i32.const 2 - call $~lib/array/Array#__set - global.get $std/array/arr - i32.const 3 - i32.const 3 - call $~lib/array/Array#__set - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const 0 - i32.eq - i32.eqz - if + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 479 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 13 + call $~lib/array/Array#some + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 400 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.eq - i32.eqz - if + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 482 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 14 + call $~lib/array/Array#some + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.set $53 + local.get $53 + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 490 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 491 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 15 + call $~lib/array/Array#some + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.set $53 + local.get $53 + i32.const 0 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 493 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 16 + call $~lib/array/Array#some + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.set $53 + local.get $53 + i32.const 0 + i32.ne i32.const 0 - i32.const 376 - i32.const 403 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 506 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 507 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + i32.const 0 + global.set $std/array/i + global.get $std/array/arr + i32.const 17 + call $~lib/array/Array#forEach + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array/i + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 518 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $std/array/i + global.get $std/array/arr + i32.const 18 + call $~lib/array/Array#forEach + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array/i + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 527 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 528 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 + global.set $std/array/i + global.get $std/array/arr + i32.const 19 + call $~lib/array/Array#forEach + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array/i i32.const 406 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 531 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + i32.const 0 + global.set $std/array/i + global.get $std/array/arr + i32.const 20 + call $~lib/array/Array#forEach + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array/i + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 545 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 4 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 546 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 2 + call $~lib/array/Array#push + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + i32.const 21 + call $~lib/array/Array#forEach + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 571 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + block $break|0 + i32.const 0 + local.set $53 + loop $loop|0 + local.get $53 + i32.const 100 + i32.lt_s + i32.eqz + br_if $break|0 + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + local.get $53 + i32.const 1 + i32.add + local.set $53 + br $loop|0 + end + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 414 + call $~lib/array/Array#push + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#push + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 8 - i32.eq - i32.eqz - if + call $~lib/array/Array#push + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + drop + global.get $std/array/arr + i32.const 22 + call $~lib/array/Array#map + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + local.set $53 + local.get $53 + call $~lib/array/Array#get:length + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 585 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $53 i32.const 0 - i32.const 376 - i32.const 415 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 5 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.ne - i32.eqz - if + call $~lib/array/Array#__get + local.set $54 + global.get $~lib/error + if + br $uncaughtError + end + local.get $54 + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 417 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - i32.const 6 - call $~lib/array/Array#findIndex - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.eq - i32.eqz - if + call $~lib/array/Array#__get + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + f32.convert_i32_s + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 586 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 430 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + global.set $std/array/i + global.get $std/array/arr + i32.const 23 + call $~lib/array/Array#map + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 595 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 596 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 431 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 7 - call $~lib/array/Array#every - local.set $53 - local.get $53 - i32.const 1 - i32.eq - i32.eqz - if + global.set $std/array/i + global.get $std/array/arr + i32.const 24 + call $~lib/array/Array#map + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 406 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 603 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop i32.const 0 - i32.const 376 - i32.const 441 + global.set $std/array/i + global.get $std/array/arr + i32.const 25 + call $~lib/array/Array#map + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 618 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 8 - call $~lib/array/Array#every - local.set $53 - local.get $53 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 444 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 619 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 9 - call $~lib/array/Array#every - local.set $53 - local.get $53 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 452 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + local.get $53 + call $~lib/rt/pure/__release + global.get $std/array/arr + i32.const 26 + call $~lib/array/Array#filter + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + local.set $53 + local.get $53 + call $~lib/array/Array#get:length i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 8 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 629 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 453 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 10 - call $~lib/array/Array#every - local.set $53 - local.get $53 - i32.const 0 - i32.eq - i32.eqz - if + global.set $std/array/i + global.get $std/array/arr + i32.const 27 + call $~lib/array/Array#filter + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 638 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 639 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $std/array/i + global.get $std/array/arr + i32.const 28 + call $~lib/array/Array#filter + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 406 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 646 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop i32.const 0 - i32.const 376 - i32.const 455 + global.set $std/array/i + global.get $std/array/arr + i32.const 29 + call $~lib/array/Array#filter + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + call $~lib/rt/pure/__release + global.get $std/array/i + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 661 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - i32.const 11 - call $~lib/array/Array#every - local.set $53 - local.get $53 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 468 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 662 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + local.get $53 + call $~lib/rt/pure/__release + global.get $std/array/arr + i32.const 30 i32.const 0 - i32.const 376 - i32.const 469 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 12 - call $~lib/array/Array#some - local.set $53 - local.get $53 - i32.const 1 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduce + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 672 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 31 + i32.const 4 + call $~lib/array/Array#reduce + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 676 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 32 i32.const 0 - i32.const 376 - i32.const 479 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 13 - call $~lib/array/Array#some - local.set $53 - local.get $53 - i32.const 0 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduce + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 482 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 14 - call $~lib/array/Array#some - local.set $53 - local.get $53 - i32.const 0 - i32.eq - i32.eqz - if + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 679 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 33 i32.const 0 - i32.const 376 - i32.const 490 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 8 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduce + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 491 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 15 - call $~lib/array/Array#some - local.set $53 - local.get $53 - i32.const 1 - i32.eq - i32.eqz - if + i32.ne i32.const 0 - i32.const 376 - i32.const 493 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - i32.const 16 - call $~lib/array/Array#some - local.set $53 - local.get $53 - i32.const 0 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 682 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 34 i32.const 0 - i32.const 376 - i32.const 506 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduce + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 690 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 691 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 35 i32.const 0 - i32.const 376 - i32.const 507 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - drop - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 17 - call $~lib/array/Array#forEach - global.get $std/array/i - i32.const 6 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduce + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 693 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 36 i32.const 0 - i32.const 376 - i32.const 518 + call $~lib/array/Array#reduce + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 706 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 18 - call $~lib/array/Array#forEach - global.get $std/array/i - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 527 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 707 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 8 - i32.eq - i32.eqz - if + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 37 i32.const 0 - i32.const 376 - i32.const 528 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 19 - call $~lib/array/Array#forEach - global.get $std/array/i - i32.const 406 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduceRight + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 717 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 38 + i32.const 4 + call $~lib/array/Array#reduceRight + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 721 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 39 i32.const 0 - i32.const 376 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 20 - call $~lib/array/Array#forEach - global.get $std/array/i - i32.const 1 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduceRight + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 545 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 724 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 40 i32.const 0 - i32.const 376 - i32.const 546 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 21 - call $~lib/array/Array#forEach - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 100 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduceRight + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.set $53 + local.get $53 i32.const 0 - i32.const 376 - i32.const 571 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - block $break|0 + i32.ne i32.const 0 - local.set $53 - loop $loop|0 - local.get $53 - i32.const 100 - i32.lt_s - i32.eqz - br_if $break|0 - global.get $std/array/arr - call $~lib/array/Array#pop - drop - local.get $53 - i32.const 1 - i32.add - local.set $53 - br $loop|0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 727 + i32.const 2 + call $~lib/builtins/abort + unreachable end - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 22 - call $~lib/array/Array#map - local.set $53 - local.get $53 - call $~lib/array/Array#get:length - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 585 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $53 - i32.const 0 - call $~lib/array/Array#__get - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#__get - f32.convert_i32_s - f32.eq - i32.eqz - if + global.get $std/array/arr + i32.const 41 i32.const 0 - i32.const 376 - i32.const 586 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 23 - call $~lib/array/Array#map - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 6 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduceRight + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 735 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 736 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + i32.const 42 i32.const 0 - i32.const 376 - i32.const 595 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 8 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduceRight + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 738 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + call $~lib/array/Array#pop + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 43 i32.const 0 - i32.const 376 - i32.const 596 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 24 - call $~lib/array/Array#map - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 406 - i32.eq - i32.eqz - if + call $~lib/array/Array#reduceRight + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 751 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array#get:length i32.const 0 - i32.const 376 - i32.const 603 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 25 - call $~lib/array/Array#map - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 1 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 752 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr i32.const 0 - i32.const 376 - i32.const 618 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 1 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 619 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + global.get $std/array/arr + i32.const 3 + call $~lib/array/Array#push + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + drop + call $~lib/bindings/Math/random + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom + i32.const 8 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - drop - local.get $53 - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.const 26 - call $~lib/array/Array#filter - local.set $53 - local.get $53 - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + i32.const 10 + i32.const 3336 + call $~lib/rt/__allocArray + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + call $~lib/rt/pure/__retain + local.tee $52 + call $~lib/rt/pure/__retain + local.set $53 i32.const 0 - i32.const 376 - i32.const 629 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 27 - call $~lib/array/Array#filter - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 6 - i32.eq - i32.eqz - if + global.set $~lib/argc + local.get $53 i32.const 0 - i32.const 376 - i32.const 638 + call $~lib/array/Array#sort|trampoline + local.set $47 + global.get $~lib/error + if + br $uncaughtError + end + local.get $47 + call $~lib/rt/pure/__release + local.get $53 + i32.const 8 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 8 - i32.eq - i32.eqz - if + i32.const 10 + i32.const 3384 + call $~lib/rt/__allocArray + local.set $50 + global.get $~lib/error + if + br $uncaughtError + end + local.get $50 + call $~lib/rt/pure/__retain + local.tee $50 i32.const 0 - i32.const 376 - i32.const 639 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 28 - call $~lib/array/Array#filter - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 406 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $47 + global.get $~lib/error + if + br $uncaughtError + end + local.get $47 i32.const 0 - i32.const 376 - i32.const 646 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - i32.const 0 - global.set $std/array/i - global.get $std/array/arr - i32.const 29 - call $~lib/array/Array#filter - call $~lib/rt/pure/__release - global.get $std/array/i - i32.const 1 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 841 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 8 + i32.const 3 + i32.const 11 + i32.const 3432 + call $~lib/rt/__allocArray + local.set $49 + global.get $~lib/error + if + br $uncaughtError + end + local.get $49 + call $~lib/rt/pure/__retain + local.tee $49 + call $~lib/rt/pure/__retain + local.set $47 i32.const 0 - i32.const 376 - i32.const 661 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + global.set $~lib/argc + local.get $47 i32.const 0 - i32.const 376 - i32.const 662 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - drop - local.get $53 - call $~lib/rt/pure/__release - global.get $std/array/arr - i32.const 30 - i32.const 0 - call $~lib/array/Array#reduce - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.eq - i32.eqz - if + call $~lib/array/Array#sort|trampoline + local.set $48 + global.get $~lib/error + if + br $uncaughtError + end + local.get $48 + call $~lib/rt/pure/__release + local.get $47 + i32.const 8 + i32.const 3 + i32.const 11 + i32.const 3512 + call $~lib/rt/__allocArray + local.set $43 + global.get $~lib/error + if + br $uncaughtError + end + local.get $43 + call $~lib/rt/pure/__retain + local.tee $43 i32.const 0 - i32.const 376 - i32.const 672 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 31 - i32.const 4 - call $~lib/array/Array#reduce - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $48 + global.get $~lib/error + if + br $uncaughtError + end + local.get $48 i32.const 0 - i32.const 376 - i32.const 676 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 845 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 32 - i32.const 0 - call $~lib/array/Array#reduce - local.set $53 - local.get $53 - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 3592 + call $~lib/rt/__allocArray + local.set $46 + global.get $~lib/error + if + br $uncaughtError + end + local.get $46 + call $~lib/rt/pure/__retain + local.tee $46 + call $~lib/rt/pure/__retain + local.set $48 i32.const 0 - i32.const 376 - i32.const 679 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 33 - i32.const 0 - call $~lib/array/Array#reduce - local.set $53 - local.get $53 - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if + global.set $~lib/argc + local.get $48 i32.const 0 - i32.const 376 - i32.const 682 + call $~lib/array/Array#sort|trampoline + local.set $45 + global.get $~lib/error + if + br $uncaughtError + end + local.get $45 + call $~lib/rt/pure/__release + local.get $48 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 34 - i32.const 0 - call $~lib/array/Array#reduce - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 3632 + call $~lib/rt/__allocArray + local.set $44 + global.get $~lib/error + if + br $uncaughtError + end + local.get $44 + call $~lib/rt/pure/__retain + local.tee $44 i32.const 0 - i32.const 376 - i32.const 690 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 8 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $45 + global.get $~lib/error + if + br $uncaughtError + end + local.get $45 i32.const 0 - i32.const 376 - i32.const 691 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 849 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 35 - i32.const 0 - call $~lib/array/Array#reduce - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.eq - i32.eqz - if + i32.const 9 + i32.const 3672 + call $~lib/rt/__allocArray + local.set $39 + global.get $~lib/error + if + br $uncaughtError + end + local.get $39 + call $~lib/rt/pure/__retain + local.tee $39 + call $~lib/rt/pure/__retain + local.set $45 i32.const 0 - i32.const 376 - i32.const 693 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - i32.const 36 - i32.const 0 - call $~lib/array/Array#reduce - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.eq - i32.eqz - if + global.set $~lib/argc + local.get $45 i32.const 0 - i32.const 376 - i32.const 706 + call $~lib/array/Array#sort|trampoline + local.set $42 + global.get $~lib/error + if + br $uncaughtError + end + local.get $42 + call $~lib/rt/pure/__release + local.get $45 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + i32.const 9 + i32.const 3712 + call $~lib/rt/__allocArray + local.set $41 + global.get $~lib/error + if + br $uncaughtError + end + local.get $41 + call $~lib/rt/pure/__retain + local.tee $41 i32.const 0 - i32.const 376 - i32.const 707 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 37 - i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $42 + global.get $~lib/error + if + br $uncaughtError + end + local.get $42 i32.const 0 - i32.const 376 - i32.const 717 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 38 - i32.const 4 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 853 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 376 - i32.const 721 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 39 - i32.const 0 - call $~lib/array/Array#reduceRight - local.set $53 - local.get $53 - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if + i32.const 3 + i32.const 3752 + call $~lib/rt/__allocArray + local.set $40 + global.get $~lib/error + if + br $uncaughtError + end + local.get $40 + call $~lib/rt/pure/__retain + local.tee $40 + call $~lib/rt/pure/__retain + local.set $42 + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 3768 + call $~lib/rt/__allocArray + local.set $38 + global.get $~lib/error + if + br $uncaughtError + end + local.get $38 + call $~lib/rt/pure/__retain + local.tee $38 + call $~lib/rt/pure/__retain + local.set $34 + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 3792 + call $~lib/rt/__allocArray + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + call $~lib/rt/pure/__retain + local.tee $5 + call $~lib/rt/pure/__retain + local.set $8 + i32.const 4 + i32.const 2 + i32.const 3 + i32.const 3816 + call $~lib/rt/__allocArray + local.set $10 + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + call $~lib/rt/pure/__retain + local.tee $10 + call $~lib/rt/pure/__retain + local.set $7 + i32.const 4 + i32.const 2 + i32.const 3 + i32.const 3848 + call $~lib/rt/__allocArray + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 + call $~lib/rt/pure/__retain + local.tee $9 + call $~lib/rt/pure/__retain + local.set $11 + i32.const 64 + call $std/array/createReverseOrderedArray + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.set $1 + i32.const 128 + call $std/array/createReverseOrderedArray + local.set $13 + global.get $~lib/error + if + br $uncaughtError + end + local.get $13 + local.set $13 + i32.const 1024 + call $std/array/createReverseOrderedArray + local.set $14 + global.get $~lib/error + if + br $uncaughtError + end + local.get $14 + local.set $14 + i32.const 10000 + call $std/array/createReverseOrderedArray + local.set $12 + global.get $~lib/error + if + br $uncaughtError + end + local.get $12 + local.set $12 + i32.const 512 + call $std/array/createRandomOrderedArray + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + local.get $42 + call $std/array/assertSortedDefault + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 + call $std/array/assertSortedDefault + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 3936 + call $~lib/rt/__allocArray + local.set $17 + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + call $~lib/rt/pure/__retain + local.tee $17 + i32.const 0 + call $std/array/isArraysEqual + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 i32.const 0 - i32.const 376 - i32.const 724 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 873 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $8 + call $std/array/assertSortedDefault + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 40 - i32.const 0 - call $~lib/array/Array#reduceRight - local.set $53 - local.get $53 - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if + i32.const 2 + i32.const 3 + i32.const 3960 + call $~lib/rt/__allocArray + local.set $15 + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + call $~lib/rt/pure/__retain + local.tee $15 i32.const 0 - i32.const 376 - i32.const 727 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 41 - i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 i32.const 0 - i32.const 376 - i32.const 735 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 8 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 876 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $7 + call $std/array/assertSortedDefault + global.get $~lib/error + if + br $uncaughtError + end + local.get $7 + local.get $11 i32.const 0 - i32.const 376 - i32.const 736 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 42 - i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.eq - i32.eqz - if + call $std/array/isArraysEqual + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 i32.const 0 - i32.const 376 - i32.const 738 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - call $~lib/array/Array#pop - drop - global.get $std/array/arr - i32.const 43 - i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 879 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $std/array/assertSortedDefault + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.get $11 + i32.const 4 + call $std/array/isArraysEqual + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 i32.const 0 - i32.const 376 - i32.const 751 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array#get:length - i32.const 0 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 882 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $13 + call $std/array/assertSortedDefault + global.get $~lib/error + if + br $uncaughtError + end + local.get $13 + local.get $11 + i32.const 4 + call $std/array/isArraysEqual + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 i32.const 0 - i32.const 376 - i32.const 752 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - i32.const 0 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 1 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 2 - call $~lib/array/Array#push - drop - global.get $std/array/arr - i32.const 3 - call $~lib/array/Array#push - drop - call $~lib/bindings/Math/random - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom - i32.const 8 - i32.const 2 - i32.const 8 - i32.const 3392 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $52 - call $~lib/rt/pure/__retain - local.set $53 - i32.const 0 - global.set $~lib/argc - local.get $53 - i32.const 0 - call $~lib/array/Array#sort|trampoline - call $~lib/rt/pure/__release - local.get $53 - i32.const 8 - i32.const 2 - i32.const 8 - i32.const 3440 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $50 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 885 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $14 + call $std/array/assertSortedDefault + global.get $~lib/error + if + br $uncaughtError + end + local.get $14 + local.get $11 + i32.const 4 + call $std/array/isArraysEqual + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 888 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $12 + call $std/array/assertSortedDefault + global.get $~lib/error + if + br $uncaughtError + end + local.get $12 + local.get $11 + i32.const 4 + call $std/array/isArraysEqual + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 i32.const 0 - i32.const 376 - i32.const 841 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 891 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $std/array/assertSortedDefault + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + call $~lib/rt/pure/__release + local.get $53 + call $~lib/rt/pure/__release + local.get $50 + call $~lib/rt/pure/__release + local.get $49 + call $~lib/rt/pure/__release + local.get $47 + call $~lib/rt/pure/__release + local.get $43 + call $~lib/rt/pure/__release + local.get $46 + call $~lib/rt/pure/__release + local.get $48 + call $~lib/rt/pure/__release + local.get $44 + call $~lib/rt/pure/__release + local.get $39 + call $~lib/rt/pure/__release + local.get $45 + call $~lib/rt/pure/__release + local.get $41 + call $~lib/rt/pure/__release + local.get $40 + call $~lib/rt/pure/__release + local.get $42 + call $~lib/rt/pure/__release + local.get $38 + call $~lib/rt/pure/__release + local.get $34 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + i32.const 64 + call $std/array/createRandomOrderedArray + local.set $15 + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + local.set $15 + i32.const 257 + call $std/array/createRandomOrderedArray + local.set $17 + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + local.set $17 + local.get $15 + i32.const 49 + call $std/array/assertSorted + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + i32.const 50 + call $std/array/assertSorted + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + i32.const 51 + call $std/array/assertSorted + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + i32.const 52 + call $std/array/assertSorted + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + i32.const 2 + call $std/array/createReverseOrderedNestedArray + local.set $17 + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + local.set $17 + local.get $17 + i32.const 53 + call $std/array/assertSorted<~lib/array/Array> + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + call $~lib/rt/pure/__release + i32.const 512 + call $std/array/createReverseOrderedElementsArray + local.set $17 + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + local.set $17 + local.get $17 + i32.const 54 + call $std/array/assertSorted> + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + call $~lib/rt/pure/__release + i32.const 7 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 8 - i32.const 3 - i32.const 9 - i32.const 3488 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $49 - call $~lib/rt/pure/__retain - local.set $47 - i32.const 0 - global.set $~lib/argc - local.get $47 - i32.const 0 - call $~lib/array/Array#sort|trampoline - call $~lib/rt/pure/__release - local.get $47 - i32.const 8 - i32.const 3 - i32.const 9 - i32.const 3568 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $43 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 845 + i32.const 15 + i32.const 4192 + call $~lib/rt/__allocArray + local.set $15 + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + call $~lib/rt/pure/__retain + local.tee $15 + call $~lib/rt/pure/__retain + local.set $17 + i32.const 7 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 3648 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $46 - call $~lib/rt/pure/__retain - local.set $48 - i32.const 0 - global.set $~lib/argc - local.get $48 - i32.const 0 - call $~lib/array/Array#sort|trampoline - call $~lib/rt/pure/__release - local.get $48 - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 3688 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $44 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 15 + i32.const 4240 + call $~lib/rt/__allocArray + local.set $12 + global.get $~lib/error + if + br $uncaughtError + end + local.get $12 + call $~lib/rt/pure/__retain + local.tee $12 + call $~lib/rt/pure/__retain + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $17 i32.const 0 - i32.const 376 - i32.const 849 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 3728 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $39 - call $~lib/rt/pure/__retain - local.set $45 - i32.const 0 - global.set $~lib/argc - local.get $45 - i32.const 0 - call $~lib/array/Array#sort|trampoline - call $~lib/rt/pure/__release - local.get $45 - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 3768 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $41 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $std/array/assertSorted<~lib/string/String | null>|trampoline + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + local.get $2 i32.const 0 - i32.const 376 - i32.const 853 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 3808 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $40 - call $~lib/rt/pure/__retain - local.set $42 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 3824 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $38 - call $~lib/rt/pure/__retain - local.set $34 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 3848 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - call $~lib/rt/pure/__retain - local.set $8 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 3872 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $10 - call $~lib/rt/pure/__retain - local.set $7 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 3904 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $9 - call $~lib/rt/pure/__retain - local.set $11 - i32.const 64 - call $std/array/createReverseOrderedArray - local.set $1 - i32.const 128 - call $std/array/createReverseOrderedArray - local.set $13 - i32.const 1024 - call $std/array/createReverseOrderedArray - local.set $14 - i32.const 10000 - call $std/array/createReverseOrderedArray - local.set $12 - i32.const 512 - call $std/array/createRandomOrderedArray - local.set $2 - local.get $42 - call $std/array/assertSortedDefault - local.get $34 - call $std/array/assertSortedDefault - local.get $34 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 3992 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $17 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + call $std/array/isArraysEqual<~lib/string/String | null> + local.set $14 + global.get $~lib/error + if + br $uncaughtError + end + local.get $14 i32.const 0 - i32.const 376 - i32.const 873 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $8 - call $std/array/assertSortedDefault - local.get $8 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 4016 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $15 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 928 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + call $std/array/createRandomStringArray + local.set $14 + global.get $~lib/error + if + br $uncaughtError + end + local.get $14 + local.set $14 + i32.const 1 + global.set $~lib/argc + local.get $14 i32.const 0 - i32.const 376 - i32.const 876 + call $std/array/assertSorted<~lib/string/String>|trampoline + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $7 - call $std/array/assertSortedDefault - local.get $7 - local.get $11 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 879 + i32.const 17 + i32.const 4312 + call $~lib/rt/__allocArray + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + call $~lib/rt/pure/__retain + local.tee $2 + i32.const 4392 + call $~lib/array/Array#join + local.set $14 + global.get $~lib/error + if + br $uncaughtError + end + local.get $14 + local.tee $14 + i32.const 4416 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 939 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 3 + i32.const 4456 + call $~lib/rt/__allocArray + local.set $17 + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + call $~lib/rt/pure/__retain + local.tee $17 + i32.const 208 + call $~lib/array/Array#join + local.set $12 + global.get $~lib/error + if + br $uncaughtError + end + local.get $12 + local.tee $12 + i32.const 4960 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 940 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 9 + i32.const 4992 + call $~lib/rt/__allocArray + local.set $13 + global.get $~lib/error + if + br $uncaughtError + end + local.get $13 + call $~lib/rt/pure/__retain + local.tee $13 + i32.const 5024 + call $~lib/array/Array#join + local.set $15 + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + local.tee $15 + i32.const 4960 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 941 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 5048 + call $~lib/rt/__allocArray + local.set $11 + global.get $~lib/error + if + br $uncaughtError + end + local.get $11 + call $~lib/rt/pure/__retain + local.tee $11 + i32.const 5072 + call $~lib/array/Array#join + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.tee $1 + i32.const 5096 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 942 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 6 + i32.const 3 + i32.const 11 + i32.const 5160 + call $~lib/rt/__allocArray + local.set $7 + global.get $~lib/error + if + br $uncaughtError + end + local.get $7 + call $~lib/rt/pure/__retain + local.tee $7 + i32.const 5224 + call $~lib/array/Array#join + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 + local.tee $9 + i32.const 6424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 943 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $std/array/assertSortedDefault - local.get $1 - local.get $11 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 882 + i32.const 16 + i32.const 6544 + call $~lib/rt/__allocArray + local.set $8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + call $~lib/rt/pure/__retain + local.tee $8 + i32.const 208 + call $~lib/array/Array<~lib/string/String>#join + local.set $10 + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + local.tee $10 + i32.const 6520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 944 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $13 - call $std/array/assertSortedDefault - local.get $13 - local.get $11 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 21 i32.const 0 - i32.const 376 - i32.const 885 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $14 - call $std/array/assertSortedDefault - local.get $14 - local.get $11 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if + call $~lib/rt/__allocArray + local.set $40 + global.get $~lib/error + if + br $uncaughtError + end + local.get $40 + local.set $5 + local.get $5 + i32.load offset=4 + local.set $34 + local.get $34 i32.const 0 - i32.const 376 - i32.const 888 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $12 - call $std/array/assertSortedDefault - local.get $12 - local.get $11 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if + call $std/array/Ref#constructor + local.tee $38 + call $~lib/rt/pure/__retain + i32.store + local.get $34 i32.const 0 - i32.const 376 - i32.const 891 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $std/array/assertSortedDefault - local.get $52 - call $~lib/rt/pure/__release - local.get $53 - call $~lib/rt/pure/__release - local.get $50 - call $~lib/rt/pure/__release - local.get $49 - call $~lib/rt/pure/__release - local.get $47 - call $~lib/rt/pure/__release - local.get $43 - call $~lib/rt/pure/__release - local.get $46 - call $~lib/rt/pure/__release - local.get $48 - call $~lib/rt/pure/__release - local.get $44 - call $~lib/rt/pure/__release - local.get $39 - call $~lib/rt/pure/__release - local.get $45 - call $~lib/rt/pure/__release - local.get $41 - call $~lib/rt/pure/__release - local.get $40 - call $~lib/rt/pure/__release - local.get $42 - call $~lib/rt/pure/__release - local.get $38 - call $~lib/rt/pure/__release - local.get $34 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release - i32.const 64 - call $std/array/createRandomOrderedArray - local.set $15 - i32.const 257 - call $std/array/createRandomOrderedArray - local.set $17 - local.get $15 - i32.const 49 - call $std/array/assertSorted - local.get $15 - i32.const 50 - call $std/array/assertSorted - local.get $17 - i32.const 51 - call $std/array/assertSorted - local.get $17 - i32.const 52 - call $std/array/assertSorted - local.get $15 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - i32.const 2 - call $std/array/createReverseOrderedNestedArray - local.set $17 - local.get $17 - i32.const 53 - call $std/array/assertSorted<~lib/array/Array> - local.get $17 - call $~lib/rt/pure/__release - i32.const 512 - call $std/array/createReverseOrderedElementsArray - local.set $17 - local.get $17 - i32.const 54 - call $std/array/assertSorted> - local.get $17 - call $~lib/rt/pure/__release - i32.const 7 - i32.const 2 - i32.const 13 - i32.const 4264 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $15 - call $~lib/rt/pure/__retain - local.set $17 - i32.const 7 - i32.const 2 - i32.const 13 - i32.const 4312 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $12 - call $~lib/rt/pure/__retain - local.set $2 - i32.const 1 - global.set $~lib/argc - local.get $17 - i32.const 0 - call $std/array/assertSorted<~lib/string/String | null>|trampoline - local.get $17 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual<~lib/string/String | null> - i32.eqz - if + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $34 i32.const 0 - i32.const 376 - i32.const 928 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 400 - call $std/array/createRandomStringArray - local.set $14 - i32.const 1 - global.set $~lib/argc - local.get $14 - i32.const 0 - call $std/array/assertSorted<~lib/string/String>|trampoline - local.get $15 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - i32.const 2 - i32.const 0 - i32.const 15 - i32.const 4384 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - i32.const 4464 - call $~lib/array/Array#join - local.tee $14 - i32.const 4488 - call $~lib/string/String.__eq - i32.eqz - if + call $std/array/Ref#constructor + local.tee $42 + call $~lib/rt/pure/__retain + i32.store offset=8 + local.get $5 + call $~lib/rt/pure/__retain + local.set $34 + local.get $34 + i32.const 4392 + call $~lib/array/Array#join + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + local.tee $5 + i32.const 6624 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 946 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $38 + call $~lib/rt/pure/__release + local.get $42 + call $~lib/rt/pure/__release + local.get $34 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release i32.const 0 - i32.const 376 - i32.const 939 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 4528 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $17 - i32.const 4248 - call $~lib/array/Array#join - local.tee $12 - i32.const 5032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 940 + i32.const 3 + i32.const 6704 + call $~lib/rt/__allocArray + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 + call $~lib/rt/pure/__retain + local.tee $34 + call $~lib/rt/pure/__retain + local.set $5 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 7 - i32.const 5064 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $13 - i32.const 5096 - call $~lib/array/Array#join - local.tee $15 - i32.const 5032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 941 + i32.const 3 + i32.const 6720 + call $~lib/rt/__allocArray + local.set $38 + global.get $~lib/error + if + br $uncaughtError + end + local.get $38 + call $~lib/rt/pure/__retain + local.tee $38 + call $~lib/rt/pure/__retain + local.set $42 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 5120 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $11 - i32.const 5144 - call $~lib/array/Array#join - local.tee $1 - i32.const 5168 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 942 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 6 - i32.const 3 - i32.const 9 - i32.const 5232 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $7 - i32.const 5296 - call $~lib/array/Array#join - local.tee $9 - i32.const 6496 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 943 + i32.const 3 + i32.const 6744 + call $~lib/rt/__allocArray + local.set $8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + call $~lib/rt/pure/__retain + local.tee $8 + call $~lib/rt/pure/__retain + local.set $10 + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 14 - i32.const 6616 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - i32.const 4248 - call $~lib/array/Array<~lib/string/String>#join - local.tee $10 - i32.const 6592 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 3 + i32.const 6768 + call $~lib/rt/__allocArray + local.set $7 + global.get $~lib/error + if + br $uncaughtError + end + local.get $7 + call $~lib/rt/pure/__retain + local.tee $7 + call $~lib/rt/pure/__retain + local.set $9 + local.get $5 + call $~lib/array/Array#toString + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.tee $1 + i32.const 208 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 956 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $42 + call $~lib/array/Array#toString + local.set $11 + global.get $~lib/error + if + br $uncaughtError + end + local.get $11 + local.tee $11 + i32.const 6520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 957 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $10 + call $~lib/array/Array#toString + local.set $15 + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + local.tee $15 + i32.const 6800 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 958 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $~lib/array/Array#toString + local.set $13 + global.get $~lib/error + if + br $uncaughtError + end + local.get $13 + local.tee $13 + i32.const 6824 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 959 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 0 - i32.const 376 - i32.const 944 + i32.const 22 + i32.const 6856 + call $~lib/rt/__allocArray + local.set $17 + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + call $~lib/rt/pure/__retain + local.tee $17 + call $~lib/array/Array#toString + local.set $12 + global.get $~lib/error + if + br $uncaughtError + end + local.get $12 + local.tee $12 + i32.const 6880 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 961 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 1 + i32.const 23 + i32.const 6912 + call $~lib/rt/__allocArray + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + call $~lib/rt/pure/__retain + local.tee $2 + call $~lib/array/Array#toString + local.set $14 + global.get $~lib/error + if + br $uncaughtError + end + local.get $14 + local.tee $14 + i32.const 6936 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 962 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 3 + i32.const 18 + i32.const 6976 + call $~lib/rt/__allocArray + local.set $41 + global.get $~lib/error + if + br $uncaughtError + end + local.get $41 + call $~lib/rt/pure/__retain + local.tee $41 + call $~lib/array/Array#toString + local.set $40 + global.get $~lib/error + if + br $uncaughtError + end + local.get $40 + local.tee $40 + i32.const 7016 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 963 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + i32.const 3 + i32.const 24 + i32.const 7080 + call $~lib/rt/__allocArray + local.set $39 + global.get $~lib/error + if + br $uncaughtError + end + local.get $39 + call $~lib/rt/pure/__retain + local.tee $39 + call $~lib/array/Array#toString + local.set $45 + global.get $~lib/error + if + br $uncaughtError + end + local.get $45 + local.tee $45 + i32.const 7128 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 964 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 7 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 19 - i32.const 0 - call $~lib/rt/__allocArray - local.set $5 - local.get $5 - i32.load offset=4 - local.set $34 - local.get $34 - i32.const 0 - call $std/array/Ref#constructor - local.tee $38 - call $~lib/rt/pure/__retain - i32.store - local.get $34 - i32.const 0 - call $~lib/rt/pure/__retain - i32.store offset=4 - local.get $34 - i32.const 0 - call $std/array/Ref#constructor - local.tee $42 - call $~lib/rt/pure/__retain - i32.store offset=8 - local.get $5 - call $~lib/rt/pure/__retain - local.set $34 - local.get $34 - i32.const 4464 - call $~lib/array/Array#join - local.tee $5 - i32.const 6696 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 946 + i32.const 15 + i32.const 7232 + call $~lib/rt/__allocArray + local.set $48 + global.get $~lib/error + if + br $uncaughtError + end + local.get $48 + call $~lib/rt/pure/__retain + local.tee $48 + call $~lib/rt/pure/__retain + local.set $44 + local.get $44 + call $~lib/array/Array<~lib/string/String | null>#toString + local.set $46 + global.get $~lib/error + if + br $uncaughtError + end + local.get $46 + local.tee $46 + i32.const 7280 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 968 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $38 - call $~lib/rt/pure/__release - local.get $42 - call $~lib/rt/pure/__release - local.get $34 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 6776 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $34 - call $~lib/rt/pure/__retain - local.set $5 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 6792 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $38 - call $~lib/rt/pure/__retain - local.set $42 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 6816 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - call $~lib/rt/pure/__retain - local.set $10 - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 6840 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $7 - call $~lib/rt/pure/__retain - local.set $9 - local.get $5 - call $~lib/array/Array#toString - local.tee $1 - i32.const 4248 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 956 + i32.const 16 + i32.const 7376 + call $~lib/rt/__allocArray + local.set $47 + global.get $~lib/error + if + br $uncaughtError + end + local.get $47 + call $~lib/rt/pure/__retain + local.tee $47 + call $~lib/array/Array<~lib/string/String>#toString + local.set $43 + global.get $~lib/error + if + br $uncaughtError + end + local.get $43 + local.tee $43 + i32.const 7408 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 969 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $42 - call $~lib/array/Array#toString - local.tee $11 - i32.const 6592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 957 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $10 - call $~lib/array/Array#toString - local.tee $15 - i32.const 6872 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 12 i32.const 0 - i32.const 376 - i32.const 958 + call $~lib/rt/__allocArray + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + local.set $49 + local.get $49 + i32.load offset=4 + local.set $50 + local.get $50 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $9 - call $~lib/array/Array#toString - local.tee $13 - i32.const 6896 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 959 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 0 - i32.const 20 - i32.const 6928 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $17 - call $~lib/array/Array#toString - local.tee $12 - i32.const 6952 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 961 + i32.const 3 + i32.const 7440 + call $~lib/rt/__allocArray + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + call $~lib/rt/pure/__retain + local.tee $52 + call $~lib/rt/pure/__retain + i32.store + local.get $50 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 1 - i32.const 21 - i32.const 6984 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - call $~lib/array/Array#toString - local.tee $14 - i32.const 7008 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 962 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 3 - i32.const 16 - i32.const 7048 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $41 - call $~lib/array/Array#toString - local.tee $40 - i32.const 7088 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 963 + i32.const 3 + i32.const 7464 + call $~lib/rt/__allocArray + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 + call $~lib/rt/pure/__retain + local.tee $16 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $49 + call $~lib/rt/pure/__retain + local.set $55 + local.get $55 + call $~lib/array/Array<~lib/array/Array>#toString + local.set $50 + global.get $~lib/error + if + br $uncaughtError + end + local.get $50 + local.tee $50 + i32.const 7488 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 972 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 3 - i32.const 22 - i32.const 7152 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $39 - call $~lib/array/Array#toString - local.tee $45 - i32.const 7200 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 964 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 7 - i32.const 2 - i32.const 13 - i32.const 7304 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $48 - call $~lib/rt/pure/__retain - local.set $44 - local.get $44 - call $~lib/array/Array<~lib/string/String | null>#toString - local.tee $46 - i32.const 7352 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 25 i32.const 0 - i32.const 376 - i32.const 968 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.set $49 + local.get $49 + i32.load offset=4 + local.set $53 + local.get $53 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 2 - i32.const 14 - i32.const 7448 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $47 - call $~lib/array/Array<~lib/string/String>#toString - local.tee $43 - i32.const 7480 - call $~lib/string/String.__eq - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 969 + i32.const 8 + i32.const 7520 + call $~lib/rt/__allocArray + local.set $19 + global.get $~lib/error + if + br $uncaughtError + end + local.get $19 + call $~lib/rt/pure/__retain + local.tee $19 + call $~lib/rt/pure/__retain + i32.store + local.get $53 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 2 - i32.const 10 - i32.const 0 - call $~lib/rt/__allocArray - local.set $49 - local.get $49 - i32.load offset=4 - local.set $50 - local.get $50 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 7512 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $52 - call $~lib/rt/pure/__retain - i32.store - local.get $50 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 7536 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $16 - call $~lib/rt/pure/__retain - i32.store offset=4 - local.get $49 - call $~lib/rt/pure/__retain - local.set $54 - local.get $54 - call $~lib/array/Array<~lib/array/Array>#toString - local.tee $50 - i32.const 7560 - call $~lib/string/String.__eq - i32.eqz - if i32.const 0 - i32.const 376 - i32.const 972 + i32.const 8 + i32.const 7544 + call $~lib/rt/__allocArray + local.set $20 + global.get $~lib/error + if + br $uncaughtError + end + local.get $20 + call $~lib/rt/pure/__retain + local.tee $20 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $49 + call $~lib/rt/pure/__retain + local.set $56 + local.get $56 + call $~lib/array/Array<~lib/array/Array>#toString + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + local.tee $53 + i32.const 7488 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 975 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + i32.const 27 + i32.const 0 + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + local.set $49 + local.get $49 + i32.load offset=4 + local.set $0 + local.get $0 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 2 - i32.const 23 - i32.const 0 - call $~lib/rt/__allocArray - local.set $49 - local.get $49 - i32.load offset=4 - local.set $53 - local.get $53 - i32.const 2 - i32.const 0 - i32.const 6 - i32.const 7592 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $19 - call $~lib/rt/pure/__retain - i32.store - local.get $53 - i32.const 2 - i32.const 0 - i32.const 6 - i32.const 7616 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $20 - call $~lib/rt/pure/__retain - i32.store offset=4 - local.get $49 - call $~lib/rt/pure/__retain - local.set $55 - local.get $55 - call $~lib/array/Array<~lib/array/Array>#toString - local.tee $53 - i32.const 7560 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 26 i32.const 0 - i32.const 376 - i32.const 975 + call $~lib/rt/__allocArray + local.set $22 + global.get $~lib/error + if + br $uncaughtError + end + local.get $22 + local.set $18 + local.get $18 + i32.load offset=4 + local.set $4 + local.get $4 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable + i32.const 9 + i32.const 7568 + call $~lib/rt/__allocArray + local.set $23 + global.get $~lib/error + if + br $uncaughtError + end + local.get $23 + call $~lib/rt/pure/__retain + local.tee $23 + call $~lib/rt/pure/__retain + i32.store + local.get $18 + call $~lib/rt/pure/__retain + i32.store + local.get $49 + call $~lib/rt/pure/__retain + local.set $57 + local.get $57 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.tee $0 + i32.const 6520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 978 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $34 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $38 + call $~lib/rt/pure/__release + local.get $42 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $41 + call $~lib/rt/pure/__release + local.get $40 + call $~lib/rt/pure/__release + local.get $39 + call $~lib/rt/pure/__release + local.get $45 + call $~lib/rt/pure/__release + local.get $48 + call $~lib/rt/pure/__release + local.get $44 + call $~lib/rt/pure/__release + local.get $46 + call $~lib/rt/pure/__release + local.get $47 + call $~lib/rt/pure/__release + local.get $43 + call $~lib/rt/pure/__release + local.get $52 + call $~lib/rt/pure/__release + local.get $16 + call $~lib/rt/pure/__release + local.get $50 + call $~lib/rt/pure/__release + local.get $19 + call $~lib/rt/pure/__release + local.get $20 + call $~lib/rt/pure/__release + local.get $53 + call $~lib/rt/pure/__release + local.get $23 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + global.get $std/array/arr + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + local.get $55 + call $~lib/rt/pure/__release + local.get $56 + call $~lib/rt/pure/__release + local.get $57 + call $~lib/rt/pure/__release + return end + i32.const 7592 + i32.const 368 i32.const 1 - i32.const 2 - i32.const 25 - i32.const 0 - call $~lib/rt/__allocArray - local.set $49 - local.get $49 - i32.load offset=4 - local.set $0 - local.get $0 - i32.const 1 - i32.const 2 - i32.const 24 i32.const 0 - call $~lib/rt/__allocArray - local.set $18 - local.get $18 - i32.load offset=4 - local.set $4 - local.get $4 - i32.const 1 - i32.const 2 - i32.const 7 - i32.const 7640 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $23 - call $~lib/rt/pure/__retain - i32.store - local.get $18 - call $~lib/rt/pure/__retain - i32.store - local.get $49 - call $~lib/rt/pure/__retain - local.set $56 - local.get $56 - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString - local.tee $0 - i32.const 6592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 978 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $34 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $38 - call $~lib/rt/pure/__release - local.get $42 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $41 - call $~lib/rt/pure/__release - local.get $40 - call $~lib/rt/pure/__release - local.get $39 - call $~lib/rt/pure/__release - local.get $45 - call $~lib/rt/pure/__release - local.get $48 - call $~lib/rt/pure/__release - local.get $44 - call $~lib/rt/pure/__release - local.get $46 - call $~lib/rt/pure/__release - local.get $47 - call $~lib/rt/pure/__release - local.get $43 - call $~lib/rt/pure/__release - local.get $52 - call $~lib/rt/pure/__release - local.get $16 - call $~lib/rt/pure/__release - local.get $50 - call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release - local.get $20 - call $~lib/rt/pure/__release - local.get $53 - call $~lib/rt/pure/__release - local.get $23 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - global.get $std/array/arr - call $~lib/rt/pure/__release - local.get $54 - call $~lib/rt/pure/__release - local.get $55 - call $~lib/rt/pure/__release - local.get $56 - call $~lib/rt/pure/__release + call $~lib/builtins/abort + unreachable ) - (func $start (; 300 ;) (type $FUNCSIG$v) + (func $start (; 302 ;) (type $FUNCSIG$v) global.get $~lib/started if return @@ -22933,22 +27379,22 @@ end call $start:std/array ) - (func $~lib/array/Array#__visit_impl (; 301 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 303 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 302 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 304 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 303 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 305 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 304 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 306 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 305 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 307 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/pure/markGray (; 306 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 308 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -22975,7 +27421,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 307 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 309 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -22992,7 +27438,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 308 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 310 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -23029,7 +27475,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 309 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 311 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -23067,7 +27513,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 310 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 312 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -23113,6 +27559,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -23124,7 +27574,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -23163,7 +27613,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -23193,7 +27643,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -23201,7 +27651,7 @@ end end ) - (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 311 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 313 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23230,6 +27680,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -23240,7 +27694,7 @@ unreachable end ) - (func $~lib/array/Array>#__visit_impl (; 312 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array>#__visit_impl (; 314 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23269,6 +27723,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -23279,7 +27737,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/string/String | null>#__visit_impl (; 313 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String | null>#__visit_impl (; 315 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23308,6 +27766,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -23318,7 +27780,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 314 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 316 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23347,6 +27809,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -23357,16 +27823,16 @@ unreachable end ) - (func $~lib/array/Array#__visit_impl (; 315 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 317 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 316 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 318 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 317 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 319 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 318 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 320 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23395,6 +27861,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -23405,16 +27875,16 @@ unreachable end ) - (func $~lib/array/Array#__visit_impl (; 319 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 321 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 320 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 322 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 321 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 323 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 322 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 324 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23443,6 +27913,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -23453,7 +27927,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 323 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 325 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23482,6 +27956,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -23492,7 +27970,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit_impl (; 324 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit_impl (; 326 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23521,6 +27999,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -23531,45 +28013,72 @@ unreachable end ) - (func $~lib/rt/__visit_members (; 325 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 327 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$27 - block $switch$1$case$26 - block $switch$1$case$25 - block $switch$1$case$24 - block $switch$1$case$23 - block $switch$1$case$22 - block $switch$1$case$21 - block $switch$1$case$19 - block $switch$1$case$18 - block $switch$1$case$17 - block $switch$1$case$16 - block $switch$1$case$15 - block $switch$1$case$14 - block $switch$1$case$12 - block $switch$1$case$11 - block $switch$1$case$10 - block $switch$1$case$9 - block $switch$1$case$8 - block $switch$1$case$5 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$2 $switch$1$case$4 $switch$1$case$8 $switch$1$case$9 $switch$1$case$10 $switch$1$case$11 $switch$1$case$12 $switch$1$case$2 $switch$1$case$14 $switch$1$case$15 $switch$1$case$16 $switch$1$case$17 $switch$1$case$18 $switch$1$case$19 $switch$1$case$2 $switch$1$case$21 $switch$1$case$22 $switch$1$case$23 $switch$1$case$24 $switch$1$case$25 $switch$1$case$26 $switch$1$case$27 $switch$1$default + block $switch$1$case$29 + block $switch$1$case$28 + block $switch$1$case$27 + block $switch$1$case$26 + block $switch$1$case$25 + block $switch$1$case$24 + block $switch$1$case$23 + block $switch$1$case$21 + block $switch$1$case$20 + block $switch$1$case$19 + block $switch$1$case$18 + block $switch$1$case$17 + block $switch$1$case$16 + block $switch$1$case$14 + block $switch$1$case$13 + block $switch$1$case$12 + block $switch$1$case$11 + block $switch$1$case$10 + block $switch$1$case$6 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$6 $switch$1$case$2 $switch$1$case$4 $switch$1$case$10 $switch$1$case$11 $switch$1$case$12 $switch$1$case$13 $switch$1$case$14 $switch$1$case$2 $switch$1$case$16 $switch$1$case$17 $switch$1$case$18 $switch$1$case$19 $switch$1$case$20 $switch$1$case$21 $switch$1$case$2 $switch$1$case$23 $switch$1$case$24 $switch$1$case$25 $switch$1$case$26 $switch$1$case$27 $switch$1$case$28 $switch$1$case$29 $switch$1$default + end + return end - return + br $block$4$break end + local.get $0 + local.get $1 + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 - local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + return end local.get $0 local.get $1 @@ -23673,6 +28182,6 @@ end return ) - (func $null (; 326 ;) (type $FUNCSIG$v) + (func $null (; 328 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/arraybuffer.optimized.wat b/tests/compiler/std/arraybuffer.optimized.wat index c883da1993..496073bf96 100644 --- a/tests/compiler/std/arraybuffer.optimized.wat +++ b/tests/compiler/std/arraybuffer.optimized.wat @@ -1,30 +1,32 @@ (module (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (memory $0 1) - (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 56) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 160) "(\00\00\00\01\00\00\00\01\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 216) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 320) "$\00\00\00\01\00\00\00\01\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 376) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 416) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 440) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (data (i32.const 488) "\10\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\93\04\00\00\02\00\00\001\04\00\00\02\00\00\001\00\00\00\02\00\00\001\00\00\00\02\00\00\00Q\04\00\00\02\00\00\00Q\00\00\00\02\00\00\00\91\04\00\00\02\00\00\00\91\00\00\00\02\00\00\00\11\05\00\00\02\00\00\00\11\01\00\00\02\00\00\00\91\0c\00\00\02\00\00\00\11\0d\00\00\02\00\00\00\10") + (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 104) "(\00\00\00\01\00\00\00\01\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 160) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 196) "\01\00\00\00\01") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\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 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 352) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data (i32.const 408) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 432) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (data (i32.const 480) "\12\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\03\00\00\00\93\04\00\00\02\00\00\001\04\00\00\02\00\00\001\00\00\00\02\00\00\001\00\00\00\02\00\00\00Q\04\00\00\02\00\00\00Q\00\00\00\02\00\00\00\91\04\00\00\02\00\00\00\91\00\00\00\02\00\00\00\11\05\00\00\02\00\00\00\11\01\00\00\02\00\00\00\91\0c\00\00\02\00\00\00\11\0d\00\00\02\00\00\00\10") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) @@ -32,7 +34,60 @@ (global $~lib/argc (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) - (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 628 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -45,7 +100,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -67,7 +122,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -112,7 +167,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -198,7 +253,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -209,7 +264,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -223,7 +278,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -296,7 +351,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -353,7 +408,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -368,7 +423,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -418,7 +473,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -483,7 +538,7 @@ i32.or i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -504,7 +559,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -521,7 +576,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -549,7 +604,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -597,7 +652,7 @@ local.get $1 call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/tlsf/initializeRoot (; 8 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 10 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 1 @@ -617,10 +672,10 @@ if unreachable end - i32.const 624 + i32.const 640 i32.const 0 i32.store - i32.const 2192 + i32.const 2208 i32.const 0 i32.store i32.const 0 @@ -634,7 +689,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 624 + i32.const 640 i32.add i32.const 0 i32.store offset=4 @@ -653,7 +708,7 @@ i32.add i32.const 2 i32.shl - i32.const 624 + i32.const 640 i32.add i32.const 0 i32.store offset=96 @@ -671,26 +726,26 @@ br $loop|0 end end - i32.const 624 - i32.const 2208 + i32.const 640 + i32.const 2224 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 624 + i32.const 640 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 176 - i32.const 128 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -704,7 +759,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 i32.const 256 @@ -761,7 +816,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -813,7 +868,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -835,7 +890,7 @@ end end ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) memory.size local.tee $2 @@ -872,7 +927,7 @@ i32.shl call $~lib/rt/tlsf/addMemory ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -883,7 +938,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -948,13 +1003,19 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 local.get $1 call $~lib/rt/tlsf/prepareSize - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz @@ -969,7 +1030,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 477 i32.const 15 call $~lib/builtins/abort @@ -984,7 +1045,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 479 i32.const 13 call $~lib/builtins/abort @@ -1007,7 +1068,7 @@ call $~lib/rt/rtrace/onalloc local.get $2 ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/rt/tlsf/ROOT local.tee $2 @@ -1019,115 +1080,64 @@ end local.get $0 call $~lib/rt/tlsf/allocateBlock - local.tee $0 + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 local.get $1 i32.store offset=8 local.get $0 i32.const 16 i32.add ) - (func $~lib/memory/memory.fill (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.const 0 - i32.store8 - local.get $0 - i32.const 8 - i32.add - local.tee $1 - i32.const 1 - i32.sub - i32.const 0 - i32.store8 - local.get $0 - i32.const 1 - i32.add - i32.const 0 - i32.store8 - local.get $0 - i32.const 2 - i32.add - i32.const 0 - i32.store8 - local.get $1 - i32.const 2 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 3 - i32.sub - i32.const 0 - i32.store8 - local.get $0 - i32.const 3 - i32.add - i32.const 0 - i32.store8 - local.get $1 - i32.const 4 - i32.sub - i32.const 0 - i32.store8 - ) - (func $~lib/rt/pure/increment (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and + (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) local.get $1 + i32.load + local.tee $2 i32.const 1 - i32.add - i32.const -268435456 i32.and - i32.ne if i32.const 0 - i32.const 232 - i32.const 104 + i32.const 72 + i32.const 531 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement + i32.or + i32.store local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 232 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree ) - (func $~lib/rt/pure/__retain (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/__typeinfo (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 620 + i32.const 480 + i32.load i32.gt_u if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 - ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 16 - i32.sub - i32.load offset=12 + i32.const 3 + i32.shl + i32.const 484 + i32.add + i32.load ) (func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -1304,154 +1314,40 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#slice (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - local.get $0 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $3 - i32.add - local.tee $1 - i32.const 0 - local.get $1 + (func $~lib/rt/tlsf/__free (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $3 - local.get $1 - local.get $3 - i32.lt_s - select + i32.const 72 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable end - local.set $1 - local.get $2 + local.get $0 + i32.const 15 + i32.and + i32.eqz i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $3 - i32.add - local.tee $2 - i32.const 0 - local.get $2 + local.get $0 + select + i32.eqz + if i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.lt_s - select + i32.const 72 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable end - local.get $1 - i32.sub - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.tee $3 - local.get $0 - local.get $1 - i32.add - local.get $2 - call $~lib/memory/memory.copy - local.get $3 - call $~lib/rt/pure/__retain - ) - (func $~lib/rt/tlsf/freeBlock (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 128 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 488 - i32.load - i32.gt_u - if - i32.const 336 - i32.const 392 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.shl - i32.const 492 - i32.add - i32.load - ) - (func $~lib/rt/tlsf/__free (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 561 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $0 - select - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 562 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - i32.const 16 + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 24 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 21 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1472,7 +1368,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $0 + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 i32.const 16 i32.sub call $~lib/rt/rtrace/onfree @@ -1500,7 +1401,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.tee $1 @@ -1508,6 +1409,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -1519,9 +1424,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1536,7 +1442,7 @@ i32.and if i32.const 0 - i32.const 232 + i32.const 24 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -1569,7 +1475,7 @@ i32.le_u if i32.const 0 - i32.const 232 + i32.const 24 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -1578,6 +1484,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1609,9 +1519,9 @@ end end ) - (func $~lib/rt/pure/__release (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 620 + i32.const 628 i32.gt_u if local.get $0 @@ -1620,519 +1530,774 @@ call $~lib/rt/pure/decrement end ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/rt/pure/__retain - drop - local.get $0 - call $~lib/rt/pure/__release - i32.const 0 - ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 + (func $~lib/error/Error#constructor (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 call $~lib/rt/pure/__retain drop local.get $0 - if - local.get $0 - call $~lib/rt/pure/__release - i32.const 1 - return - end - local.get $0 - call $~lib/rt/pure/__release - i32.const 0 - ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - i32.const 1 - i32.const 1073741808 - local.get $1 - i32.shr_u - i32.gt_u - if - i32.const 24 - i32.const 72 - i32.const 14 - i32.const 56 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - local.get $1 - i32.shl - local.tee $2 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $1 - local.get $0 i32.eqz if i32.const 12 - i32.const 2 + i32.const 3 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 end local.get $0 - i32.const 0 + i32.const 176 + call $~lib/rt/pure/__retain i32.store local.get $0 - i32.const 0 + i32.const 208 + call $~lib/rt/pure/__retain i32.store offset=4 local.get $0 - i32.const 0 - i32.store offset=8 - local.get $1 - local.get $0 - i32.load - local.tee $3 - i32.ne - if - local.get $1 - call $~lib/rt/pure/__retain - drop - local.get $3 - call $~lib/rt/pure/__release - end - local.get $0 local.get $1 - i32.store - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $2 i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release local.get $0 ) - (func $~lib/rt/__allocArray (; 31 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/error/RangeError#constructor (; 26 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) - i32.const 16 - i32.const 3 - call $~lib/rt/tlsf/__alloc - local.tee $0 - i32.const 8 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.tee $1 - call $~lib/rt/pure/__retain - i32.store - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - i32.const 8 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.store offset=12 - local.get $1 - i32.const 432 - i32.const 8 - call $~lib/memory/memory.copy - local.get $0 - ) - (func $~lib/dataview/DataView#constructor (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - local.get $0 + i32.const 320 call $~lib/rt/pure/__retain drop - local.get $1 - i32.const 1073741808 - i32.gt_u - local.get $1 - local.get $0 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.gt_u - i32.or - if - local.get $0 - call $~lib/rt/pure/__release - i32.const 24 - i32.const 456 - i32.const 21 - i32.const 6 - call $~lib/builtins/abort - unreachable - end i32.const 12 - i32.const 15 + i32.const 4 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain - local.tee $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $2 - i32.load - local.tee $3 + i32.const 320 + call $~lib/error/Error#constructor + local.tee $0 local.get $0 + i32.load + local.tee $2 + i32.const 280 i32.ne if - local.get $0 + i32.const 280 call $~lib/rt/pure/__retain drop - local.get $3 + local.get $2 call $~lib/rt/pure/__release end - local.get $2 - local.get $0 + i32.const 280 i32.store - local.get $2 - local.get $0 - i32.store offset=4 - local.get $2 - local.get $1 - i32.store offset=8 - local.get $0 + i32.const 320 call $~lib/rt/pure/__release - local.get $2 + local.get $0 ) - (func $start:std/arraybuffer (; 33 ;) (type $FUNCSIG$v) - (local $0 i32) + (func $~lib/memory/memory.fill (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - i32.const 8 + local.get $0 i32.const 0 - call $~lib/rt/tlsf/__alloc - local.tee $0 - call $~lib/memory/memory.fill + i32.store8 local.get $0 - call $~lib/rt/pure/__retain - local.tee $2 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 8 - i32.ne - if - i32.const 0 - i32.const 280 - i32.const 4 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 + i32.add + local.tee $1 + i32.const 1 + i32.sub i32.const 0 - i32.const 1073741808 - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + i32.store8 + local.get $0 + i32.const 1 + i32.add + i32.const 0 + i32.store8 + local.get $0 + i32.const 2 + i32.add + i32.const 0 + i32.store8 + local.get $1 + i32.const 2 + i32.sub + i32.const 0 + i32.store8 + local.get $1 + i32.const 3 + i32.sub + i32.const 0 + i32.store8 + local.get $0 + i32.const 3 + i32.add + i32.const 0 + i32.store8 + local.get $1 + i32.const 4 + i32.sub + i32.const 0 + i32.store8 + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load offset=12 + ) + (func $~lib/arraybuffer/ArrayBuffer#slice (; 29 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $0 call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 8 - i32.ne - if + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $3 + i32.add + local.tee $1 i32.const 0 - i32.const 280 - i32.const 8 - i32.const 2 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_s + select end - local.get $0 + local.set $1 local.get $2 - i32.eq - if + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $3 + i32.add + local.tee $2 i32.const 0 - i32.const 280 - i32.const 9 - i32.const 2 - call $~lib/builtins/abort - unreachable + local.get $2 + i32.const 0 + i32.gt_s + select + else + local.get $2 + local.get $3 + local.get $2 + local.get $3 + i32.lt_s + select end - local.get $2 - i32.const 1 - i32.const 1073741808 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $1 - local.get $0 - call $~lib/rt/pure/__release local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 7 - i32.ne + i32.sub + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $3 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error if i32.const 0 - i32.const 280 - i32.const 13 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end local.get $2 - i32.const -1 - i32.const 1073741808 - call $~lib/arraybuffer/ArrayBuffer#slice + local.get $0 local.get $1 + i32.add + local.get $3 + call $~lib/memory/memory.copy + local.get $2 + call $~lib/rt/pure/__retain + ) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $0 call $~lib/rt/pure/__release - local.tee $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 1 - i32.ne + i32.const 0 + ) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $0 if - i32.const 0 - i32.const 280 - i32.const 17 - i32.const 2 - call $~lib/builtins/abort - unreachable + local.get $0 + call $~lib/rt/pure/__release + i32.const 1 + return end - local.get $2 + local.get $0 + call $~lib/rt/pure/__release + i32.const 0 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) i32.const 1 - i32.const 3 - call $~lib/arraybuffer/ArrayBuffer#slice + i32.const 1073741808 local.get $1 - call $~lib/rt/pure/__release - local.tee $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 2 - i32.ne + i32.shr_u + i32.gt_u if + call $~lib/error/RangeError#constructor + global.set $~lib/error i32.const 0 - i32.const 280 - i32.const 21 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end - local.get $2 i32.const 1 - i32.const -1 - call $~lib/arraybuffer/ArrayBuffer#slice local.get $1 - call $~lib/rt/pure/__release - local.tee $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 6 - i32.ne + i32.shl + local.tee $2 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $1 + global.get $~lib/error if i32.const 0 - i32.const 280 - i32.const 25 + return + end + local.get $0 + i32.eqz + if + i32.const 12 i32.const 2 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 end - local.get $2 - i32.const -3 - i32.const -1 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $0 + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 local.get $1 - call $~lib/rt/pure/__release local.get $0 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 2 + i32.load + local.tee $3 i32.ne if - i32.const 0 - i32.const 280 - i32.const 29 - i32.const 2 - call $~lib/builtins/abort - unreachable + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release end + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 local.get $2 - i32.const -4 - i32.const 42 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $3 + i32.store offset=8 local.get $0 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 4 - i32.ne + ) + (func $~lib/rt/__allocArray (; 33 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + (local $1 i32) + i32.const 16 + i32.const 5 + call $~lib/rt/tlsf/__alloc + local.set $0 + global.get $~lib/error if i32.const 0 - i32.const 280 - i32.const 33 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end - local.get $2 - i32.const 42 - i32.const 1073741808 - call $~lib/arraybuffer/ArrayBuffer#slice + i32.const 8 + i32.const 0 + call $~lib/rt/tlsf/__alloc local.set $1 - local.get $3 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength + global.get $~lib/error if i32.const 0 - i32.const 280 - i32.const 37 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end + local.get $0 local.get $1 - i32.eqz + call $~lib/rt/pure/__retain + i32.store + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + i32.const 8 + i32.store offset=8 + local.get $0 + i32.const 2 + i32.store offset=12 + local.get $1 + i32.const 424 + i32.const 8 + call $~lib/memory/memory.copy + local.get $0 + ) + (func $~lib/dataview/DataView#constructor (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $1 + i32.const 1073741808 + i32.gt_u + local.get $1 + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.gt_u + i32.or if + call $~lib/error/RangeError#constructor + global.set $~lib/error + local.get $0 + call $~lib/rt/pure/__release i32.const 0 - i32.const 280 - i32.const 38 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end + i32.const 12 + i32.const 17 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> + i32.store offset=8 + local.get $2 + i32.load + local.tee $3 + local.get $0 + i32.ne if + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release + end + local.get $2 + local.get $0 + i32.store + local.get $2 + local.get $0 + i32.store offset=4 + local.get $2 + local.get $1 + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__release + local.get $2 + ) + (func $start:std/arraybuffer (; 35 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $__inlined_func$~lib/arraybuffer/ArrayBuffer#constructor (result i32) + i32.const 8 i32.const 0 - i32.const 280 - i32.const 40 - i32.const 2 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/__alloc + local.set $0 + i32.const 0 + global.get $~lib/error + br_if $__inlined_func$~lib/arraybuffer/ArrayBuffer#constructor + drop + local.get $0 + call $~lib/memory/memory.fill + local.get $0 + call $~lib/rt/pure/__retain end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> - if + local.set $2 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $2 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 4 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 280 - i32.const 42 + i32.const 1073741808 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 8 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.eq + if + i32.const 0 + i32.const 368 + i32.const 9 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 1073741808 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 7 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 13 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const -1 + i32.const 1073741808 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 17 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 3 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 21 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const -1 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 25 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const -3 + i32.const -1 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> - if + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 29 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const -4 + i32.const 42 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 33 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 42 + i32.const 1073741808 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $3 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + if + i32.const 0 + i32.const 368 + i32.const 37 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 38 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 43 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> - if + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> + if + i32.const 0 + i32.const 368 + i32.const 40 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 44 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 12 - i32.const 5 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.set $3 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> - if + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + if + i32.const 0 + i32.const 368 + i32.const 42 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 47 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> - i32.eqz - if + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + if + i32.const 0 + i32.const 368 + i32.const 43 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 48 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 12 - i32.const 9 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - local.get $0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> - i32.eqz - if + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + if + i32.const 0 + i32.const 368 + i32.const 44 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 12 + i32.const 7 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain i32.const 0 - i32.const 280 - i32.const 49 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + br_if $uncaughtError + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.set $1 + call $~lib/rt/pure/__retain + local.tee $6 + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> + if + i32.const 0 + i32.const 368 + i32.const 47 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 48 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 12 + i32.const 11 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~lib/argc - local.get $3 - i32.load - call $~lib/rt/pure/__retain - local.tee $0 - local.set $7 - block $2of2 - block $1of2 - block $outOfRange - global.get $~lib/argc - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange + call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + end + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.tee $4 + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 49 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc + local.get $1 + i32.load + call $~lib/rt/pure/__retain + local.tee $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~lib/argc + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange + end + unreachable end + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $5 + end + local.get $0 + local.get $5 + call $~lib/dataview/DataView#constructor + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 50 + i32.const 2 + call $~lib/builtins/abort unreachable end + local.get $2 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + call $~lib/rt/pure/__release local.get $0 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $4 - end - local.get $0 - local.get $4 - call $~lib/dataview/DataView#constructor - local.tee $0 - local.set $4 - local.get $0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> - i32.eqz - if - i32.const 0 - i32.const 280 - i32.const 50 - i32.const 2 - call $~lib/builtins/abort - unreachable + call $~lib/rt/pure/__release + return end - local.get $2 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release + i32.const 448 + i32.const 368 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 34 ;) (type $FUNCSIG$v) + (func $start (; 36 ;) (type $FUNCSIG$v) call $start:std/arraybuffer ) - (func $~lib/rt/pure/markGray (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2156,7 +2321,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -2169,7 +2334,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 39 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2203,7 +2368,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -2236,9 +2401,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 620 + i32.const 628 i32.lt_u if return @@ -2271,6 +2436,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -2281,7 +2450,7 @@ i32.le_u if i32.const 0 - i32.const 232 + i32.const 24 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -2314,7 +2483,7 @@ i32.ne if i32.const 0 - i32.const 232 + i32.const 24 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -2339,22 +2508,50 @@ br $break|0 end i32.const 0 - i32.const 232 + i32.const 24 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/rt/__visit_members (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 42 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$2 + block $switch$1$case$5 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $switch$1$case$5 $switch$1$case$5 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -2369,7 +2566,7 @@ call $~lib/rt/pure/__visit end ) - (func $null (; 41 ;) (type $FUNCSIG$v) + (func $null (; 43 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/arraybuffer.untouched.wat b/tests/compiler/std/arraybuffer.untouched.wat index a2158288c6..681bd19e93 100644 --- a/tests/compiler/std/arraybuffer.untouched.wat +++ b/tests/compiler/std/arraybuffer.untouched.wat @@ -1,43 +1,106 @@ (module (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (memory $0 1) - (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 56) "&\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 160) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 216) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 320) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 376) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 416) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 440) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00") - (data (i32.const 488) "\10\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\93\04\00\00\02\00\00\001\04\00\00\02\00\00\001\00\00\00\02\00\00\001\00\00\00\02\00\00\00Q\04\00\00\02\00\00\00Q\00\00\00\02\00\00\00\91\04\00\00\02\00\00\00\91\00\00\00\02\00\00\00\11\05\00\00\02\00\00\00\11\01\00\00\02\00\00\00\91\0c\00\00\02\00\00\00\11\0d\00\00\02\00\00\00\10\00\00\00\00\00\00\00") + (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 104) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 160) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 192) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 352) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") + (data (i32.const 408) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 432) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") + (data (i32.const 480) "\12\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\03\00\00\00\93\04\00\00\02\00\00\001\04\00\00\02\00\00\001\00\00\00\02\00\00\001\00\00\00\02\00\00\00Q\04\00\00\02\00\00\00Q\00\00\00\02\00\00\00\91\04\00\00\02\00\00\00\91\00\00\00\02\00\00\00\11\05\00\00\02\00\00\00\11\01\00\00\02\00\00\00\91\0c\00\00\02\00\00\00\11\0d\00\00\02\00\00\00\10\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) + (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 488)) - (global $~lib/heap/__heap_base i32 (i32.const 620)) + (global $~lib/rt/__rtti_base i32 (i32.const 480)) + (global $~lib/heap/__heap_base i32 (i32.const 628)) (export "memory" (memory $0)) (start $start) - (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -57,7 +120,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -82,7 +145,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -134,7 +197,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -247,7 +310,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -264,7 +327,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -279,7 +342,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -372,7 +435,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -435,7 +498,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -451,7 +514,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -508,7 +571,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -597,7 +660,7 @@ local.get $7 i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/addMemory (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -627,7 +690,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -650,7 +713,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -681,7 +744,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -745,7 +808,7 @@ call $~lib/rt/tlsf/insertBlock i32.const 1 ) - (func $~lib/rt/tlsf/initializeRoot (; 8 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 10 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -890,19 +953,19 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 176 - i32.const 128 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -919,7 +982,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -992,7 +1055,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -1055,7 +1118,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -1102,7 +1165,7 @@ end local.get $7 ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1155,7 +1218,7 @@ call $~lib/rt/tlsf/addMemory drop ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1169,7 +1232,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -1250,74 +1313,83 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $1 call $~lib/rt/tlsf/prepareSize local.set $2 - local.get $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 - call $~lib/rt/tlsf/searchBlock local.set $3 + local.get $0 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if local.get $0 - local.get $2 + local.get $3 call $~lib/rt/tlsf/growMemory local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 477 i32.const 15 call $~lib/builtins/abort unreachable end end - local.get $3 + local.get $4 i32.load i32.const 3 i32.const -1 i32.xor i32.and - local.get $2 + local.get $3 i32.ge_u i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 479 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 i32.const 0 i32.store offset=4 - local.get $3 + local.get $4 local.get $1 i32.store offset=12 local.get $0 - local.get $3 + local.get $4 call $~lib/rt/tlsf/removeBlock local.get $0 + local.get $4 local.get $3 - local.get $2 call $~lib/rt/tlsf/prepareBlock - local.get $3 + local.get $4 call $~lib/rt/rtrace/onalloc - local.get $3 + local.get $4 ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/tlsf/ROOT local.set $2 local.get $2 @@ -1331,460 +1403,166 @@ local.get $0 call $~lib/rt/tlsf/allocateBlock local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 + local.set $4 + local.get $4 local.get $1 i32.store offset=8 - local.get $3 + local.get $4 i32.const 16 i32.add ) - (func $~lib/memory/memory.fill (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 531 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - block $~lib/util/memory/memset|inlined.0 - local.get $0 - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 1 - i32.sub - local.get $4 - i32.store8 - local.get $3 - i32.const 2 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 + block $break|0 + loop $continue|0 + local.get $2 + if (result i32) + local.get $1 + i32.const 3 + i32.and + else + i32.const 0 + end + i32.eqz + br_if $break|0 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 end - local.get $5 - i32.const 1 - i32.add - local.get $4 - i32.store8 - local.get $5 - i32.const 2 - i32.add - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 2 - i32.sub - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 3 - i32.sub - local.get $4 - i32.store8 - local.get $3 - i32.const 6 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 3 - i32.add - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 4 - i32.sub - local.get $4 - i32.store8 - local.get $3 - i32.const 8 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - i32.const 0 - local.get $5 - i32.sub - i32.const 3 - i32.and - local.set $6 - local.get $5 - local.get $6 - i32.add - local.set $5 - local.get $3 - local.get $6 - i32.sub - local.set $3 - local.get $3 - i32.const -4 - i32.and - local.set $3 - i32.const -1 - i32.const 255 - i32.div_u - local.get $4 - i32.const 255 - i32.and - i32.mul - local.set $7 - local.get $5 - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 4 - i32.sub - local.get $7 - i32.store - local.get $3 - i32.const 8 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 4 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 8 - i32.add - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 12 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 8 - i32.sub - local.get $7 - i32.store - local.get $3 - i32.const 24 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 12 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 16 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 20 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 24 - i32.add - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 28 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 24 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 20 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 16 - i32.sub - local.get $7 - i32.store - i32.const 24 - local.get $5 - i32.const 4 - i32.and - i32.add - local.set $6 - local.get $5 - local.get $6 - i32.add - local.set $5 - local.get $3 - local.get $6 - i32.sub - local.set $3 - local.get $7 - i64.extend_i32_u - local.get $7 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - local.set $8 - block $break|0 - loop $continue|0 - local.get $3 - i32.const 32 + unreachable + end + local.get $0 + i32.const 3 + i32.and + i32.const 0 + i32.eq + if + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 i32.ge_u i32.eqz - br_if $break|0 - local.get $5 - local.get $8 - i64.store - local.get $5 + br_if $break|1 + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 i32.const 8 i32.add - local.get $8 - i64.store - local.get $5 + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 i32.const 16 i32.add - local.get $8 - i64.store - local.get $5 - i32.const 24 + local.set $1 + local.get $0 + i32.const 16 i32.add - local.get $8 - i64.store - local.get $3 - i32.const 32 + local.set $0 + local.get $2 + i32.const 16 i32.sub - local.set $3 - local.get $5 - i32.const 32 - i32.add - local.set $5 - br $continue|0 - end - unreachable - end - end - ) - (func $~lib/rt/pure/increment (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 232 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 232 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 1073741808 - i32.gt_u - if - i32.const 24 - i32.const 72 - i32.const 56 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $2 - local.get $2 - i32.const 0 - local.get $1 - call $~lib/memory/memory.fill - local.get $2 - call $~lib/rt/pure/__retain - ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 16 - i32.sub - i32.load offset=12 - ) - (func $~lib/util/memory/memcpy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $break|0 - loop $continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - i32.eqz - br_if $break|0 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $continue|0 - end - unreachable - end - local.get $0 - i32.const 3 - i32.and - i32.const 0 - i32.eq - if - block $break|1 - loop $continue|1 - local.get $2 - i32.const 16 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.const 8 - i32.add - i32.load - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $continue|1 + local.set $2 + br $continue|1 end unreachable end @@ -2721,7 +2499,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2946,181 +2724,44 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#slice (; 22 ;) (type $FUNCSIG$iiii) (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) + (func $~lib/rt/tlsf/__free (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable + end local.get $0 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $3 - local.get $1 i32.const 0 - i32.lt_s + i32.ne if (result i32) - local.get $3 - local.get $1 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select + local.get $0 + i32.const 15 + i32.and + i32.eqz else - local.get $1 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select + i32.const 0 end - local.set $1 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $3 - local.get $2 - i32.add - local.tee $4 + i32.eqz + if i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select + i32.const 72 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable end - local.set $2 - local.get $2 - local.get $1 - i32.sub - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $7 - local.get $7 - local.get $0 - local.get $1 - i32.add - local.get $6 - call $~lib/memory/memory.copy - local.get $7 - call $~lib/rt/pure/__retain - ) - (func $~lib/rt/tlsf/freeBlock (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.set $2 - local.get $2 - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 336 - i32.const 392 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/rt/tlsf/__free (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 561 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.ne - if (result i32) - local.get $0 - i32.const 15 - i32.and - i32.eqz - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 562 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - i32.const 16 + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 i32.sub call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/pure/growRoots (; 26 ;) (type $FUNCSIG$v) + (func $~lib/rt/pure/growRoots (; 22 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -3149,6 +2790,12 @@ local.get $4 i32.const 0 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $5 local.get $5 i32.const 16 @@ -3178,7 +2825,7 @@ i32.add global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/appendRoot (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/rt/pure/CUR local.set $1 @@ -3187,6 +2834,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -3198,9 +2849,10 @@ i32.add global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.set $1 @@ -3218,7 +2870,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -3257,7 +2909,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -3266,6 +2918,12 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 16 i32.and i32.eqz @@ -3286,6 +2944,10 @@ if local.get $0 call $~lib/rt/pure/appendRoot + global.get $~lib/error + if + return + end end else local.get $0 @@ -3302,7 +2964,7 @@ end end ) - (func $~lib/rt/pure/__release (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/__release (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/heap/__heap_base i32.gt_u @@ -3311,118 +2973,581 @@ i32.const 16 i32.sub call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end end ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 + (func $~lib/error/Error#constructor (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 call $~lib/rt/pure/__retain drop local.get $0 + i32.eqz if + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 176 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 208 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + if (result i32) local.get $0 + else + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 280 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain drop - i32.const 0 + local.get $2 + call $~lib/rt/pure/__release + end + local.get $3 + i32.store + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/memory/memory.fill (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + block $~lib/util/memory/memset|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + i32.eqz if - i32.const 1 - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - return + br $~lib/util/memory/memset|inlined.0 end - local.get $0 - drop - i32.const 0 + local.get $5 + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 1 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 2 + i32.le_u if - i32.const 1 - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - return + br $~lib/util/memory/memset|inlined.0 end - local.get $0 - drop - i32.const 0 + local.get $5 + i32.const 1 + i32.add + local.get $4 + i32.store8 + local.get $5 + i32.const 2 + i32.add + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 2 + i32.sub + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 3 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 6 + i32.le_u if - i32.const 1 - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - return + br $~lib/util/memory/memset|inlined.0 end - local.get $0 - drop - i32.const 0 - if - i32.const 1 - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - return - end - local.get $0 - drop - i32.const 0 + local.get $5 + i32.const 3 + i32.add + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 4 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 8 + i32.le_u if - i32.const 1 - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - return + br $~lib/util/memory/memset|inlined.0 end - local.get $0 - drop i32.const 0 + local.get $5 + i32.sub + i32.const 3 + i32.and + local.set $6 + local.get $5 + local.get $6 + i32.add + local.set $5 + local.get $3 + local.get $6 + i32.sub + local.set $3 + local.get $3 + i32.const -4 + i32.and + local.set $3 + i32.const -1 + i32.const 255 + i32.div_u + local.get $4 + i32.const 255 + i32.and + i32.mul + local.set $7 + local.get $5 + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 4 + i32.sub + local.get $7 + i32.store + local.get $3 + i32.const 8 + i32.le_u if - i32.const 1 - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - return + br $~lib/util/memory/memset|inlined.0 end - local.get $0 - drop - i32.const 0 + local.get $5 + i32.const 4 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 8 + i32.add + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 12 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 8 + i32.sub + local.get $7 + i32.store + local.get $3 + i32.const 24 + i32.le_u if - i32.const 1 - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - return + br $~lib/util/memory/memset|inlined.0 end - local.get $0 - drop - i32.const 0 - if - i32.const 1 - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - return + local.get $5 + i32.const 12 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 16 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 20 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 24 + i32.add + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 28 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 24 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 20 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 16 + i32.sub + local.get $7 + i32.store + i32.const 24 + local.get $5 + i32.const 4 + i32.and + i32.add + local.set $6 + local.get $5 + local.get $6 + i32.add + local.set $5 + local.get $3 + local.get $6 + i32.sub + local.set $3 + local.get $7 + i64.extend_i32_u + local.get $7 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $8 + block $break|0 + loop $continue|0 + local.get $3 + i32.const 32 + i32.ge_u + i32.eqz + br_if $break|0 + local.get $5 + local.get $8 + i64.store + local.get $5 + i32.const 8 + i32.add + local.get $8 + i64.store + local.get $5 + i32.const 16 + i32.add + local.get $8 + i64.store + local.get $5 + i32.const 24 + i32.add + local.get $8 + i64.store + local.get $3 + i32.const 32 + i32.sub + local.set $3 + local.get $5 + i32.const 32 + i32.add + local.set $5 + br $continue|0 + end + unreachable end - local.get $0 - drop + end + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.const 1073741808 + i32.gt_u + if i32.const 0 - if - i32.const 1 - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - return - end - local.get $0 - drop + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error i32.const 0 - if + return + end + local.get $1 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $3 + local.get $3 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $3 + call $~lib/rt/pure/__retain + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load offset=12 + ) + (func $~lib/arraybuffer/ArrayBuffer#slice (; 31 ;) (type $FUNCSIG$iiii) (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) + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $3 + local.get $1 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $1 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + end + local.set $1 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $3 + local.get $2 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + end + local.set $2 + local.get $2 + local.get $1 + i32.sub + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $6 + local.get $6 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + local.set $7 + local.get $7 + local.get $0 + local.get $1 + i32.add + local.get $6 + call $~lib/memory/memory.copy + local.get $7 + call $~lib/rt/pure/__retain + ) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $0 + if + local.get $0 + drop + i32.const 0 + if + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + end + local.get $0 + drop + i32.const 0 + if + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + end + local.get $0 + drop + i32.const 0 + if + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + end + local.get $0 + drop + i32.const 0 + if + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + end + local.get $0 + drop + i32.const 0 + if + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + end + local.get $0 + drop + i32.const 0 + if + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + end + local.get $0 + drop + i32.const 0 + if + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + end + local.get $0 + drop + i32.const 0 + if + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + end + local.get $0 + drop + i32.const 0 + if + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + end + local.get $0 + drop + i32.const 0 + if i32.const 1 local.set $1 local.get $0 @@ -3459,7 +3584,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/arraybuffer/ArrayBuffer.isView (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 if local.get $0 @@ -3549,7 +3674,7 @@ end i32.const 0 ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3695,7 +3820,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3841,7 +3966,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3987,7 +4112,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3997,12 +4122,12 @@ i32.shr_u i32.gt_u if - i32.const 24 - i32.const 72 - i32.const 14 - i32.const 56 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $2 @@ -4011,6 +4136,13 @@ i32.const 0 call $~lib/rt/tlsf/__alloc local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $4 local.get $0 i32.eqz if @@ -4030,101 +4162,132 @@ i32.const 0 i32.store offset=8 local.get $0 - local.tee $4 - local.get $3 - local.tee $5 + local.tee $3 local.get $4 + local.tee $5 + local.get $3 i32.load - local.tee $4 + local.tee $3 i32.ne if local.get $5 call $~lib/rt/pure/__retain drop - local.get $4 + local.get $3 call $~lib/rt/pure/__release end local.get $5 i32.store local.get $0 - local.get $3 + local.get $4 i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $0 ) - (func $~lib/typedarray/Uint8Array#constructor (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#constructor (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 5 + i32.const 7 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/rt/__allocArray (; 37 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocArray (; 39 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) i32.const 16 local.get $2 call $~lib/rt/tlsf/__alloc local.set $4 - local.get $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + local.set $5 + local.get $0 local.get $1 i32.shl - local.set $5 - local.get $5 + local.set $6 + local.get $6 i32.const 0 call $~lib/rt/tlsf/__alloc - local.set $6 + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end local.get $4 - local.get $6 + local.set $7 + local.get $5 + local.get $7 call $~lib/rt/pure/__retain i32.store - local.get $4 - local.get $6 + local.get $5 + local.get $7 i32.store offset=4 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 + local.get $5 local.get $0 i32.store offset=12 local.get $3 if - local.get $6 + local.get $7 local.get $3 - local.get $5 + local.get $6 call $~lib/memory/memory.copy end - local.get $4 + local.get $5 ) - (func $~lib/typedarray/Int32Array#constructor (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#constructor (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 9 + i32.const 11 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/dataview/DataView#constructor (; 39 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/dataview/DataView#constructor (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -4142,20 +4305,20 @@ i32.gt_u i32.or if + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error local.get $1 call $~lib/rt/pure/__release - i32.const 24 - i32.const 456 - i32.const 21 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + return end local.get $0 i32.eqz if i32.const 12 - i32.const 15 + i32.const 17 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -4200,12 +4363,12 @@ call $~lib/rt/pure/__release local.get $0 ) - (func $~lib/typedarray/Uint8Array#get:buffer (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#get:buffer (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load call $~lib/rt/pure/__retain ) - (func $~lib/dataview/DataView#constructor|trampoline (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/dataview/DataView#constructor|trampoline (; 43 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -4230,7 +4393,7 @@ local.get $3 call $~lib/dataview/DataView#constructor ) - (func $start:std/arraybuffer (; 42 ;) (type $FUNCSIG$v) + (func $start:std/arraybuffer (; 44 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -4238,368 +4401,455 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 0 - i32.const 8 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 - local.get $0 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 280 - i32.const 4 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 1073741808 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $1 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 8 - i32.eq - i32.eqz - if + block $uncaughtError i32.const 0 - i32.const 280 i32.const 8 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 280 - i32.const 9 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 1073741808 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $2 - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - local.set $1 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 280 - i32.const 13 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const -1 - i32.const 1073741808 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $2 - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - local.set $1 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 280 - i32.const 17 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 3 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $2 - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - local.set $1 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 2 - i32.eq - i32.eqz - if + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.set $0 + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 4 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.const 280 - i32.const 21 + i32.const 1073741808 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.set $1 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 8 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 9 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.const 1073741808 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + local.set $1 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 13 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const -1 + i32.const 1073741808 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + local.set $1 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 17 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.const 3 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + local.set $1 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const -1 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $2 - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - local.set $1 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 280 - i32.const 25 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 21 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.const -1 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + local.set $1 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 25 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const -3 + i32.const -1 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + local.set $1 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const -3 - i32.const -1 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $2 - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - local.set $1 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 2 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 29 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const -4 + i32.const 42 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + local.set $1 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 33 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 42 + i32.const 1073741808 + call $~lib/arraybuffer/ArrayBuffer#slice + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + local.set $1 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 0 - i32.const 280 - i32.const 29 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const -4 - i32.const 42 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $2 - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - local.set $1 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 4 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 37 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 280 - i32.const 33 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 42 - i32.const 1073741808 - call $~lib/arraybuffer/ArrayBuffer#slice - local.set $2 - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - local.set $1 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 0 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 38 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 37 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 40 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 38 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> - i32.eqz - i32.eqz - if + call $~lib/arraybuffer/ArrayBuffer.isView + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 41 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 40 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView - i32.eqz - i32.eqz - if + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 42 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 41 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> - i32.eqz - i32.eqz - if + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 43 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 42 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> - i32.eqz - i32.eqz - if + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 44 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 43 + i32.const 1 + call $~lib/typedarray/Uint8Array#constructor + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 280 - i32.const 44 i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#constructor - local.set $2 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 432 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> - i32.eqz - i32.eqz - if + i32.const 5 + i32.const 424 + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + call $~lib/rt/pure/__retain + local.tee $4 + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 47 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 48 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 280 - i32.const 47 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> - i32.eqz - if + i32.const 1 + call $~lib/typedarray/Int32Array#constructor + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + local.tee $3 + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 49 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc i32.const 0 - i32.const 280 - i32.const 48 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> - i32.eqz - if + local.get $2 + call $~lib/typedarray/Uint8Array#get:buffer + local.tee $5 i32.const 0 - i32.const 280 - i32.const 49 - i32.const 2 - call $~lib/builtins/abort - unreachable + i32.const 0 + call $~lib/dataview/DataView#constructor|trampoline + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + local.tee $6 + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 50 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + return end + i32.const 448 + i32.const 368 i32.const 1 - global.set $~lib/argc i32.const 0 - local.get $2 - call $~lib/typedarray/Uint8Array#get:buffer - local.tee $5 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#constructor|trampoline - local.tee $6 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> - i32.eqz - if - i32.const 0 - i32.const 280 - i32.const 50 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release + call $~lib/builtins/abort + unreachable ) - (func $start (; 43 ;) (type $FUNCSIG$v) + (func $start (; 45 ;) (type $FUNCSIG$v) call $start:std/arraybuffer ) - (func $~lib/array/Array#__visit_impl (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 46 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/pure/markGray (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -4626,7 +4876,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -4643,7 +4893,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 49 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -4680,7 +4930,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -4718,7 +4968,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 51 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4764,6 +5014,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -4775,7 +5029,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -4814,7 +5068,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -4844,7 +5098,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -4852,22 +5106,49 @@ end end ) - (func $~lib/rt/__visit_members (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$5 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$default + block $switch$1$case$7 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$5 $switch$1$case$7 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$default + end + return end - return + br $block$4$break + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end - br $block$4$break + return end local.get $0 local.get $1 @@ -4886,6 +5167,6 @@ end return ) - (func $null (; 51 ;) (type $FUNCSIG$v) + (func $null (; 53 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/dataview.optimized.wat b/tests/compiler/std/dataview.optimized.wat index 8dbdbb926d..7a8a14cc24 100644 --- a/tests/compiler/std/dataview.optimized.wat +++ b/tests/compiler/std/dataview.optimized.wat @@ -1,12 +1,12 @@ (module (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$fiii (func (param i32 i32 i32) (result f32))) (type $FUNCSIG$jj (func (param i64) (result i64))) (type $FUNCSIG$dii (func (param i32 i32) (result f64))) @@ -15,22 +15,23 @@ (type $FUNCSIG$vidi (func (param i32 f64 i32))) (type $FUNCSIG$viji (func (param i32 i64 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (memory $0 1) - (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 56) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 160) "(\00\00\00\01\00\00\00\01\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 216) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\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 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 360) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 416) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (data (i32.const 464) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (data (i32.const 512) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\001\00\00\00\02\00\00\00\10") + (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 104) "(\00\00\00\01\00\00\00\01\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 160) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 196) "\01\00\00\00\01") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\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 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 352) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data (i32.const 400) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (data (i32.const 448) "\07\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\001\00\00\00\02\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\00\10") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) @@ -38,7 +39,60 @@ (global $~lib/argc (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) - (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 508 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -51,7 +105,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -73,7 +127,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -118,7 +172,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -204,7 +258,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -215,7 +269,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -229,7 +283,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -302,7 +356,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -359,7 +413,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -374,7 +428,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -424,7 +478,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -489,7 +543,7 @@ i32.or i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -510,7 +564,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -527,7 +581,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -555,7 +609,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -603,7 +657,7 @@ local.get $1 call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/tlsf/initializeRoot (; 8 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 10 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 1 @@ -623,10 +677,10 @@ if unreachable end - i32.const 560 + i32.const 512 i32.const 0 i32.store - i32.const 2128 + i32.const 2080 i32.const 0 i32.store i32.const 0 @@ -640,7 +694,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 560 + i32.const 512 i32.add i32.const 0 i32.store offset=4 @@ -659,7 +713,7 @@ i32.add i32.const 2 i32.shl - i32.const 560 + i32.const 512 i32.add i32.const 0 i32.store offset=96 @@ -677,26 +731,26 @@ br $loop|0 end end - i32.const 560 - i32.const 2144 + i32.const 512 + i32.const 2096 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 560 + i32.const 512 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 176 - i32.const 128 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -710,7 +764,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 i32.const 256 @@ -767,7 +821,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -819,7 +873,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -841,7 +895,7 @@ end end ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) memory.size local.tee $2 @@ -878,7 +932,7 @@ i32.shl call $~lib/rt/tlsf/addMemory ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -889,7 +943,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -954,13 +1008,19 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 local.get $1 call $~lib/rt/tlsf/prepareSize - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz @@ -975,7 +1035,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 477 i32.const 15 call $~lib/builtins/abort @@ -990,7 +1050,7 @@ i32.lt_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 479 i32.const 13 call $~lib/builtins/abort @@ -1013,7 +1073,7 @@ call $~lib/rt/rtrace/onalloc local.get $2 ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/rt/tlsf/ROOT local.tee $2 @@ -1025,65 +1085,18 @@ end local.get $0 call $~lib/rt/tlsf/allocateBlock - local.tee $0 - local.get $1 - i32.store offset=8 - local.get $0 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne + local.set $0 + global.get $~lib/error if i32.const 0 - i32.const 232 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end local.get $0 local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 232 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 556 - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end + i32.store offset=8 local.get $0 + i32.const 16 + i32.add ) (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) @@ -1094,7 +1107,7 @@ i32.and if i32.const 0 - i32.const 128 + i32.const 72 i32.const 531 i32.const 2 call $~lib/builtins/abort @@ -1113,21 +1126,21 @@ ) (func $~lib/rt/__typeinfo (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 512 + i32.const 448 i32.load i32.gt_u if - i32.const 280 - i32.const 336 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 3 i32.shl - i32.const 516 + i32.const 452 i32.add i32.load ) @@ -1311,7 +1324,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 561 i32.const 13 call $~lib/builtins/abort @@ -1327,7 +1340,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 562 i32.const 2 call $~lib/builtins/abort @@ -1360,7 +1373,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $0 + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 i32.const 16 i32.sub call $~lib/rt/rtrace/onfree @@ -1396,6 +1414,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -1410,6 +1432,7 @@ (func $~lib/rt/pure/decrement (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1424,7 +1447,7 @@ i32.and if i32.const 0 - i32.const 232 + i32.const 24 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -1457,7 +1480,7 @@ i32.le_u if i32.const 0 - i32.const 232 + i32.const 24 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -1466,6 +1489,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1499,7 +1526,7 @@ ) (func $~lib/rt/pure/__release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 556 + i32.const 508 i32.gt_u if local.get $0 @@ -1508,13 +1535,78 @@ call $~lib/rt/pure/decrement end ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/error/Error#constructor (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 176 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 208 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.get $0 + call $~lib/error/Error#constructor + local.tee $1 + local.get $1 + i32.load + local.tee $3 + i32.const 280 + i32.ne + if + i32.const 280 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release + end + i32.const 280 + i32.store + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 8 i32.const 0 call $~lib/rt/tlsf/__alloc local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.eqz if @@ -1556,18 +1648,16 @@ i32.store offset=8 local.get $0 ) - (func $~lib/typedarray/Uint8Array#__set (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#__set (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 280 - i32.const 376 - i32.const 115 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -1576,13 +1666,13 @@ local.get $2 i32.store8 ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub i32.load offset=12 ) - (func $~lib/dataview/DataView#constructor (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/dataview/DataView#constructor (; 30 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -1599,17 +1689,16 @@ i32.gt_u i32.or if + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error local.get $0 call $~lib/rt/pure/__release - i32.const 24 - i32.const 432 - i32.const 21 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + return end i32.const 12 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $3 @@ -1648,19 +1737,19 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8Array#get:buffer (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#get:buffer (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load call $~lib/rt/pure/__retain ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=4 local.get $0 i32.load i32.sub ) - (func $~lib/polyfills/bswap (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/polyfills/bswap (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const -16711936 i32.and @@ -1673,7 +1762,7 @@ i32.rotr i32.or ) - (func $~lib/dataview/DataView#getFloat32 (; 32 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $~lib/dataview/DataView#getFloat32 (; 34 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) local.get $1 i32.const 0 i32.lt_s @@ -1685,12 +1774,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 44 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f32.const 0 + return end local.get $2 if (result f32) @@ -1709,7 +1797,7 @@ f32.reinterpret_i32 end ) - (func $~lib/polyfills/bswap (; 33 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) + (func $~lib/polyfills/bswap (; 35 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) local.get $0 i64.const 8 i64.shr_u @@ -1735,18 +1823,17 @@ i64.const 32 i64.rotr ) - (func $~lib/dataview/DataView#getFloat64 (; 34 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/dataview/DataView#getFloat64 (; 36 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) i32.const 8 local.get $0 i32.load offset=8 i32.gt_s if - i32.const 280 - i32.const 432 - i32.const 58 - i32.const 7 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f64.const 0 + return end local.get $1 if (result f64) @@ -1761,18 +1848,17 @@ f64.reinterpret_i64 end ) - (func $~lib/dataview/DataView#getInt8 (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/dataview/DataView#getInt8 (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 280 - i32.const 432 - i32.const 69 - i32.const 49 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -1780,7 +1866,7 @@ i32.add i32.load8_s ) - (func $~lib/polyfills/bswap (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/polyfills/bswap (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -1793,7 +1879,7 @@ i32.shl i32.or ) - (func $~lib/dataview/DataView#getInt16 (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/dataview/DataView#getInt16 (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 0 i32.lt_s @@ -1805,12 +1891,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 77 - i32.const 7 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -1827,7 +1912,7 @@ end local.get $0 ) - (func $~lib/dataview/DataView#getInt32 (; 38 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/dataview/DataView#getInt32 (; 40 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 0 i32.lt_s @@ -1839,12 +1924,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 86 - i32.const 7 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -1861,19 +1945,18 @@ end local.get $0 ) - (func $~lib/dataview/DataView#getInt64 (; 39 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/dataview/DataView#getInt64 (; 41 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) (local $2 i64) i32.const 8 local.get $0 i32.load offset=8 i32.gt_s if - i32.const 280 - i32.const 432 - i32.const 180 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i64.const 0 + return end local.get $0 i32.load offset=4 @@ -1887,18 +1970,17 @@ call $~lib/polyfills/bswap end ) - (func $~lib/dataview/DataView#getUint8 (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/dataview/DataView#getUint8 (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 280 - i32.const 432 - i32.const 92 - i32.const 49 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -1906,7 +1988,7 @@ i32.add i32.load8_u ) - (func $~lib/polyfills/bswap (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/polyfills/bswap (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 8 i32.shl @@ -1917,7 +1999,7 @@ i32.shr_u i32.or ) - (func $~lib/dataview/DataView#getUint16 (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/dataview/DataView#getUint16 (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 0 i32.lt_s @@ -1929,12 +2011,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 100 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -1951,78 +2032,16 @@ end local.get $0 ) - (func $~lib/dataview/DataView#getUint32 (; 43 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - i32.const 0 - i32.lt_s - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.gt_s - i32.or - if - i32.const 280 - i32.const 432 - i32.const 109 - i32.const 6 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.add - i32.load - local.set $0 - local.get $2 - i32.eqz - if - local.get $0 - call $~lib/polyfills/bswap - local.set $0 - end - local.get $0 - ) - (func $~lib/dataview/DataView#getUint64 (; 44 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) - (local $2 i64) - i32.const 8 - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 280 - i32.const 432 - i32.const 189 - i32.const 6 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i64.load - local.set $2 - local.get $1 - if (result i64) - local.get $2 - else - local.get $2 - call $~lib/polyfills/bswap - end - ) (func $~lib/dataview/DataView#setFloat32 (; 45 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32) i32.const 4 local.get $0 i32.load offset=8 i32.gt_s if - i32.const 280 - i32.const 432 - i32.const 118 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $2 if @@ -2045,12 +2064,10 @@ i32.load offset=8 i32.gt_s if - i32.const 280 - i32.const 432 - i32.const 127 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $2 if @@ -2067,36 +2084,16 @@ i64.store end ) - (func $~lib/dataview/DataView#setInt8 (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 0 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 280 - i32.const 432 - i32.const 133 - i32.const 49 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 108 - i32.store8 - ) - (func $~lib/dataview/DataView#setInt16 (; 48 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/dataview/DataView#setInt16 (; 47 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) i32.const 2 local.get $0 i32.load offset=8 i32.gt_s if - i32.const 280 - i32.const 432 - i32.const 141 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -2109,18 +2106,16 @@ end i32.store16 ) - (func $~lib/dataview/DataView#setInt32 (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/dataview/DataView#setInt32 (; 48 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) i32.const 4 local.get $0 i32.load offset=8 i32.gt_s if - i32.const 280 - i32.const 432 - i32.const 149 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -2133,18 +2128,16 @@ end i32.store ) - (func $~lib/dataview/DataView#setInt64 (; 50 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/dataview/DataView#setInt64 (; 49 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) i32.const 8 local.get $0 i32.load offset=8 i32.gt_s if - i32.const 280 - i32.const 432 - i32.const 198 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -2157,36 +2150,16 @@ end i64.store ) - (func $~lib/dataview/DataView#setUint8 (; 51 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 0 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 280 - i32.const 432 - i32.const 154 - i32.const 49 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 238 - i32.store8 - ) - (func $~lib/dataview/DataView#setUint16 (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/dataview/DataView#setUint16 (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) i32.const 2 local.get $0 i32.load offset=8 i32.gt_s if - i32.const 280 - i32.const 432 - i32.const 162 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -2199,55 +2172,7 @@ end i32.store16 ) - (func $~lib/dataview/DataView#setUint32 (; 53 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - i32.const 4 - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 280 - i32.const 432 - i32.const 170 - i32.const 6 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $2 - if (result i32) - local.get $1 - else - local.get $1 - call $~lib/polyfills/bswap - end - i32.store - ) - (func $~lib/dataview/DataView#setUint64 (; 54 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) - i32.const 8 - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 280 - i32.const 432 - i32.const 206 - i32.const 6 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $2 - if (result i64) - local.get $1 - else - local.get $1 - call $~lib/polyfills/bswap - end - i64.store - ) - (func $~lib/dataview/DataView#constructor|trampoline (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/dataview/DataView#constructor|trampoline (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) block $2of2 block $1of2 @@ -2268,1575 +2193,1889 @@ local.get $1 call $~lib/dataview/DataView#constructor ) - (func $start:std/dataview (; 56 ;) (type $FUNCSIG$v) + (func $start:std/dataview (; 52 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) + (local $2 f32) + (local $3 i64) (local $4 i32) + (local $5 f64) + (local $6 i32) + (local $7 i32) i32.const 12 i32.const 3 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $1 - i32.const 0 - i32.const 246 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 1 - i32.const 224 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 2 - i32.const 88 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 3 - i32.const 159 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 4 - i32.const 130 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 5 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 6 - i32.const 67 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 7 - i32.const 95 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - call $~lib/typedarray/Uint8Array#get:buffer - local.tee $3 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $1 - i32.load offset=8 - call $~lib/dataview/DataView#constructor - local.tee $0 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const -4.592586247781397e-20 - f32.ne - if - i32.const 0 - i32.const 480 - i32.const 15 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const -2.3413961970849473e-37 - f32.ne + local.set $1 + global.get $~lib/error if i32.const 0 - i32.const 480 - i32.const 16 - i32.const 2 - call $~lib/builtins/abort - unreachable + local.set $1 end - local.get $0 - i32.const 2 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const 77105877018631129268224 - f32.ne - if + local.get $1 + local.set $4 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $4 i32.const 0 - i32.const 480 - i32.const 17 + i32.const 246 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $4 + i32.const 1 + i32.const 224 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $4 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const 229.51023864746094 - f32.ne - if + i32.const 88 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $4 + i32.const 3 + i32.const 159 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $4 + i32.const 4 + i32.const 130 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $4 + i32.const 5 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $4 + i32.const 6 + i32.const 67 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $4 + i32.const 7 + i32.const 95 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $4 + call $~lib/typedarray/Uint8Array#get:buffer + local.tee $6 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $4 + i32.load offset=8 + call $~lib/dataview/DataView#constructor + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 18 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const 14079802746555334656 - f32.ne - if - i32.const 0 - i32.const 480 - i32.const 19 + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const -4.592586247781397e-20 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 15 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const -2.3413961970849473e-37 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 16 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const -2275140518817895515269171e9 - f32.ne - if + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const 77105877018631129268224 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 17 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const 229.51023864746094 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 18 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const 14079802746555334656 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 19 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 21 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const -62437351080004157440 - f32.ne - if i32.const 0 - i32.const 480 - i32.const 22 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const 1403059112509440 - f32.ne - if + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const -2275140518817895515269171e9 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 21 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 i32.const 0 - i32.const 480 - i32.const 23 + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const -62437351080004157440 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 22 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const -5.522466503261712e-20 - f32.ne - if i32.const 0 - i32.const 480 - i32.const 24 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const -1.6843597451835358e-37 - f32.ne - if + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const 1403059112509440 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 23 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 i32.const 0 - i32.const 480 - i32.const 25 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/dataview/DataView#getFloat64 - f64.const 7936550095674706383278551e126 - f64.ne - if + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const -5.522466503261712e-20 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 24 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 i32.const 0 - i32.const 480 - i32.const 27 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#getFloat64 - f64.const -411777475818852546741639e241 - f64.ne - if + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const -1.6843597451835358e-37 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 25 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/dataview/DataView#getFloat64 + global.get $~lib/error + br_if $uncaughtError + f64.const 7936550095674706383278551e126 + f64.ne + if + i32.const 0 + i32.const 368 + i32.const 27 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 28 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#getInt8 - i32.const -10 - i32.ne - if + call $~lib/dataview/DataView#getFloat64 + global.get $~lib/error + br_if $uncaughtError + f64.const -411777475818852546741639e241 + f64.ne + if + i32.const 0 + i32.const 368 + i32.const 28 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 30 + call $~lib/dataview/DataView#getInt8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 246 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 30 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/dataview/DataView#getInt8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 224 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 31 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/dataview/DataView#getInt8 - i32.const -32 - i32.ne - if + call $~lib/dataview/DataView#getInt8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 88 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 32 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + call $~lib/dataview/DataView#getInt8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 159 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 33 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + call $~lib/dataview/DataView#getInt8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 130 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 34 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 5 + call $~lib/dataview/DataView#getInt8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 101 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 35 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 6 + call $~lib/dataview/DataView#getInt8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 67 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 36 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 7 + call $~lib/dataview/DataView#getInt8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 95 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 37 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 31 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/dataview/DataView#getInt8 - i32.const 88 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 32 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - call $~lib/dataview/DataView#getInt8 - i32.const -97 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 33 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - call $~lib/dataview/DataView#getInt8 - i32.const -126 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 34 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 57590 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 39 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 22752 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 40 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - call $~lib/dataview/DataView#getInt8 - i32.const 101 - i32.ne - if + i32.const 1 + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 40792 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 41 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 33439 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 42 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 25986 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 43 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 5 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 17253 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 44 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 6 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 24387 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 45 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 35 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 6 - call $~lib/dataview/DataView#getInt8 - i32.const 67 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 36 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 7 - call $~lib/dataview/DataView#getInt8 - i32.const 95 - i32.ne - if + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 63200 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 47 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 i32.const 0 - i32.const 480 - i32.const 37 + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 57432 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 48 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 57590 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 39 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 22752 - i32.ne - if + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 22687 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 49 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 i32.const 0 - i32.const 480 - i32.const 40 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 40792 - i32.ne - if + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 40834 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 50 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 i32.const 0 - i32.const 480 - i32.const 41 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 33439 - i32.ne - if + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 33381 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 51 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 5 i32.const 0 - i32.const 480 - i32.const 42 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 25986 - i32.ne - if + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 25923 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 52 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 6 i32.const 0 - i32.const 480 - i32.const 43 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 17253 - i32.ne - if + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 17247 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 53 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 44 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -1621565194 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 55 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -2103486240 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 56 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 6 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 24387 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 45 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 63200 - i32.ne - if + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const 1703059288 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 57 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const 1130726047 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 58 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const 1598252418 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 59 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 47 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 57432 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 48 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 22687 - i32.ne - if + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -153069409 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 61 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 i32.const 0 - i32.const 480 - i32.const 49 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -531062910 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 62 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 40834 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 50 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 33381 - i32.ne - if + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const 1486848613 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 63 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 i32.const 0 - i32.const 480 - i32.const 51 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 25923 - i32.ne - if + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -1618844349 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 64 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 i32.const 0 - i32.const 480 - i32.const 52 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 6 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 17247 - i32.ne - if + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -2107292833 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 65 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/dataview/DataView#getInt64 + global.get $~lib/error + br_if $uncaughtError + i64.const 6864441868736323830 + i64.ne + if + i32.const 0 + i32.const 368 + i32.const 67 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 53 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const -1621565194 - i32.ne - if + call $~lib/dataview/DataView#getInt64 + global.get $~lib/error + br_if $uncaughtError + i64.const -657428103485373601 + i64.ne + if + i32.const 0 + i32.const 368 + i32.const 68 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 55 + call $~lib/dataview/DataView#getUint8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 246 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 70 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/dataview/DataView#getUint8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 224 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 71 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const -2103486240 - i32.ne - if + call $~lib/dataview/DataView#getUint8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 88 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 72 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + call $~lib/dataview/DataView#getUint8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 159 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 73 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + call $~lib/dataview/DataView#getUint8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 130 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 74 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 5 + call $~lib/dataview/DataView#getUint8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 101 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 75 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 6 + call $~lib/dataview/DataView#getUint8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 67 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 76 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 7 + call $~lib/dataview/DataView#getUint8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 95 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 77 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 56 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const 1703059288 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 57 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const 1130726047 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 58 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const 1598252418 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 59 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const -153069409 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 61 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const -531062910 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 62 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const 1486848613 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 63 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const -1618844349 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 64 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const -2107292833 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 65 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/dataview/DataView#getInt64 - i64.const 6864441868736323830 - i64.ne - if - i32.const 0 - i32.const 480 - i32.const 67 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#getInt64 - i64.const -657428103485373601 - i64.ne - if - i32.const 0 - i32.const 480 - i32.const 68 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#getUint8 - i32.const 246 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 70 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/dataview/DataView#getUint8 - i32.const 224 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 71 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/dataview/DataView#getUint8 - i32.const 88 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 72 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - call $~lib/dataview/DataView#getUint8 - i32.const 159 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 73 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - call $~lib/dataview/DataView#getUint8 - i32.const 130 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 74 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - call $~lib/dataview/DataView#getUint8 - i32.const 101 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 75 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 6 - call $~lib/dataview/DataView#getUint8 - i32.const 67 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 76 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 7 - call $~lib/dataview/DataView#getUint8 - i32.const 95 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 77 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 57590 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 79 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 22752 - i32.ne - if - i32.const 0 - i32.const 480 - i32.const 80 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 57590 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 79 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 22752 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 80 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 40792 - i32.ne - if + i32.const 1 + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 40792 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 81 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 33439 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 82 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 25986 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 83 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 5 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 17253 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 84 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 6 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 24387 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 85 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 81 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 33439 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 82 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 25986 - i32.ne - if + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 63200 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 87 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 i32.const 0 - i32.const 480 - i32.const 83 + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 57432 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 88 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 17253 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 84 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 6 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 24387 - i32.ne - if + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 22687 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 89 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 i32.const 0 - i32.const 480 - i32.const 85 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 63200 - i32.ne - if + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 40834 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 90 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 i32.const 0 - i32.const 480 - i32.const 87 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 57432 - i32.ne - if + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 33381 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 91 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 5 i32.const 0 - i32.const 480 - i32.const 88 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 22687 - i32.ne - if + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 25923 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 92 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 6 i32.const 0 - i32.const 480 - i32.const 89 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 40834 - i32.ne - if + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 17247 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 93 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 90 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -1621565194 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 95 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -2103486240 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 96 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 33381 - i32.ne - if + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const 1703059288 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 97 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const 1130726047 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 98 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const 1598252418 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 99 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 91 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 25923 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 92 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 6 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 17247 - i32.ne - if + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -153069409 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 101 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 i32.const 0 - i32.const 480 - i32.const 93 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -531062910 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 102 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const -1621565194 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 95 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const -2103486240 - i32.ne - if + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const 1486848613 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 103 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 i32.const 0 - i32.const 480 - i32.const 96 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const 1703059288 - i32.ne - if + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -1618844349 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 i32.const 0 - i32.const 480 - i32.const 97 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const 1130726047 - i32.ne - if + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -2107292833 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 105 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/dataview/DataView#getInt64 + global.get $~lib/error + br_if $uncaughtError + i64.const 6864441868736323830 + i64.ne + if + i32.const 0 + i32.const 368 + i32.const 107 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 98 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const 1598252418 - i32.ne - if + call $~lib/dataview/DataView#getInt64 + global.get $~lib/error + br_if $uncaughtError + i64.const -657428103485373601 + i64.ne + if + i32.const 0 + i32.const 368 + i32.const 108 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + f32.const 1.5976661625240943e-18 + i32.const 1 + call $~lib/dataview/DataView#setFloat32 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 99 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const -153069409 - i32.ne - if + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const 1.5976661625240943e-18 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 111 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + f32.const 1976281973381696323584 i32.const 0 - i32.const 480 - i32.const 101 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const -531062910 - i32.ne - if + call $~lib/dataview/DataView#setFloat32 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 102 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const 1486848613 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 103 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const -1618844349 - i32.ne - if + call $~lib/dataview/DataView#getFloat32 + global.get $~lib/error + br_if $uncaughtError + f32.const 1976281973381696323584 + f32.ne + if + i32.const 0 + i32.const 368 + i32.const 114 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + f64.const -1094252199637739024055454e124 + i32.const 1 + call $~lib/dataview/DataView#setFloat64 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 1 + call $~lib/dataview/DataView#getFloat64 + global.get $~lib/error + br_if $uncaughtError + f64.const -1094252199637739024055454e124 + f64.ne + if + i32.const 0 + i32.const 368 + i32.const 117 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + f64.const 6.022586634778589e-103 i32.const 0 - i32.const 480 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const -2107292833 - i32.ne - if + call $~lib/dataview/DataView#setFloat64 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 105 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/dataview/DataView#getUint64 - i64.const 6864441868736323830 - i64.ne - if + call $~lib/dataview/DataView#getFloat64 + global.get $~lib/error + br_if $uncaughtError + f64.const 6.022586634778589e-103 + f64.ne + if + i32.const 0 + i32.const 368 + i32.const 120 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 107 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#getUint64 - i64.const -657428103485373601 - i64.ne - if + i32.const 108 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 + call $~lib/dataview/DataView#getInt8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and i32.const 108 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - f32.const 1.5976661625240943e-18 - i32.const 1 - call $~lib/dataview/DataView#setFloat32 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const 1.5976661625240943e-18 - f32.ne - if + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 123 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const -13360 + i32.const 1 + call $~lib/dataview/DataView#setInt16 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 111 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - f32.const 1976281973381696323584 - i32.const 0 - call $~lib/dataview/DataView#setFloat32 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const 1976281973381696323584 - f32.ne - if + i32.const 1 + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 52176 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 126 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 14689 i32.const 0 - i32.const 480 - i32.const 114 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - f64.const -1094252199637739024055454e124 - i32.const 1 - call $~lib/dataview/DataView#setFloat64 - local.get $0 - i32.const 1 - call $~lib/dataview/DataView#getFloat64 - f64.const -1094252199637739024055454e124 - f64.ne - if + call $~lib/dataview/DataView#setInt16 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 117 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - f64.const 6.022586634778589e-103 - i32.const 0 - call $~lib/dataview/DataView#setFloat64 - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#getFloat64 - f64.const 6.022586634778589e-103 - f64.ne - if i32.const 0 - i32.const 480 - i32.const 120 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/dataview/DataView#setInt8 - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#getInt8 - i32.const 108 - i32.ne - if + call $~lib/dataview/DataView#getInt16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 14689 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 129 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1204680201 + i32.const 1 + call $~lib/dataview/DataView#setInt32 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 123 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const -13360 - i32.const 1 - call $~lib/dataview/DataView#setInt16 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 52176 - i32.ne - if + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const 1204680201 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 132 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 660673230 i32.const 0 - i32.const 480 - i32.const 126 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 14689 - i32.const 0 - call $~lib/dataview/DataView#setInt16 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 65535 - i32.and - i32.const 14689 - i32.ne - if + call $~lib/dataview/DataView#setInt32 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 129 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1204680201 - i32.const 1 - call $~lib/dataview/DataView#setInt32 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const 1204680201 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 132 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 660673230 - i32.const 0 - call $~lib/dataview/DataView#setInt32 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const 660673230 - i32.ne - if + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const 660673230 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 135 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i64.const -3290739641816099749 + i32.const 1 + call $~lib/dataview/DataView#setInt64 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 1 + call $~lib/dataview/DataView#getInt64 + global.get $~lib/error + br_if $uncaughtError + i64.const -3290739641816099749 + i64.ne + if + i32.const 0 + i32.const 368 + i32.const 138 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i64.const 8178932412950708047 + i32.const 0 + call $~lib/dataview/DataView#setInt64 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 0 + call $~lib/dataview/DataView#getInt64 + global.get $~lib/error + br_if $uncaughtError + i64.const 8178932412950708047 + i64.ne + if + i32.const 0 + i32.const 368 + i32.const 141 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 0 - i32.const 480 - i32.const 135 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i64.const -3290739641816099749 - i32.const 1 - call $~lib/dataview/DataView#setInt64 - local.get $0 - i32.const 1 - call $~lib/dataview/DataView#getInt64 - i64.const -3290739641816099749 - i64.ne - if + i32.const 238 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 138 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i64.const 8178932412950708047 - i32.const 0 - call $~lib/dataview/DataView#setInt64 - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#getInt64 - i64.const 8178932412950708047 - i64.ne - if + call $~lib/dataview/DataView#getUint8 + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 238 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 144 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 58856 + i32.const 1 + call $~lib/dataview/DataView#setUint16 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 141 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/dataview/DataView#setUint8 - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#getUint8 - i32.const 238 - i32.ne - if + i32.const 1 + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 58856 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 147 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 60400 i32.const 0 - i32.const 480 - i32.const 144 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 58856 - i32.const 1 - call $~lib/dataview/DataView#setUint16 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 58856 - i32.ne - if + call $~lib/dataview/DataView#setUint16 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 147 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 60400 - i32.const 0 - call $~lib/dataview/DataView#setUint16 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 60400 - i32.ne - if i32.const 0 - i32.const 480 - i32.const 150 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const -846805744 - i32.const 1 - call $~lib/dataview/DataView#setUint32 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const -846805744 - i32.ne - if + call $~lib/dataview/DataView#getUint16 + global.get $~lib/error + br_if $uncaughtError + i32.const 65535 + i32.and + i32.const 60400 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 150 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const -846805744 + i32.const 1 + call $~lib/dataview/DataView#setInt32 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 153 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const -1510791631 - i32.const 0 - call $~lib/dataview/DataView#setUint32 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const -1510791631 - i32.ne - if + i32.const 1 + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -846805744 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 153 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const -1510791631 i32.const 0 - i32.const 480 - i32.const 156 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i64.const 2334704782995986958 - i32.const 1 - call $~lib/dataview/DataView#setUint64 - local.get $0 - i32.const 1 - call $~lib/dataview/DataView#getUint64 - i64.const 2334704782995986958 - i64.ne - if + call $~lib/dataview/DataView#setInt32 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 159 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i64.const -7123186897289856329 - i32.const 0 - call $~lib/dataview/DataView#setUint64 - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#getUint64 - i64.const -7123186897289856329 - i64.ne - if i32.const 0 - i32.const 480 - i32.const 162 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~lib/argc - local.get $1 - call $~lib/typedarray/Uint8Array#get:buffer - local.tee $4 - call $~lib/dataview/DataView#constructor|trampoline - local.set $2 - local.get $0 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - if + call $~lib/dataview/DataView#getInt32 + global.get $~lib/error + br_if $uncaughtError + i32.const -1510791631 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 156 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i64.const 2334704782995986958 + i32.const 1 + call $~lib/dataview/DataView#setInt64 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 1 + call $~lib/dataview/DataView#getInt64 + global.get $~lib/error + br_if $uncaughtError + i64.const 2334704782995986958 + i64.ne + if + i32.const 0 + i32.const 368 + i32.const 159 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i64.const -7123186897289856329 i32.const 0 - i32.const 480 - i32.const 165 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=8 - i32.const 8 - i32.ne - if + call $~lib/dataview/DataView#setInt64 + global.get $~lib/error + br_if $uncaughtError + local.get $1 i32.const 0 - i32.const 480 - i32.const 166 - i32.const 2 - call $~lib/builtins/abort - unreachable + call $~lib/dataview/DataView#getInt64 + global.get $~lib/error + br_if $uncaughtError + i64.const -7123186897289856329 + i64.ne + if + i32.const 0 + i32.const 368 + i32.const 162 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc + local.get $4 + call $~lib/typedarray/Uint8Array#get:buffer + local.tee $7 + call $~lib/dataview/DataView#constructor|trampoline + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.tee $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 368 + i32.const 165 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 368 + i32.const 166 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + return end - local.get $1 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release + i32.const 416 + i32.const 368 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 57 ;) (type $FUNCSIG$v) + (func $start (; 53 ;) (type $FUNCSIG$v) call $start:std/dataview ) - (func $~lib/rt/pure/markGray (; 58 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 54 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3860,7 +4099,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 59 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 55 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -3873,7 +4112,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 60 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 56 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3907,7 +4146,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 61 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 57 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -3940,9 +4179,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 58 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 556 + i32.const 508 i32.lt_u if return @@ -3975,6 +4214,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -3985,7 +4228,7 @@ i32.le_u if i32.const 0 - i32.const 232 + i32.const 24 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -4018,7 +4261,7 @@ i32.ne if i32.const 0 - i32.const 232 + i32.const 24 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -4043,27 +4286,55 @@ br $break|0 end i32.const 0 - i32.const 232 + i32.const 24 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/rt/__visit_members (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 59 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$4 $switch$1$case$6 $switch$1$case$6 $switch$1$case$4 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 local.tee $0 if local.get $0 @@ -4074,7 +4345,7 @@ end unreachable ) - (func $null (; 64 ;) (type $FUNCSIG$v) + (func $null (; 60 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/dataview.untouched.wat b/tests/compiler/std/dataview.untouched.wat index 82f363e1ba..68c9bd973a 100644 --- a/tests/compiler/std/dataview.untouched.wat +++ b/tests/compiler/std/dataview.untouched.wat @@ -1,12 +1,12 @@ (module (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$fiii (func (param i32 i32 i32) (result f32))) (type $FUNCSIG$diii (func (param i32 i32 i32) (result f64))) @@ -16,35 +16,97 @@ (type $FUNCSIG$viidi (func (param i32 i32 f64 i32))) (type $FUNCSIG$viiji (func (param i32 i32 i64 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (memory $0 1) - (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 56) "&\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 160) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 216) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 360) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 416) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00") - (data (i32.const 464) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00") - (data (i32.const 512) "\05\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\001\00\00\00\02\00\00\00\10\00\00\00\00\00\00\00") + (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 104) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 160) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 192) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 352) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00") + (data (i32.const 400) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") + (data (i32.const 448) "\07\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\001\00\00\00\02\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\00\10\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 512)) - (global $~lib/heap/__heap_base i32 (i32.const 556)) + (global $~lib/rt/__rtti_base i32 (i32.const 448)) + (global $~lib/heap/__heap_base i32 (i32.const 508)) (export "memory" (memory $0)) (start $start) - (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -64,7 +126,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -89,7 +151,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -141,7 +203,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -254,7 +316,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -271,7 +333,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -286,7 +348,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -379,7 +441,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -442,7 +504,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -458,7 +520,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -515,7 +577,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -604,7 +666,7 @@ local.get $7 i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/addMemory (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -634,7 +696,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -657,7 +719,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -688,7 +750,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -752,7 +814,7 @@ call $~lib/rt/tlsf/insertBlock i32.const 1 ) - (func $~lib/rt/tlsf/initializeRoot (; 8 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 10 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -897,19 +959,19 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 176 - i32.const 128 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -926,7 +988,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -999,7 +1061,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -1062,7 +1124,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -1109,7 +1171,7 @@ end local.get $7 ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1162,7 +1224,7 @@ call $~lib/rt/tlsf/addMemory drop ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1176,7 +1238,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -1257,74 +1319,83 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $1 call $~lib/rt/tlsf/prepareSize local.set $2 - local.get $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 - call $~lib/rt/tlsf/searchBlock local.set $3 + local.get $0 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if local.get $0 - local.get $2 + local.get $3 call $~lib/rt/tlsf/growMemory local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 477 i32.const 15 call $~lib/builtins/abort unreachable end end - local.get $3 + local.get $4 i32.load i32.const 3 i32.const -1 i32.xor i32.and - local.get $2 + local.get $3 i32.ge_u i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 479 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 i32.const 0 i32.store offset=4 - local.get $3 + local.get $4 local.get $1 i32.store offset=12 local.get $0 - local.get $3 + local.get $4 call $~lib/rt/tlsf/removeBlock local.get $0 + local.get $4 local.get $3 - local.get $2 call $~lib/rt/tlsf/prepareBlock - local.get $3 + local.get $4 call $~lib/rt/rtrace/onalloc - local.get $3 + local.get $4 ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/tlsf/ROOT local.set $2 local.get $2 @@ -1338,73 +1409,19 @@ local.get $0 call $~lib/rt/tlsf/allocateBlock local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz + global.get $~lib/error if i32.const 0 - i32.const 232 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end - local.get $0 + local.get $3 + local.set $4 + local.get $4 local.get $1 - i32.const 1 + i32.store offset=8 + local.get $4 + i32.const 16 i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 232 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 ) (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) @@ -1418,7 +1435,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 531 i32.const 2 call $~lib/builtins/abort @@ -1444,12 +1461,12 @@ i32.load i32.gt_u if - i32.const 280 - i32.const 336 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 i32.const 4 @@ -2718,7 +2735,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 561 i32.const 13 call $~lib/builtins/abort @@ -2738,7 +2755,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 562 i32.const 2 call $~lib/builtins/abort @@ -2779,6 +2796,12 @@ local.get $4 i32.const 0 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $5 local.get $5 i32.const 16 @@ -2817,6 +2840,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -2831,6 +2858,7 @@ (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.set $1 @@ -2848,7 +2876,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -2887,7 +2915,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -2896,6 +2924,12 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 16 i32.and i32.eqz @@ -2916,6 +2950,10 @@ if local.get $0 call $~lib/rt/pure/appendRoot + global.get $~lib/error + if + return + end end else local.get $0 @@ -2941,76 +2979,155 @@ i32.const 16 i32.sub call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end end ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 26 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.const 1073741808 - local.get $2 - i32.shr_u - i32.gt_u - if - i32.const 24 - i32.const 72 - i32.const 14 - i32.const 56 - call $~lib/builtins/abort - unreachable - end + (func $~lib/error/Error#constructor (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $2 - i32.shl - local.tee $1 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $3 + call $~lib/rt/pure/__retain + drop local.get $0 i32.eqz if i32.const 12 - i32.const 2 + i32.const 4 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 end local.get $0 - i32.const 0 + i32.const 176 + call $~lib/rt/pure/__retain i32.store local.get $0 - i32.const 0 + i32.const 208 + call $~lib/rt/pure/__retain i32.store offset=4 local.get $0 - i32.const 0 + local.get $1 i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release local.get $0 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - i32.load - local.tee $4 - i32.ne - if - local.get $5 - call $~lib/rt/pure/__retain - drop - local.get $4 + ) + (func $~lib/error/RangeError#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 280 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $2 call $~lib/rt/pure/__release end - local.get $5 + local.get $3 + i32.store + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.const 1073741808 + local.get $2 + i32.shr_u + i32.gt_u + if + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + local.get $2 + i32.shl + local.tee $1 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $4 + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 2 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 0 i32.store local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + local.tee $3 + local.get $4 + local.tee $5 local.get $3 + i32.load + local.tee $3 + i32.ne + if + local.get $5 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release + end + local.get $5 + i32.store + local.get $0 + local.get $4 i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $0 ) - (func $~lib/typedarray/Uint8Array#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 @@ -3023,21 +3140,27 @@ local.get $1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint8Array#__set (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#__set (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 280 - i32.const 376 - i32.const 115 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3046,13 +3169,13 @@ local.get $2 i32.store8 ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub i32.load offset=12 ) - (func $~lib/dataview/DataView#constructor (; 30 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/dataview/DataView#constructor (; 32 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3070,20 +3193,20 @@ i32.gt_u i32.or if + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error local.get $1 call $~lib/rt/pure/__release - i32.const 24 - i32.const 432 - i32.const 21 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + return end local.get $0 i32.eqz if i32.const 12 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -3128,23 +3251,23 @@ call $~lib/rt/pure/__release local.get $0 ) - (func $~lib/typedarray/Uint8Array#get:buffer (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#get:buffer (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load call $~lib/rt/pure/__retain ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=4 local.get $0 i32.load i32.sub ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 ) - (func $~lib/polyfills/bswap (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/polyfills/bswap (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const -16711936 i32.and @@ -3158,7 +3281,7 @@ i32.or return ) - (func $~lib/dataview/DataView#getFloat32 (; 35 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $~lib/dataview/DataView#getFloat32 (; 37 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) local.get $1 i32.const 0 i32.lt_s @@ -3170,12 +3293,12 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 44 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f32.const 0 + return end local.get $2 if (result f32) @@ -3194,7 +3317,7 @@ f32.reinterpret_i32 end ) - (func $~lib/polyfills/bswap (; 36 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) + (func $~lib/polyfills/bswap (; 38 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) (local $1 i64) (local $2 i64) (local $3 i64) @@ -3233,7 +3356,7 @@ i64.rotr return ) - (func $~lib/dataview/DataView#getFloat64 (; 37 ;) (type $FUNCSIG$diii) (param $0 i32) (param $1 i32) (param $2 i32) (result f64) + (func $~lib/dataview/DataView#getFloat64 (; 39 ;) (type $FUNCSIG$diii) (param $0 i32) (param $1 i32) (param $2 i32) (result f64) local.get $1 i32.const 0 i32.lt_s @@ -3245,12 +3368,12 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 58 - i32.const 7 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f64.const 0 + return end local.get $2 if (result f64) @@ -3269,18 +3392,18 @@ f64.reinterpret_i64 end ) - (func $~lib/dataview/DataView#getInt8 (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/dataview/DataView#getInt8 (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 280 - i32.const 432 - i32.const 69 - i32.const 49 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -3288,7 +3411,7 @@ i32.add i32.load8_s ) - (func $~lib/polyfills/bswap (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/polyfills/bswap (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 8 i32.shl @@ -3304,7 +3427,7 @@ i32.or return ) - (func $~lib/dataview/DataView#getInt16 (; 40 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/dataview/DataView#getInt16 (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $1 i32.const 0 @@ -3317,12 +3440,12 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 77 - i32.const 7 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -3338,7 +3461,7 @@ call $~lib/polyfills/bswap end ) - (func $~lib/polyfills/bswap (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/polyfills/bswap (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const -16711936 i32.and @@ -3352,7 +3475,7 @@ i32.or return ) - (func $~lib/dataview/DataView#getInt32 (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/dataview/DataView#getInt32 (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $1 i32.const 0 @@ -3365,12 +3488,12 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 86 - i32.const 7 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -3386,7 +3509,7 @@ call $~lib/polyfills/bswap end ) - (func $~lib/polyfills/bswap (; 43 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) + (func $~lib/polyfills/bswap (; 45 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) (local $1 i64) (local $2 i64) (local $3 i64) @@ -3425,7 +3548,7 @@ i64.rotr return ) - (func $~lib/dataview/DataView#getInt64 (; 44 ;) (type $FUNCSIG$jiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i64) + (func $~lib/dataview/DataView#getInt64 (; 46 ;) (type $FUNCSIG$jiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i64) (local $3 i64) local.get $1 i32.const 0 @@ -3438,12 +3561,12 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 180 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i64.const 0 + return end local.get $0 i32.load offset=4 @@ -3459,18 +3582,18 @@ call $~lib/polyfills/bswap end ) - (func $~lib/dataview/DataView#getUint8 (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/dataview/DataView#getUint8 (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 280 - i32.const 432 - i32.const 92 - i32.const 49 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -3478,7 +3601,7 @@ i32.add i32.load8_u ) - (func $~lib/polyfills/bswap (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/polyfills/bswap (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 8 i32.shl @@ -3492,7 +3615,7 @@ i32.or return ) - (func $~lib/dataview/DataView#getUint16 (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/dataview/DataView#getUint16 (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $1 i32.const 0 @@ -3505,12 +3628,12 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 100 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -3526,7 +3649,7 @@ call $~lib/polyfills/bswap end ) - (func $~lib/dataview/DataView#getUint32 (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/dataview/DataView#getUint32 (; 50 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $1 i32.const 0 @@ -3539,12 +3662,12 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 109 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -3560,7 +3683,7 @@ call $~lib/polyfills/bswap end ) - (func $~lib/dataview/DataView#getUint64 (; 49 ;) (type $FUNCSIG$jiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i64) + (func $~lib/dataview/DataView#getUint64 (; 51 ;) (type $FUNCSIG$jiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i64) (local $3 i64) local.get $1 i32.const 0 @@ -3573,12 +3696,12 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 189 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i64.const 0 + return end local.get $0 i32.load offset=4 @@ -3594,7 +3717,7 @@ call $~lib/polyfills/bswap end ) - (func $~lib/dataview/DataView#setFloat32 (; 50 ;) (type $FUNCSIG$viifi) (param $0 i32) (param $1 i32) (param $2 f32) (param $3 i32) + (func $~lib/dataview/DataView#setFloat32 (; 52 ;) (type $FUNCSIG$viifi) (param $0 i32) (param $1 i32) (param $2 f32) (param $3 i32) local.get $1 i32.const 0 i32.lt_s @@ -3606,12 +3729,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 118 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $3 if @@ -3632,7 +3754,7 @@ i32.store end ) - (func $~lib/dataview/DataView#setFloat64 (; 51 ;) (type $FUNCSIG$viidi) (param $0 i32) (param $1 i32) (param $2 f64) (param $3 i32) + (func $~lib/dataview/DataView#setFloat64 (; 53 ;) (type $FUNCSIG$viidi) (param $0 i32) (param $1 i32) (param $2 f64) (param $3 i32) local.get $1 i32.const 0 i32.lt_s @@ -3644,12 +3766,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 127 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $3 if @@ -3670,18 +3791,17 @@ i64.store end ) - (func $~lib/dataview/DataView#setInt8 (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/dataview/DataView#setInt8 (; 54 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 280 - i32.const 432 - i32.const 133 - i32.const 49 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3690,7 +3810,7 @@ local.get $2 i32.store8 ) - (func $~lib/dataview/DataView#setInt16 (; 53 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/dataview/DataView#setInt16 (; 55 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 i32.const 0 i32.lt_s @@ -3702,12 +3822,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 141 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3722,7 +3841,7 @@ end i32.store16 ) - (func $~lib/dataview/DataView#setInt32 (; 54 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/dataview/DataView#setInt32 (; 56 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 i32.const 0 i32.lt_s @@ -3734,12 +3853,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 149 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3754,7 +3872,7 @@ end i32.store ) - (func $~lib/dataview/DataView#setInt64 (; 55 ;) (type $FUNCSIG$viiji) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32) + (func $~lib/dataview/DataView#setInt64 (; 57 ;) (type $FUNCSIG$viiji) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32) local.get $1 i32.const 0 i32.lt_s @@ -3766,12 +3884,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 198 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3786,18 +3903,17 @@ end i64.store ) - (func $~lib/dataview/DataView#setUint8 (; 56 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/dataview/DataView#setUint8 (; 58 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 280 - i32.const 432 - i32.const 154 - i32.const 49 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3806,7 +3922,7 @@ local.get $2 i32.store8 ) - (func $~lib/dataview/DataView#setUint16 (; 57 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/dataview/DataView#setUint16 (; 59 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 i32.const 0 i32.lt_s @@ -3818,12 +3934,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 162 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3838,7 +3953,7 @@ end i32.store16 ) - (func $~lib/dataview/DataView#setUint32 (; 58 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/dataview/DataView#setUint32 (; 60 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 i32.const 0 i32.lt_s @@ -3850,12 +3965,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 170 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3870,7 +3984,7 @@ end i32.store ) - (func $~lib/dataview/DataView#setUint64 (; 59 ;) (type $FUNCSIG$viiji) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32) + (func $~lib/dataview/DataView#setUint64 (; 61 ;) (type $FUNCSIG$viiji) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32) local.get $1 i32.const 0 i32.lt_s @@ -3882,12 +3996,11 @@ i32.gt_s i32.or if - i32.const 280 - i32.const 432 - i32.const 206 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3902,7 +4015,7 @@ end i64.store ) - (func $~lib/dataview/DataView#constructor|trampoline (; 60 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/dataview/DataView#constructor|trampoline (; 62 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -3927,1758 +4040,2534 @@ local.get $3 call $~lib/dataview/DataView#constructor ) - (func $~lib/dataview/DataView#get:byteOffset (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/dataview/DataView#get:byteOffset (; 63 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=4 local.get $0 i32.load i32.sub ) - (func $~lib/dataview/DataView#get:byteLength (; 62 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/dataview/DataView#get:byteLength (; 64 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 ) - (func $start:std/dataview (; 63 ;) (type $FUNCSIG$v) + (func $start:std/dataview (; 65 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - i32.const 0 - i32.const 8 - call $~lib/typedarray/Uint8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 246 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - i32.const 1 - i32.const 224 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - i32.const 2 - i32.const 88 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - i32.const 3 - i32.const 159 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - i32.const 4 - i32.const 130 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - i32.const 5 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - i32.const 6 - i32.const 67 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - i32.const 7 - i32.const 95 - call $~lib/typedarray/Uint8Array#__set - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint8Array#get:buffer - local.tee $1 - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - call $~lib/dataview/DataView#constructor - local.set $2 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const -4.592586247781397e-20 - f32.eq - i32.eqz - if + (local $3 f32) + (local $4 f64) + (local $5 i32) + (local $6 i64) + (local $7 i32) + block $uncaughtError i32.const 0 - i32.const 480 - i32.const 15 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const -2.3413961970849473e-37 - f32.eq - i32.eqz - if + i32.const 8 + call $~lib/typedarray/Uint8Array#constructor + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.set $0 + local.get $0 i32.const 0 - i32.const 480 - i32.const 16 + i32.const 246 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.const 224 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const 77105877018631129268224 - f32.eq - i32.eqz - if + i32.const 88 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 3 + i32.const 159 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 4 + i32.const 130 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 5 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 6 + i32.const 67 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 7 + i32.const 95 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + br $uncaughtError + end i32.const 0 - i32.const 480 - i32.const 17 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const 229.51023864746094 - f32.eq - i32.eqz - if + local.get $0 + call $~lib/typedarray/Uint8Array#get:buffer + local.tee $1 + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + call $~lib/dataview/DataView#constructor + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.set $2 + local.get $2 i32.const 0 - i32.const 480 - i32.const 18 + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const -4.592586247781397e-20 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 15 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const -2.3413961970849473e-37 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 16 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const 14079802746555334656 - f32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const 77105877018631129268224 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 17 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const 229.51023864746094 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 18 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const 14079802746555334656 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 19 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 19 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const -2275140518817895515269171e9 - f32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 21 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const -62437351080004157440 - f32.eq - i32.eqz - if + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const -2275140518817895515269171e9 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 21 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 i32.const 0 - i32.const 480 - i32.const 22 + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const -62437351080004157440 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 22 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const 1403059112509440 - f32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 23 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const -5.522466503261712e-20 - f32.eq - i32.eqz - if + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const 1403059112509440 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 23 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 i32.const 0 - i32.const 480 - i32.const 24 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const -1.6843597451835358e-37 - f32.eq - i32.eqz - if + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const -5.522466503261712e-20 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 24 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 i32.const 0 - i32.const 480 - i32.const 25 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getFloat64 - f64.const 7936550095674706383278551e126 - f64.eq - i32.eqz - if + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const -1.6843597451835358e-37 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 25 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 27 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getFloat64 - f64.const -411777475818852546741639e241 - f64.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getFloat64 + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + f64.const 7936550095674706383278551e126 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 27 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 28 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - call $~lib/dataview/DataView#getInt8 - i32.const -10 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 30 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/dataview/DataView#getInt8 - i32.const -32 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getFloat64 + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + f64.const -411777475818852546741639e241 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 28 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 31 + call $~lib/dataview/DataView#getInt8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -10 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 30 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + call $~lib/dataview/DataView#getInt8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -32 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 31 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - call $~lib/dataview/DataView#getInt8 - i32.const 88 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 88 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 32 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + call $~lib/dataview/DataView#getInt8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -97 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 33 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 + call $~lib/dataview/DataView#getInt8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -126 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 34 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 5 + call $~lib/dataview/DataView#getInt8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 101 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 35 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 6 + call $~lib/dataview/DataView#getInt8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 67 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 36 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 7 + call $~lib/dataview/DataView#getInt8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 95 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 37 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 32 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const -7946 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 39 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 22752 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 40 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - call $~lib/dataview/DataView#getInt8 - i32.const -97 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 33 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - call $~lib/dataview/DataView#getInt8 - i32.const -126 - i32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const -24744 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 41 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const -32097 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 42 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 25986 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 43 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 5 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 17253 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 44 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 6 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 24387 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 45 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 34 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 5 - call $~lib/dataview/DataView#getInt8 - i32.const 101 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 35 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 6 - call $~lib/dataview/DataView#getInt8 - i32.const 67 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const -2336 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 47 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 i32.const 0 - i32.const 480 - i32.const 36 + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const -8104 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 48 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 7 - call $~lib/dataview/DataView#getInt8 - i32.const 95 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 37 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const -7946 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 22687 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 49 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 i32.const 0 - i32.const 480 - i32.const 39 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 22752 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const -24702 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 50 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 i32.const 0 - i32.const 480 - i32.const 40 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const -24744 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const -32155 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 51 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 5 i32.const 0 - i32.const 480 - i32.const 41 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const -32097 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 25923 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 52 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 6 i32.const 0 - i32.const 480 - i32.const 42 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 25986 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 17247 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 53 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 43 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -1621565194 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 55 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -2103486240 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 56 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 5 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 17253 - i32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 1703059288 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 57 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 1130726047 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 58 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 + i32.const 1 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 1598252418 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 59 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 i32.const 0 - i32.const 480 - i32.const 44 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -153069409 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 61 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 0 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -531062910 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 62 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 6 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 24387 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 45 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 1486848613 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 63 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 0 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -1618844349 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 64 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 + i32.const 0 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -2107292833 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 65 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/dataview/DataView#getInt64 + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + i64.const 6864441868736323830 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 67 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/dataview/DataView#getInt64 + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + i64.const -657428103485373601 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 68 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + call $~lib/dataview/DataView#getUint8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 255 + i32.and + i32.const 246 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 70 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + call $~lib/dataview/DataView#getUint8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 255 + i32.and + i32.const 224 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 71 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const -2336 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 255 + i32.and + i32.const 88 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 72 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + call $~lib/dataview/DataView#getUint8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 255 + i32.and + i32.const 159 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 73 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 + call $~lib/dataview/DataView#getUint8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 255 + i32.and + i32.const 130 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 74 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 5 + call $~lib/dataview/DataView#getUint8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 255 + i32.and + i32.const 101 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 75 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 6 + call $~lib/dataview/DataView#getUint8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 255 + i32.and + i32.const 67 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 76 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 7 + call $~lib/dataview/DataView#getUint8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 255 + i32.and + i32.const 95 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 77 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 47 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 57590 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 79 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 22752 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 80 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const -8104 - i32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 40792 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 81 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 33439 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 82 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 25986 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 83 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 5 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 17253 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 84 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 6 + i32.const 1 + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 24387 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 85 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 48 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 22687 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 49 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const -24702 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 63200 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 87 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 i32.const 0 - i32.const 480 - i32.const 50 + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 57432 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 88 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const -32155 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 51 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 5 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 25923 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 22687 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 89 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 i32.const 0 - i32.const 480 - i32.const 52 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 6 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 17247 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 40834 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 90 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 i32.const 0 - i32.const 480 - i32.const 53 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const -1621565194 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 33381 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 91 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 5 i32.const 0 - i32.const 480 - i32.const 55 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const -2103486240 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 25923 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 92 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 6 i32.const 0 - i32.const 480 - i32.const 56 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const 1703059288 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 17247 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 93 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 57 + i32.const 1 + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -1621565194 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 95 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 1 + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -2103486240 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 96 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const 1130726047 - i32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 1703059288 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 97 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 1 + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 1130726047 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 98 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 + i32.const 1 + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 1598252418 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 99 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 58 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const 1598252418 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 59 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const -153069409 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -153069409 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 101 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 i32.const 0 - i32.const 480 - i32.const 61 + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -531062910 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 102 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const -531062910 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 62 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const 1486848613 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 1486848613 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 103 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 i32.const 0 - i32.const 480 - i32.const 63 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const -1618844349 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -1618844349 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 4 i32.const 0 - i32.const 480 - i32.const 64 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const -2107292833 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -2107292833 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 105 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 65 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getInt64 - i64.const 6864441868736323830 - i64.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getUint64 + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + i64.const 6864441868736323830 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 107 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 67 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getInt64 - i64.const -657428103485373601 - i64.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 68 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - call $~lib/dataview/DataView#getUint8 - i32.const 246 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint64 + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + i64.const -657428103485373601 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 108 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + f32.const 1.5976661625240943e-18 + i32.const 1 + call $~lib/dataview/DataView#setFloat32 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 70 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/dataview/DataView#getUint8 - i32.const 224 - i32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const 1.5976661625240943e-18 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 111 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 71 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - call $~lib/dataview/DataView#getUint8 - i32.const 88 - i32.eq - i32.eqz - if + f32.const 1976281973381696323584 i32.const 0 - i32.const 480 - i32.const 72 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - call $~lib/dataview/DataView#getUint8 - i32.const 159 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#setFloat32 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 73 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - call $~lib/dataview/DataView#getUint8 - i32.const 130 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 74 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 5 - call $~lib/dataview/DataView#getUint8 - i32.const 101 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getFloat32 + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const 1976281973381696323584 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 114 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 75 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 6 - call $~lib/dataview/DataView#getUint8 - i32.const 67 - i32.eq - i32.eqz - if + f64.const -1094252199637739024055454e124 + i32.const 1 + call $~lib/dataview/DataView#setFloat64 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 76 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 7 - call $~lib/dataview/DataView#getUint8 - i32.const 95 - i32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getFloat64 + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + f64.const -1094252199637739024055454e124 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 117 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 77 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 57590 - i32.eq - i32.eqz - if + f64.const 6.022586634778589e-103 i32.const 0 - i32.const 480 - i32.const 79 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 22752 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#setFloat64 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 80 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 40792 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 81 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 33439 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getFloat64 + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + f64.const 6.022586634778589e-103 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 120 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 82 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 25986 - i32.eq - i32.eqz - if + i32.const 108 + call $~lib/dataview/DataView#setInt8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 83 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 5 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 17253 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 108 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 123 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 84 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 6 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 24387 - i32.eq - i32.eqz - if + i32.const -13360 + i32.const 1 + call $~lib/dataview/DataView#setInt16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const -13360 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 126 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 85 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 63200 - i32.eq - i32.eqz - if + i32.const 14689 i32.const 0 - i32.const 480 - i32.const 87 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 57432 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#setInt16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 88 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 22687 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 89 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 40834 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 14689 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 129 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 90 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 33381 - i32.eq - i32.eqz - if + i32.const 1204680201 + i32.const 1 + call $~lib/dataview/DataView#setInt32 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 91 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 5 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 25923 - i32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 1204680201 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 132 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 92 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 6 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 17247 - i32.eq - i32.eqz - if + i32.const 660673230 i32.const 0 - i32.const 480 - i32.const 93 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const -1621565194 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#setInt32 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 95 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const -2103486240 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 96 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const 1703059288 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 660673230 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 135 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 97 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const 1130726047 - i32.eq - i32.eqz - if + i64.const -3290739641816099749 + i32.const 1 + call $~lib/dataview/DataView#setInt64 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 98 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const 1598252418 - i32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getInt64 + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + i64.const -3290739641816099749 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 138 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 99 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const -153069409 - i32.eq - i32.eqz - if + i64.const 8178932412950708047 i32.const 0 - i32.const 480 - i32.const 101 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const -531062910 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#setInt64 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 102 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const 1486848613 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 103 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const -1618844349 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getInt64 + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + i64.const 8178932412950708047 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 141 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 4 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const -2107292833 - i32.eq - i32.eqz - if + i32.const 238 + call $~lib/dataview/DataView#setUint8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 105 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getUint64 - i64.const 6864441868736323830 - i64.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint8 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 255 + i32.and + i32.const 238 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 144 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 107 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getUint64 - i64.const -657428103485373601 - i64.eq - i32.eqz - if + i32.const 58856 + i32.const 1 + call $~lib/dataview/DataView#setUint16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 108 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - f32.const 1.5976661625240943e-18 - i32.const 1 - call $~lib/dataview/DataView#setFloat32 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getFloat32 - f32.const 1.5976661625240943e-18 - f32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 58856 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 147 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 111 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - f32.const 1976281973381696323584 - i32.const 0 - call $~lib/dataview/DataView#setFloat32 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getFloat32 - f32.const 1976281973381696323584 - f32.eq - i32.eqz - if + i32.const 60400 i32.const 0 - i32.const 480 - i32.const 114 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - f64.const -1094252199637739024055454e124 - i32.const 1 - call $~lib/dataview/DataView#setFloat64 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getFloat64 - f64.const -1094252199637739024055454e124 - f64.eq - i32.eqz - if + call $~lib/dataview/DataView#setUint16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 117 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - f64.const 6.022586634778589e-103 - i32.const 0 - call $~lib/dataview/DataView#setFloat64 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getFloat64 - f64.const 6.022586634778589e-103 - f64.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 120 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 108 - call $~lib/dataview/DataView#setInt8 - local.get $2 - i32.const 0 - call $~lib/dataview/DataView#getInt8 - i32.const 108 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint16 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const 65535 + i32.and + i32.const 60400 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 150 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 123 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const -13360 - i32.const 1 - call $~lib/dataview/DataView#setInt16 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const -13360 - i32.eq - i32.eqz - if + i32.const -846805744 + i32.const 1 + call $~lib/dataview/DataView#setUint32 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 126 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 14689 - i32.const 0 - call $~lib/dataview/DataView#setInt16 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getInt16 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 14689 - i32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -846805744 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 153 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 129 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 1204680201 - i32.const 1 - call $~lib/dataview/DataView#setInt32 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getInt32 - i32.const 1204680201 - i32.eq - i32.eqz - if + i32.const -1510791631 i32.const 0 - i32.const 480 - i32.const 132 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 660673230 - i32.const 0 - call $~lib/dataview/DataView#setInt32 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getInt32 - i32.const 660673230 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#setUint32 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 135 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i64.const -3290739641816099749 - i32.const 1 - call $~lib/dataview/DataView#setInt64 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getInt64 - i64.const -3290739641816099749 - i64.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 138 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i64.const 8178932412950708047 - i32.const 0 - call $~lib/dataview/DataView#setInt64 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getInt64 - i64.const 8178932412950708047 - i64.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint32 + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + i32.const -1510791631 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 156 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i64.const 2334704782995986958 + i32.const 1 + call $~lib/dataview/DataView#setUint64 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 141 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 238 - call $~lib/dataview/DataView#setUint8 - local.get $2 - i32.const 0 - call $~lib/dataview/DataView#getUint8 - i32.const 238 - i32.eq - i32.eqz - if + i32.const 1 + call $~lib/dataview/DataView#getUint64 + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + i64.const 2334704782995986958 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 159 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 144 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 58856 - i32.const 1 - call $~lib/dataview/DataView#setUint16 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 58856 - i32.eq - i32.eqz - if + i64.const -7123186897289856329 i32.const 0 - i32.const 480 - i32.const 147 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const 60400 - i32.const 0 - call $~lib/dataview/DataView#setUint16 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getUint16 - i32.const 65535 - i32.and - i32.const 60400 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#setUint64 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 i32.const 0 - i32.const 480 - i32.const 150 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const -846805744 - i32.const 1 - call $~lib/dataview/DataView#setUint32 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getUint32 - i32.const -846805744 - i32.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 153 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i32.const -1510791631 - i32.const 0 - call $~lib/dataview/DataView#setUint32 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getUint32 - i32.const -1510791631 - i32.eq - i32.eqz - if + call $~lib/dataview/DataView#getUint64 + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + i64.const -7123186897289856329 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 162 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc i32.const 0 - i32.const 480 - i32.const 156 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i64.const 2334704782995986958 - i32.const 1 - call $~lib/dataview/DataView#setUint64 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/dataview/DataView#getUint64 - i64.const 2334704782995986958 - i64.eq - i32.eqz - if + local.get $0 + call $~lib/typedarray/Uint8Array#get:buffer + local.tee $5 i32.const 0 - i32.const 480 - i32.const 159 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - i64.const -7123186897289856329 - i32.const 0 - call $~lib/dataview/DataView#setUint64 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#getUint64 - i64.const -7123186897289856329 - i64.eq - i32.eqz - if i32.const 0 - i32.const 480 - i32.const 162 - i32.const 2 - call $~lib/builtins/abort - unreachable + call $~lib/dataview/DataView#constructor|trampoline + local.set $7 + global.get $~lib/error + if + br $uncaughtError + end + local.get $7 + local.set $7 + local.get $2 + call $~lib/rt/pure/__release + local.get $7 + local.set $2 + local.get $2 + call $~lib/dataview/DataView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 165 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/dataview/DataView#get:byteLength + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 166 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + return end + i32.const 416 + i32.const 368 i32.const 1 - global.set $~lib/argc - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint8Array#get:buffer - local.tee $3 - i32.const 0 - i32.const 0 - call $~lib/dataview/DataView#constructor|trampoline - local.set $4 - local.get $2 - call $~lib/rt/pure/__release - local.get $4 - local.set $2 - local.get $2 - call $~lib/dataview/DataView#get:byteOffset i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 165 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $~lib/dataview/DataView#get:byteLength - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 166 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release + call $~lib/builtins/abort + unreachable ) - (func $start (; 64 ;) (type $FUNCSIG$v) + (func $start (; 66 ;) (type $FUNCSIG$v) call $start:std/dataview ) - (func $~lib/rt/pure/markGray (; 65 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 67 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -5705,7 +6594,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 66 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 68 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -5722,7 +6611,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 67 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 69 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -5759,7 +6648,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 68 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 70 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -5797,7 +6686,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 69 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 71 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -5843,6 +6732,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -5854,7 +6747,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -5893,7 +6786,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -5923,7 +6816,7 @@ i32.eqz if i32.const 0 - i32.const 232 + i32.const 24 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -5931,16 +6824,27 @@ end end ) - (func $~lib/rt/__visit_members (; 70 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 72 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$default + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$4 $switch$1$case$6 $switch$1$case$6 $switch$1$case$4 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -5952,10 +6856,26 @@ local.get $1 call $~lib/rt/pure/__visit end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end return end unreachable ) - (func $null (; 71 ;) (type $FUNCSIG$v) + (func $null (; 73 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/date.untouched.wat b/tests/compiler/std/date.untouched.wat index 6cf8731695..bc8fbcf817 100644 --- a/tests/compiler/std/date.untouched.wat +++ b/tests/compiler/std/date.untouched.wat @@ -15,6 +15,7 @@ (data (i32.const 8) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $std/date/creationTime (mut i64) (i64.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) diff --git a/tests/compiler/std/hash.untouched.wat b/tests/compiler/std/hash.untouched.wat index 5a0d62c972..5c03c96c04 100644 --- a/tests/compiler/std/hash.untouched.wat +++ b/tests/compiler/std/hash.untouched.wat @@ -10,6 +10,7 @@ (data (i32.const 72) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00b\00c\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $~lib/rt/stub/__retain (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) diff --git a/tests/compiler/std/libm.untouched.wat b/tests/compiler/std/libm.untouched.wat index d09a870ca6..9dbea11b08 100644 --- a/tests/compiler/std/libm.untouched.wat +++ b/tests/compiler/std/libm.untouched.wat @@ -17,6 +17,7 @@ (data (i32.const 56) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\18\00\00\00\18\00\00\00 \00\00\00\04\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/math/NativeMath.E f64 (f64.const 2.718281828459045)) (global $../../lib/libm/assembly/libm/E f64 (f64.const 2.718281828459045)) (global $~lib/math/NativeMath.LN10 f64 (f64.const 2.302585092994046)) diff --git a/tests/compiler/std/map.optimized.wat b/tests/compiler/std/map.optimized.wat index bab4f54042..012e25c56f 100644 --- a/tests/compiler/std/map.optimized.wat +++ b/tests/compiler/std/map.optimized.wat @@ -5,8 +5,8 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iij (func (param i32 i64) (result i32))) (type $FUNCSIG$ij (func (param i64) (result i32))) (type $FUNCSIG$iiji (func (param i32 i64 i32) (result i32))) @@ -22,20 +22,23 @@ (type $FUNCSIG$vif (func (param i32 f32))) (type $FUNCSIG$vid (func (param i32 f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 160) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 208) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\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 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 360) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s") - (data (i32.const 400) "\0d\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\98D\08\00\00\00\00\00\98D\00\00\00\00\00\00\98\84\08\00\00\00\00\00\98\84\00\00\00\00\00\00\98\04\t\00\00\00\00\00\98\04\01\00\00\00\00\00\98\04\n\00\00\00\00\00\98\04\02\00\00\00\00\00\98\04\19\00\00\00\00\00\98\04\1a") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 140) "\01\00\00\00\01") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\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 208) "(\00\00\00\01\00\00\00\01\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 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 352) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s") + (data (i32.const 392) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (data (i32.const 440) "\0f\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\98D\08\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\00\98D\00\00\00\00\00\00\98\84\08\00\00\00\00\00\98\84\00\00\00\00\00\00\98\04\t\00\00\00\00\00\98\04\01\00\00\00\00\00\98\04\n\00\00\00\00\00\98\04\02\00\00\00\00\00\98\04\19\00\00\00\00\00\98\04\1a") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) @@ -627,10 +630,10 @@ if unreachable end - i32.const 512 + i32.const 576 i32.const 0 i32.store - i32.const 2080 + i32.const 2144 i32.const 0 i32.store i32.const 0 @@ -644,7 +647,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 512 + i32.const 576 i32.add i32.const 0 i32.store offset=4 @@ -663,7 +666,7 @@ i32.add i32.const 2 i32.shl - i32.const 512 + i32.const 576 i32.add i32.const 0 i32.store offset=96 @@ -681,1074 +684,1159 @@ br $loop|0 end end - i32.const 512 - i32.const 2096 + i32.const 576 + i32.const 2160 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 512 + i32.const 576 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const -16 + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $0 - i32.const 16 + if + i32.const 0 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 16 + i32.const 564 i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - local.get $1 - i32.const 4 - i32.shr_u - local.set $1 - i32.const 0 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - local.get $1 - i32.add - i32.const 1 - i32.sub - local.set $1 - end - local.get $1 - i32.const 31 - local.get $1 - i32.clz - i32.sub - local.tee $2 - i32.const 4 - i32.sub - i32.shr_u + if + local.get $0 i32.const 16 - i32.xor - local.set $1 - local.get $2 - i32.const 7 i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load local.tee $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $1 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz + i32.const 1 + i32.and if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - i32.const 2 - i32.shl + i32.const 1 + i32.or + i32.store local.get $0 - i32.add - i32.load offset=4 - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.get $2 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -1 - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - memory.size - local.tee $2 local.get $1 - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.tee $1 - local.get $2 + call $~lib/rt/tlsf/insertBlock local.get $1 - i32.gt_s - select - memory.grow - i32.const 0 - i32.lt_s + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 440 + i32.load + i32.gt_u if - local.get $1 - memory.grow i32.const 0 - i32.lt_s - if - unreachable - end + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 + i32.const 3 i32.shl - call $~lib/rt/tlsf/addMemory + i32.const 444 + i32.add + i32.load ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $4 - i32.const 32 - i32.ge_u - if - local.get $1 - local.get $3 - i32.const 2 - i32.and + block $~lib/util/memory/memmove|inlined.0 local.get $2 - i32.or - i32.store + local.set $3 + local.get $0 local.get $1 - i32.const 16 - i32.add - local.get $2 - i32.add - local.tee $1 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store + i32.eq + br_if $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const -2 - i32.and - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $continue|0 + local.get $0 + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $4 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $4 + i32.load8_u + i32.store8 + br $continue|0 + end + end + loop $continue|1 + local.get $3 + i32.const 8 + i32.lt_u + i32.eqz + if + local.get $0 + local.get $1 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $continue|1 + end + end + end + loop $continue|2 + local.get $3 + if + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $4 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $4 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $continue|3 + local.get $0 + local.get $3 + i32.add + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + end + loop $continue|4 + local.get $3 + i32.const 8 + i32.lt_u + i32.eqz + if + local.get $0 + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + i32.add + local.get $1 + local.get $3 + i32.add + i64.load + i64.store + br $continue|4 + end + end + end + loop $continue|5 + local.get $3 + if + local.get $0 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + end + end end ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.tee $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 + (func $~lib/rt/tlsf/__free (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT i32.eqz if - local.get $0 - local.get $3 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.const 24 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable end - local.get $2 - i32.load - i32.const -4 + local.get $0 + i32.const 15 i32.and - local.get $3 - i32.lt_u + i32.eqz + i32.const 0 + local.get $0 + select + i32.eqz if i32.const 0 i32.const 24 - i32.const 479 - i32.const 13 + i32.const 562 + i32.const 2 call $~lib/builtins/abort unreachable end - local.get $2 + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/pure/growRoots (; 15 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/rt/pure/CUR + global.get $~lib/rt/pure/ROOTS + local.tee $1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + local.tee $0 + i32.const 256 + local.get $0 + i32.const 256 + i32.gt_u + select + local.tee $3 i32.const 0 - i32.store offset=4 + call $~lib/rt/tlsf/__alloc + local.tee $0 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onfree + local.get $0 + local.get $1 local.get $2 + call $~lib/memory/memory.copy local.get $1 - i32.store offset=12 + if + local.get $1 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onalloc + local.get $1 + call $~lib/rt/tlsf/__free + end local.get $0 - local.get $2 - call $~lib/rt/tlsf/removeBlock + global.set $~lib/rt/pure/ROOTS local.get $0 local.get $2 + i32.add + global.set $~lib/rt/pure/CUR + local.get $0 local.get $3 - call $~lib/rt/tlsf/prepareBlock - local.get $2 - call $~lib/rt/rtrace/onalloc - local.get $2 + i32.add + global.set $~lib/rt/pure/END ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/rt/tlsf/ROOT - local.tee $2 - if (result i32) - local.get $2 - else - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT + (func $~lib/rt/pure/appendRoot (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + global.get $~lib/rt/pure/CUR + local.tee $1 + global.get $~lib/rt/pure/END + i32.ge_u + if + call $~lib/rt/pure/growRoots + global.get $~lib/rt/pure/CUR + local.set $1 end - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.tee $0 local.get $1 - i32.store offset=8 local.get $0 - i32.const 16 + i32.store + local.get $1 + i32.const 4 i32.add + global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/decrement (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 - local.tee $1 - i32.const -268435456 + local.tee $2 + i32.const 268435455 i32.and - local.get $1 + local.set $1 + local.get $0 + call $~lib/rt/rtrace/ondecrement + local.get $0 + i32.load i32.const 1 - i32.add - i32.const -268435456 i32.and - i32.ne if i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 + i32.const 72 + i32.const 115 + i32.const 13 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and + i32.eq if + local.get $0 + i32.const 16 + i32.add + i32.const 1 + call $~lib/rt/__visit_members + local.get $2 + i32.const -2147483648 + i32.and + if + local.get $0 + i32.const -2147483648 + i32.store offset=4 + else + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + end + else + local.get $1 i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable + i32.le_u + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end + i32.const 16 + i32.and + if + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $2 + i32.const -268435456 + i32.and + i32.or + i32.store offset=4 + else + local.get $0 + local.get $1 + i32.const 1 + i32.sub + i32.const -1342177280 + i32.or + i32.store offset=4 + local.get $2 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + end end ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/__release (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 508 + i32.const 564 i32.gt_u if local.get $0 i32.const 16 i32.sub - call $~lib/rt/pure/increment + call $~lib/rt/pure/decrement end + ) + (func $~lib/error/Error#constructor (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release local.get $0 ) - (func $~lib/memory/memory.fill (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - block $~lib/util/memory/memset|inlined.0 - local.get $1 - i32.eqz - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - i32.const 1 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 2 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 1 - i32.add - i32.const 0 - i32.store8 - local.get $0 - i32.const 2 - i32.add - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - local.tee $2 - i32.const 2 - i32.sub - i32.const 0 - i32.store8 - local.get $2 - i32.const 3 - i32.sub + (func $~lib/rt/tlsf/prepareSize (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if i32.const 0 - i32.store8 - local.get $1 - i32.const 6 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 3 - i32.add + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error i32.const 0 - i32.store8 - local.get $0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const -16 + i32.and + local.tee $0 + i32.const 16 + local.get $0 + i32.const 16 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) local.get $1 - i32.add i32.const 4 - i32.sub + i32.shr_u + local.set $1 i32.const 0 - i32.store8 + else local.get $1 - i32.const 8 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 + i32.const 536870904 + i32.lt_u + if + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + local.get $1 + i32.add + i32.const 1 + i32.sub + local.set $1 + end local.get $1 - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.tee $1 - i32.sub - local.get $0 + i32.const 31 local.get $1 - i32.add - local.tee $0 - i32.const 0 - i32.store - i32.const -4 - i32.and - local.tee $1 - local.get $0 - i32.add - i32.const 4 + i32.clz i32.sub - i32.const 0 - i32.store - local.get $1 - i32.const 8 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 4 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 8 - i32.add - i32.const 0 - i32.store - local.get $0 - local.get $1 - i32.add local.tee $2 - i32.const 12 + i32.const 4 i32.sub - i32.const 0 - i32.store + i32.shr_u + i32.const 16 + i32.xor + local.set $1 local.get $2 - i32.const 8 + i32.const 7 i32.sub - i32.const 0 - i32.store + end + local.tee $2 + i32.const 23 + i32.lt_u + if (result i32) local.get $1 - i32.const 24 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 12 - i32.add - i32.const 0 - i32.store - local.get $0 i32.const 16 - i32.add + i32.lt_u + else i32.const 0 - i32.store - local.get $0 - i32.const 20 - i32.add + end + i32.eqz + if i32.const 0 - i32.store - local.get $0 i32.const 24 - i32.add - i32.const 0 - i32.store - local.get $0 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + i32.const -1 + local.get $1 + i32.shl + i32.and + local.tee $1 + if (result i32) local.get $1 - i32.add - local.tee $2 - i32.const 28 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 24 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 20 - i32.sub - i32.const 0 - i32.store + i32.ctz local.get $2 - i32.const 16 - i32.sub - i32.const 0 - i32.store - local.get $0 i32.const 4 - i32.and - i32.const 24 + i32.shl i32.add - local.tee $2 + i32.const 2 + i32.shl local.get $0 i32.add - local.set $0 - local.get $1 + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -1 local.get $2 - i32.sub - local.set $1 - loop $continue|0 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) local.get $1 - i32.const 32 - i32.ge_u + i32.ctz + local.tee $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + local.tee $2 + i32.eqz if - local.get $0 - i64.const 0 - i64.store - local.get $0 - i32.const 8 - i32.add - i64.const 0 - i64.store - local.get $0 - i32.const 16 - i32.add - i64.const 0 - i64.store - local.get $0 + i32.const 0 i32.const 24 - i32.add - i64.const 0 - i64.store - local.get $1 - i32.const 32 - i32.sub - local.set $1 - local.get $0 - i32.const 32 - i32.add - local.set $0 - br $continue|0 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable end + local.get $2 + i32.ctz + local.get $1 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + i32.const 0 end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.const 1073741808 - i32.gt_u + (func $~lib/rt/tlsf/growMemory (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + memory.size + local.tee $2 + local.get $1 + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $1 + local.get $2 + local.get $1 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s if - i32.const 176 - i32.const 224 - i32.const 56 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.get $1 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end end local.get $0 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.tee $1 - local.get $0 - call $~lib/memory/memory.fill - local.get $1 - call $~lib/rt/pure/__retain + local.get $2 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory ) - (func $~lib/rt/tlsf/freeBlock (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) local.get $1 i32.load - local.tee $2 - i32.const 1 + local.set $3 + local.get $2 + i32.const 15 i32.and if i32.const 0 i32.const 24 - i32.const 531 - i32.const 2 + i32.const 364 + i32.const 13 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 + i32.const -4 + i32.and local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 400 - i32.load - i32.gt_u + i32.sub + local.tee $4 + i32.const 32 + i32.ge_u if - i32.const 280 - i32.const 336 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - i32.shl - i32.const 404 - i32.add - i32.load - ) - (func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 + local.get $1 + local.get $3 + i32.const 2 + i32.and local.get $2 - local.set $3 - local.get $0 + i32.or + i32.store local.get $1 - i32.eq - br_if $~lib/util/memory/memmove|inlined.0 + i32.const 16 + i32.add + local.get $2 + i32.add + local.tee $1 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store local.get $0 local.get $1 - i32.lt_u - if - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $continue|0 - local.get $0 - i32.const 7 - i32.and - if - local.get $3 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $4 - i32.load8_u - i32.store8 - br $continue|0 - end - end - loop $continue|1 - local.get $3 - i32.const 8 - i32.lt_u - i32.eqz - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - br $continue|1 - end - end - end - loop $continue|2 - local.get $3 - if - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $4 - i32.load8_u - i32.store8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $continue|2 - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $continue|3 - local.get $0 - local.get $3 - i32.add - i32.const 7 - i32.and - if - local.get $3 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $1 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - end - loop $continue|4 - local.get $3 - i32.const 8 - i32.lt_u - i32.eqz - if - local.get $0 - local.get $3 - i32.const 8 - i32.sub - local.tee $3 - i32.add - local.get $1 - local.get $3 - i32.add - i64.load - i64.store - br $continue|4 - end - end - end - loop $continue|5 - local.get $3 - if - local.get $0 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $1 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const -2 + i32.and + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + i32.load + i32.const -3 + i32.and + i32.store end ) - (func $~lib/rt/tlsf/__free (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz + (func $~lib/rt/tlsf/allocateBlock (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $3 + global.get $~lib/error if i32.const 0 - i32.const 24 - i32.const 561 - i32.const 13 - call $~lib/builtins/abort - unreachable + return end local.get $0 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $0 - select + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.load + i32.const -4 + i32.and + local.get $3 + i32.lt_u if i32.const 0 i32.const 24 - i32.const 562 - i32.const 2 + i32.const 479 + i32.const 13 call $~lib/builtins/abort unreachable end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/tlsf/freeBlock - ) - (func $~lib/rt/pure/growRoots (; 23 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/rt/pure/CUR - global.get $~lib/rt/pure/ROOTS - local.tee $1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - local.tee $0 - i32.const 256 - local.get $0 - i32.const 256 - i32.gt_u - select - local.tee $3 + local.get $2 i32.const 0 - call $~lib/rt/tlsf/__alloc - local.tee $0 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onfree - local.get $0 - local.get $1 + i32.store offset=4 local.get $2 - call $~lib/memory/memory.copy local.get $1 - if - local.get $1 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onalloc - local.get $1 - call $~lib/rt/tlsf/__free - end - local.get $0 - global.set $~lib/rt/pure/ROOTS + i32.store offset=12 local.get $0 local.get $2 - i32.add - global.set $~lib/rt/pure/CUR + call $~lib/rt/tlsf/removeBlock local.get $0 + local.get $2 local.get $3 - i32.add - global.set $~lib/rt/pure/END + call $~lib/rt/tlsf/prepareBlock + local.get $2 + call $~lib/rt/rtrace/onalloc + local.get $2 ) - (func $~lib/rt/pure/appendRoot (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - global.get $~lib/rt/pure/CUR - local.tee $1 - global.get $~lib/rt/pure/END - i32.ge_u + (func $~lib/rt/tlsf/__alloc (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/rt/tlsf/ROOT + local.tee $2 + if (result i32) + local.get $2 + else + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + end + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $0 + global.get $~lib/error if - call $~lib/rt/pure/growRoots - global.get $~lib/rt/pure/CUR - local.set $1 + i32.const 0 + return end - local.get $1 local.get $0 - i32.store local.get $1 - i32.const 4 + i32.store offset=8 + local.get $0 + i32.const 16 i32.add - global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/error/RangeError#constructor (; 26 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) (local $1 i32) (local $2 i32) - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 268435455 - i32.and - local.set $1 - local.get $0 - call $~lib/rt/rtrace/ondecrement + i32.const 320 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + i32.const 320 + call $~lib/error/Error#constructor + local.tee $0 local.get $0 i32.load - i32.const 1 - i32.and + local.tee $2 + i32.const 280 + i32.ne if - i32.const 0 - i32.const 128 - i32.const 115 - i32.const 13 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release end - local.get $1 - i32.const 1 - i32.eq - if + i32.const 280 + i32.store + i32.const 320 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/memory/memory.fill (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + block $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.eqz + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 0 + i32.store8 + local.get $0 + local.get $1 + i32.add + i32.const 1 + i32.sub + i32.const 0 + i32.store8 + local.get $1 + i32.const 2 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 1 + i32.add + i32.const 0 + i32.store8 + local.get $0 + i32.const 2 + i32.add + i32.const 0 + i32.store8 + local.get $0 + local.get $1 + i32.add + local.tee $2 + i32.const 2 + i32.sub + i32.const 0 + i32.store8 + local.get $2 + i32.const 3 + i32.sub + i32.const 0 + i32.store8 + local.get $1 + i32.const 6 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 3 + i32.add + i32.const 0 + i32.store8 + local.get $0 + local.get $1 + i32.add + i32.const 4 + i32.sub + i32.const 0 + i32.store8 + local.get $1 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.const 0 local.get $0 - i32.const 16 + i32.sub + i32.const 3 + i32.and + local.tee $1 + i32.sub + local.get $0 + local.get $1 i32.add - i32.const 1 - call $~lib/rt/__visit_members - local.get $2 - i32.const -2147483648 + local.tee $0 + i32.const 0 + i32.store + i32.const -4 i32.and - if - local.get $0 - i32.const -2147483648 - i32.store offset=4 - else - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - end - else + local.tee $1 + local.get $0 + i32.add + i32.const 4 + i32.sub + i32.const 0 + i32.store + local.get $1 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 4 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 8 + i32.add + i32.const 0 + i32.store + local.get $0 local.get $1 + i32.add + local.tee $2 + i32.const 12 + i32.sub + i32.const 0 + i32.store + local.get $2 + i32.const 8 + i32.sub i32.const 0 + i32.store + local.get $1 + i32.const 24 i32.le_u - if - i32.const 0 - i32.const 128 - i32.const 124 - i32.const 15 - call $~lib/builtins/abort - unreachable - end + br_if $~lib/util/memory/memset|inlined.0 local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo + i32.const 12 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 16 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 20 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 24 + i32.add + i32.const 0 + i32.store + local.get $0 + local.get $1 + i32.add + local.tee $2 + i32.const 28 + i32.sub + i32.const 0 + i32.store + local.get $2 + i32.const 24 + i32.sub + i32.const 0 + i32.store + local.get $2 + i32.const 20 + i32.sub + i32.const 0 + i32.store + local.get $2 i32.const 16 + i32.sub + i32.const 0 + i32.store + local.get $0 + i32.const 4 i32.and - if - local.get $0 - local.get $1 - i32.const 1 - i32.sub - local.get $2 - i32.const -268435456 - i32.and - i32.or - i32.store offset=4 - else - local.get $0 + i32.const 24 + i32.add + local.tee $2 + local.get $0 + i32.add + local.set $0 + local.get $1 + local.get $2 + i32.sub + local.set $1 + loop $continue|0 local.get $1 - i32.const 1 - i32.sub - i32.const -1342177280 - i32.or - i32.store offset=4 - local.get $2 - i32.const -2147483648 - i32.and - i32.eqz + i32.const 32 + i32.ge_u if local.get $0 - call $~lib/rt/pure/appendRoot + i64.const 0 + i64.store + local.get $0 + i32.const 8 + i32.add + i64.const 0 + i64.store + local.get $0 + i32.const 16 + i32.add + i64.const 0 + i64.store + local.get $0 + i32.const 24 + i32.add + i64.const 0 + i64.store + local.get $1 + i32.const 32 + i32.sub + local.set $1 + local.get $0 + i32.const 32 + i32.add + local.set $0 + br $continue|0 end end end ) - (func $~lib/rt/pure/__release (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 508 + i32.const 1073741808 i32.gt_u if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $1 + global.get $~lib/error + if + i32.const 0 + return end + local.get $1 + local.get $0 + call $~lib/memory/memory.fill + local.get $1 + call $~lib/rt/pure/__retain ) - (func $~lib/map/Map#clear (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.load call $~lib/rt/pure/__release local.get $0 @@ -1760,7 +1848,11 @@ i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.load offset=8 call $~lib/rt/pure/__release local.get $0 @@ -1776,7 +1868,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 28 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 30 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 i32.const 3 @@ -1802,16 +1894,21 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash8 (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash8 (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const -2128831035 i32.xor i32.const 16777619 i32.mul ) - (func $~lib/map/Map#find (; 30 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 32 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -1856,7 +1953,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1869,7 +1966,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1885,6 +1982,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -1895,9 +1996,13 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 - local.tee $4 + local.tee $2 local.get $0 i32.load offset=16 i32.const 12 @@ -1905,29 +2010,29 @@ i32.add local.set $7 local.get $3 - local.set $2 + local.set $4 loop $continue|0 - local.get $4 + local.get $2 local.get $7 i32.eq i32.eqz if - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $2 local.get $4 + local.get $2 i32.load8_s i32.store8 - local.get $2 local.get $4 + local.get $2 i32.load offset=4 i32.store offset=4 - local.get $2 local.get $4 + local.get $2 i32.load8_s call $~lib/util/hash/hash8 local.get $1 @@ -1940,17 +2045,17 @@ i32.load i32.store offset=8 local.get $8 - local.get $2 + local.get $4 i32.store - local.get $2 + local.get $4 i32.const 12 i32.add - local.set $2 + local.set $4 end - local.get $4 + local.get $2 i32.const 12 i32.add - local.set $4 + local.set $2 br $continue|0 end end @@ -1999,7 +2104,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2047,6 +2152,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -2096,7 +2205,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -2114,7 +2223,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -2177,11 +2286,15 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 36 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 38 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -2192,7 +2305,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -2208,13 +2321,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -2233,7 +2350,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort @@ -2254,7 +2371,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -2273,7 +2390,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort @@ -2292,7 +2409,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -2308,13 +2425,17 @@ i32.const 20 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort @@ -2333,7 +2454,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort @@ -2354,7 +2475,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -2373,7 +2494,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort @@ -2392,7 +2513,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort @@ -2401,12 +2522,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort @@ -2427,7 +2552,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -2445,7 +2570,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -2461,13 +2586,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort @@ -2476,12 +2605,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort @@ -2502,7 +2635,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -2510,11 +2643,15 @@ end local.get $1 call $~lib/map/Map#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort @@ -2523,10 +2660,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#constructor (; 37 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 39 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -2549,9 +2686,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#has (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -2562,7 +2704,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2578,6 +2720,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -2588,9 +2734,13 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 - local.tee $4 + local.tee $2 local.get $0 i32.load offset=16 i32.const 12 @@ -2598,29 +2748,29 @@ i32.add local.set $7 local.get $3 - local.set $2 + local.set $4 loop $continue|0 - local.get $4 + local.get $2 local.get $7 i32.eq i32.eqz if - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $2 local.get $4 + local.get $2 i32.load8_u i32.store8 - local.get $2 local.get $4 + local.get $2 i32.load offset=4 i32.store offset=4 - local.get $2 local.get $4 + local.get $2 i32.load8_u call $~lib/util/hash/hash8 local.get $1 @@ -2633,17 +2783,17 @@ i32.load i32.store offset=8 local.get $8 - local.get $2 + local.get $4 i32.store - local.get $2 + local.get $4 i32.const 12 i32.add - local.set $2 + local.set $4 end - local.get $4 + local.get $2 i32.const 12 i32.add - local.set $4 + local.set $2 br $continue|0 end end @@ -2692,7 +2842,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2738,6 +2888,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -2787,7 +2941,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -2803,7 +2957,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 42 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -2864,11 +3018,15 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 43 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 45 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -2879,7 +3037,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -2893,13 +3051,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -2916,7 +3078,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort @@ -2937,7 +3099,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -2956,7 +3118,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort @@ -2973,7 +3135,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -2987,13 +3149,17 @@ i32.const 20 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort @@ -3010,7 +3176,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort @@ -3031,7 +3197,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -3050,7 +3216,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort @@ -3067,7 +3233,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort @@ -3076,12 +3242,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort @@ -3102,7 +3272,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -3120,7 +3290,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -3134,13 +3304,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort @@ -3149,12 +3323,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort @@ -3175,7 +3353,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -3183,11 +3361,15 @@ end local.get $1 call $~lib/map/Map#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort @@ -3196,10 +3378,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#constructor (; 44 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 46 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 5 + i32.const 7 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -3222,9 +3404,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash16 (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash16 (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -3239,7 +3426,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/map/Map#find (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -3284,7 +3471,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -3297,7 +3484,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3313,6 +3500,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -3323,9 +3514,13 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 - local.tee $4 + local.tee $2 local.get $0 i32.load offset=16 i32.const 12 @@ -3333,29 +3528,29 @@ i32.add local.set $7 local.get $3 - local.set $2 + local.set $4 loop $continue|0 - local.get $4 + local.get $2 local.get $7 i32.eq i32.eqz if - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $2 local.get $4 + local.get $2 i32.load16_s i32.store16 - local.get $2 local.get $4 + local.get $2 i32.load offset=4 i32.store offset=4 - local.get $2 local.get $4 + local.get $2 i32.load16_s call $~lib/util/hash/hash16 local.get $1 @@ -3368,17 +3563,17 @@ i32.load i32.store offset=8 local.get $8 - local.get $2 + local.get $4 i32.store - local.get $2 + local.get $4 i32.const 12 i32.add - local.set $2 + local.set $4 end - local.get $4 + local.get $2 i32.const 12 i32.add - local.set $4 + local.set $2 br $continue|0 end end @@ -3427,7 +3622,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 51 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3475,6 +3670,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -3524,7 +3723,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -3542,7 +3741,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 51 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -3605,11 +3804,15 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 52 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 54 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -3620,7 +3823,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -3636,13 +3839,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -3661,7 +3868,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort @@ -3682,7 +3889,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -3701,7 +3908,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort @@ -3720,7 +3927,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -3736,13 +3943,17 @@ i32.const 20 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort @@ -3761,7 +3972,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort @@ -3782,7 +3993,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -3801,7 +4012,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort @@ -3820,7 +4031,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort @@ -3829,12 +4040,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort @@ -3855,7 +4070,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -3873,7 +4088,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -3889,13 +4104,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort @@ -3904,12 +4123,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort @@ -3930,7 +4153,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -3938,11 +4161,15 @@ end local.get $1 call $~lib/map/Map#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort @@ -3951,10 +4178,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#constructor (; 53 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 55 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 6 + i32.const 8 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -3977,9 +4204,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#has (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -3990,7 +4222,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 57 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4006,6 +4238,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -4016,9 +4252,13 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 - local.tee $4 + local.tee $2 local.get $0 i32.load offset=16 i32.const 12 @@ -4026,29 +4266,29 @@ i32.add local.set $7 local.get $3 - local.set $2 + local.set $4 loop $continue|0 - local.get $4 + local.get $2 local.get $7 i32.eq i32.eqz if - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $2 local.get $4 + local.get $2 i32.load16_u i32.store16 - local.get $2 local.get $4 + local.get $2 i32.load offset=4 i32.store offset=4 - local.get $2 local.get $4 + local.get $2 i32.load16_u call $~lib/util/hash/hash16 local.get $1 @@ -4061,17 +4301,17 @@ i32.load i32.store offset=8 local.get $8 - local.get $2 + local.get $4 i32.store - local.get $2 + local.get $4 i32.const 12 i32.add - local.set $2 + local.set $4 end - local.get $4 + local.get $2 i32.const 12 i32.add - local.set $4 + local.set $2 br $continue|0 end end @@ -4120,7 +4360,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 56 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 58 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4166,6 +4406,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -4215,7 +4459,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -4231,7 +4475,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 58 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (; 60 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -4292,11 +4536,15 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 59 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 61 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -4307,7 +4555,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -4321,13 +4569,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -4344,7 +4596,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort @@ -4365,7 +4617,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -4384,7 +4636,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort @@ -4401,7 +4653,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -4415,13 +4667,17 @@ i32.const 20 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort @@ -4438,7 +4694,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort @@ -4459,7 +4715,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -4478,7 +4734,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort @@ -4495,7 +4751,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort @@ -4504,12 +4760,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort @@ -4530,7 +4790,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -4548,7 +4808,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -4562,13 +4822,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort @@ -4577,12 +4841,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort @@ -4603,7 +4871,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -4611,11 +4879,15 @@ end local.get $1 call $~lib/map/Map#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort @@ -4624,10 +4896,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#constructor (; 60 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 62 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 7 + i32.const 9 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -4650,9 +4922,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash32 (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 63 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -4683,7 +4960,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/map/Map#find (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -4726,7 +5003,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 63 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -4735,7 +5012,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 66 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4751,6 +5028,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -4761,9 +5042,13 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 - local.tee $4 + local.tee $2 local.get $0 i32.load offset=16 i32.const 12 @@ -4771,29 +5056,29 @@ i32.add local.set $7 local.get $3 - local.set $2 + local.set $4 loop $continue|0 - local.get $4 + local.get $2 local.get $7 i32.eq i32.eqz if - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $2 local.get $4 + local.get $2 i32.load i32.store - local.get $2 local.get $4 + local.get $2 i32.load offset=4 i32.store offset=4 - local.get $2 local.get $4 + local.get $2 i32.load call $~lib/util/hash/hash32 local.get $1 @@ -4806,17 +5091,17 @@ i32.load i32.store offset=8 local.get $8 - local.get $2 + local.get $4 i32.store - local.get $2 + local.get $4 i32.const 12 i32.add - local.set $2 + local.set $4 end - local.get $4 + local.get $2 i32.const 12 i32.add - local.set $4 + local.set $2 br $continue|0 end end @@ -4865,7 +5150,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 65 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 67 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4909,6 +5194,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -4958,7 +5247,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 68 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -4972,7 +5261,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 67 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (; 69 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -5031,11 +5320,15 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 68 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 70 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -5046,7 +5339,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -5058,13 +5351,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -5079,7 +5376,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort @@ -5100,7 +5397,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -5119,7 +5416,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort @@ -5134,7 +5431,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -5146,13 +5443,17 @@ i32.const 20 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort @@ -5167,7 +5468,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort @@ -5188,7 +5489,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -5207,7 +5508,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort @@ -5222,7 +5523,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort @@ -5231,12 +5532,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort @@ -5257,7 +5562,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -5275,7 +5580,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -5287,13 +5592,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort @@ -5302,12 +5611,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort @@ -5328,7 +5641,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -5336,11 +5649,15 @@ end local.get $1 call $~lib/map/Map#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort @@ -5349,10 +5666,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#constructor (; 69 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 71 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 8 + i32.const 10 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -5375,13 +5692,22 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $std/map/testNumeric (; 70 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 72 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -5392,7 +5718,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -5404,13 +5730,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -5425,7 +5755,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort @@ -5446,7 +5776,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -5465,7 +5795,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort @@ -5480,7 +5810,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -5492,13 +5822,17 @@ i32.const 20 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort @@ -5513,7 +5847,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort @@ -5534,7 +5868,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -5553,7 +5887,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort @@ -5568,7 +5902,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort @@ -5577,12 +5911,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort @@ -5603,7 +5941,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -5621,7 +5959,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -5633,13 +5971,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort @@ -5648,12 +5990,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort @@ -5674,7 +6020,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -5682,11 +6028,15 @@ end local.get $1 call $~lib/map/Map#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort @@ -5695,12 +6045,16 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#clear (; 71 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 73 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.load call $~lib/rt/pure/__release local.get $0 @@ -5712,7 +6066,11 @@ i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.load offset=8 call $~lib/rt/pure/__release local.get $0 @@ -5728,10 +6086,10 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 72 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 74 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 9 + i32.const 11 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -5754,9 +6112,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash64 (; 73 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/hash/hash64 (; 75 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i32.wrap_i64 @@ -5822,7 +6185,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/map/Map#find (; 74 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 76 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -5865,7 +6228,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 75 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#has (; 77 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) local.get $0 local.get $1 local.get $1 @@ -5874,7 +6237,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 76 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 78 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5890,6 +6253,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -5900,9 +6267,13 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 - local.tee $4 + local.tee $2 local.get $0 i32.load offset=16 i32.const 4 @@ -5910,29 +6281,29 @@ i32.add local.set $7 local.get $3 - local.set $2 + local.set $4 loop $continue|0 - local.get $4 + local.get $2 local.get $7 i32.eq i32.eqz if - local.get $4 + local.get $2 i32.load offset=12 i32.const 1 i32.and i32.eqz if - local.get $2 local.get $4 + local.get $2 i64.load i64.store - local.get $2 local.get $4 + local.get $2 i32.load offset=8 i32.store offset=8 - local.get $2 local.get $4 + local.get $2 i64.load call $~lib/util/hash/hash64 local.get $1 @@ -5945,17 +6316,17 @@ i32.load i32.store offset=12 local.get $8 - local.get $2 + local.get $4 i32.store - local.get $2 + local.get $4 i32.const 16 i32.add - local.set $2 + local.set $4 end - local.get $4 + local.get $2 i32.const 16 i32.add - local.set $4 + local.set $2 br $continue|0 end end @@ -6004,7 +6375,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 77 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/map/Map#set (; 79 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6048,6 +6419,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -6097,7 +6472,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 78 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#get (; 80 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) local.get $0 local.get $1 local.get $1 @@ -6111,7 +6486,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 79 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) + (func $~lib/map/Map#delete (; 81 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) local.get $0 @@ -6171,11 +6546,15 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 80 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 82 ;) (type $FUNCSIG$v) (local $0 i64) (local $1 i32) call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i64.const 100 @@ -6186,7 +6565,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -6199,13 +6578,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -6221,7 +6604,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort @@ -6242,7 +6625,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -6261,7 +6644,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort @@ -6277,7 +6660,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -6290,13 +6673,17 @@ i32.const 20 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort @@ -6312,7 +6699,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort @@ -6333,7 +6720,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -6352,7 +6739,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort @@ -6368,7 +6755,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort @@ -6377,12 +6764,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort @@ -6403,7 +6794,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -6421,7 +6812,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -6434,13 +6825,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort @@ -6449,12 +6844,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort @@ -6475,7 +6874,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -6483,11 +6882,15 @@ end local.get $1 call $~lib/map/Map#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort @@ -6496,10 +6899,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#constructor (; 81 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 83 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 10 + i32.const 12 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -6522,13 +6925,22 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $std/map/testNumeric (; 82 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 84 ;) (type $FUNCSIG$v) (local $0 i64) (local $1 i32) call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i64.const 100 @@ -6539,7 +6951,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -6552,13 +6964,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -6574,7 +6990,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort @@ -6595,7 +7011,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -6614,7 +7030,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort @@ -6630,7 +7046,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -6643,13 +7059,17 @@ i32.const 20 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort @@ -6665,7 +7085,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort @@ -6686,7 +7106,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -6705,7 +7125,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort @@ -6721,7 +7141,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort @@ -6730,12 +7150,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort @@ -6756,7 +7180,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -6774,7 +7198,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -6787,13 +7211,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort @@ -6802,12 +7230,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort @@ -6828,7 +7260,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -6836,11 +7268,15 @@ end local.get $1 call $~lib/map/Map#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort @@ -6849,10 +7285,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#constructor (; 83 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 85 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 11 + i32.const 13 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -6875,9 +7311,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#find (; 84 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 86 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -6920,7 +7361,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 85 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/map/Map#has (; 87 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) local.get $0 local.get $1 local.get $1 @@ -6930,7 +7371,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 86 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 88 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6946,6 +7387,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -6956,9 +7401,13 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 - local.tee $4 + local.tee $2 local.get $0 i32.load offset=16 i32.const 12 @@ -6966,29 +7415,29 @@ i32.add local.set $7 local.get $3 - local.set $2 + local.set $4 loop $continue|0 - local.get $4 + local.get $2 local.get $7 i32.eq i32.eqz if - local.get $4 + local.get $2 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $2 local.get $4 + local.get $2 f32.load f32.store - local.get $2 local.get $4 + local.get $2 i32.load offset=4 i32.store offset=4 - local.get $2 local.get $4 + local.get $2 f32.load i32.reinterpret_f32 call $~lib/util/hash/hash32 @@ -7002,17 +7451,17 @@ i32.load i32.store offset=8 local.get $8 - local.get $2 + local.get $4 i32.store - local.get $2 + local.get $4 i32.const 12 i32.add - local.set $2 + local.set $4 end - local.get $4 + local.get $2 i32.const 12 i32.add - local.set $4 + local.set $2 br $continue|0 end end @@ -7061,7 +7510,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 87 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32) + (func $~lib/map/Map#set (; 89 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7106,6 +7555,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -7155,7 +7608,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 88 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/map/Map#get (; 90 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) local.get $0 local.get $1 local.get $1 @@ -7170,7 +7623,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 89 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) + (func $~lib/map/Map#delete (; 91 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) local.get $0 @@ -7231,11 +7684,15 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 90 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 92 ;) (type $FUNCSIG$v) (local $0 f32) (local $1 i32) call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 f32.const 100 @@ -7246,7 +7703,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -7259,13 +7716,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -7281,7 +7742,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort @@ -7302,7 +7763,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -7321,7 +7782,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort @@ -7337,7 +7798,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -7350,13 +7811,17 @@ i32.const 20 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort @@ -7372,7 +7837,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort @@ -7393,7 +7858,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -7412,7 +7877,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort @@ -7428,7 +7893,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort @@ -7437,12 +7902,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort @@ -7463,7 +7932,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -7481,7 +7950,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -7494,13 +7963,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort @@ -7509,12 +7982,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort @@ -7535,7 +8012,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -7543,11 +8020,15 @@ end local.get $1 call $~lib/map/Map#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort @@ -7556,10 +8037,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#constructor (; 91 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 93 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 12 + i32.const 14 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -7582,9 +8063,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#find (; 92 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 94 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -7627,7 +8113,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 93 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#has (; 95 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) local.get $0 local.get $1 local.get $1 @@ -7637,7 +8123,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 94 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 96 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7653,6 +8139,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -7663,9 +8153,13 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 - local.tee $4 + local.tee $2 local.get $0 i32.load offset=16 i32.const 4 @@ -7673,29 +8167,29 @@ i32.add local.set $7 local.get $3 - local.set $2 + local.set $4 loop $continue|0 - local.get $4 + local.get $2 local.get $7 i32.eq i32.eqz if - local.get $4 + local.get $2 i32.load offset=12 i32.const 1 i32.and i32.eqz if - local.get $2 local.get $4 + local.get $2 f64.load f64.store - local.get $2 local.get $4 + local.get $2 i32.load offset=8 i32.store offset=8 - local.get $2 local.get $4 + local.get $2 f64.load i64.reinterpret_f64 call $~lib/util/hash/hash64 @@ -7709,17 +8203,17 @@ i32.load i32.store offset=12 local.get $8 - local.get $2 + local.get $4 i32.store - local.get $2 + local.get $4 i32.const 16 i32.add - local.set $2 + local.set $4 end - local.get $4 + local.get $2 i32.const 16 i32.add - local.set $4 + local.set $2 br $continue|0 end end @@ -7768,7 +8262,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 95 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32) + (func $~lib/map/Map#set (; 97 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7813,6 +8307,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -7862,7 +8360,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 96 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#get (; 98 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) local.get $0 local.get $1 local.get $1 @@ -7877,7 +8375,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 97 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) + (func $~lib/map/Map#delete (; 99 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (local $2 i32) (local $3 i32) local.get $0 @@ -7938,11 +8436,15 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 98 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 100 ;) (type $FUNCSIG$v) (local $0 f64) (local $1 i32) call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 f64.const 100 @@ -7953,7 +8455,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -7966,13 +8468,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -7988,7 +8494,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort @@ -8009,7 +8515,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -8028,7 +8534,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort @@ -8044,7 +8550,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -8057,13 +8563,17 @@ i32.const 20 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort @@ -8079,7 +8589,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort @@ -8100,7 +8610,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -8119,7 +8629,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort @@ -8135,7 +8645,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort @@ -8144,12 +8654,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort @@ -8170,7 +8684,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -8188,7 +8702,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -8201,13 +8715,17 @@ i32.const 10 i32.add call $~lib/map/Map#set + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort @@ -8216,12 +8734,16 @@ local.get $1 local.get $0 call $~lib/map/Map#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/map/Map#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort @@ -8242,7 +8764,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -8250,11 +8772,15 @@ end local.get $1 call $~lib/map/Map#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort @@ -8263,19 +8789,51 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $start (; 99 ;) (type $FUNCSIG$v) + (func $start:std/map (; 101 ;) (type $FUNCSIG$v) call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + call $std/map/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/map/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/map/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/map/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/map/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/map/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/map/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/map/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/map/testNumeric + global.get $~lib/error + br_if $uncaughtError + return + end + i32.const 408 + i32.const 368 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $~lib/rt/pure/markGray (; 100 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $start (; 102 ;) (type $FUNCSIG$v) + call $start:std/map + ) + (func $~lib/rt/pure/markGray (; 103 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -8299,7 +8857,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 101 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 104 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -8312,7 +8870,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 102 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 105 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -8346,7 +8904,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 103 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 106 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -8379,9 +8937,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 104 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 107 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 508 + i32.const 564 i32.lt_u if return @@ -8414,6 +8972,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -8424,7 +8986,7 @@ i32.le_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -8457,7 +9019,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -8482,28 +9044,56 @@ br $break|0 end i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/rt/__visit_members (; 105 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 108 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $folding-inner0 block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $folding-inner0 $switch$1$case$6 $switch$1$case$6 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 local.tee $0 if local.get $0 @@ -8518,12 +9108,16 @@ i32.load local.get $1 call $~lib/rt/pure/__visit - local.get $0 - i32.load offset=8 - local.get $1 - call $~lib/rt/pure/__visit + global.get $~lib/error + i32.eqz + if + local.get $0 + i32.load offset=8 + local.get $1 + call $~lib/rt/pure/__visit + end ) - (func $null (; 106 ;) (type $FUNCSIG$v) + (func $null (; 109 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/map.untouched.wat b/tests/compiler/std/map.untouched.wat index edb8f66652..3e41659904 100644 --- a/tests/compiler/std/map.untouched.wat +++ b/tests/compiler/std/map.untouched.wat @@ -5,8 +5,8 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iij (func (param i32 i64) (result i32))) (type $FUNCSIG$ij (func (param i64) (result i32))) (type $FUNCSIG$iiji (func (param i32 i64 i32) (result i32))) @@ -18,29 +18,32 @@ (type $FUNCSIG$iidi (func (param i32 f64 i32) (result i32))) (type $FUNCSIG$vidi (func (param i32 f64 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 160) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 208) "&\00\00\00\01\00\00\00\01\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") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 360) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s\00") - (data (i32.const 400) "\0d\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\98D\08\00\00\00\00\00\98D\00\00\00\00\00\00\98\84\08\00\00\00\00\00\98\84\00\00\00\00\00\00\98\04\t\00\00\00\00\00\98\04\01\00\00\00\00\00\98\04\n\00\00\00\00\00\98\04\02\00\00\00\00\00\98\04\19\00\00\00\00\00\98\04\1a\00\00\00\00\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 136) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 208) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 352) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s\00") + (data (i32.const 392) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") + (data (i32.const 440) "\0f\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\98D\08\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\00\98D\00\00\00\00\00\00\98\84\08\00\00\00\00\00\98\84\00\00\00\00\00\00\98\04\t\00\00\00\00\00\98\04\01\00\00\00\00\00\98\04\n\00\00\00\00\00\98\04\02\00\00\00\00\00\98\04\19\00\00\00\00\00\98\04\1a\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 400)) - (global $~lib/heap/__heap_base i32 (i32.const 508)) + (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 440)) + (global $~lib/heap/__heap_base i32 (i32.const 564)) (export "memory" (memory $0)) (start $start) (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -896,1011 +899,275 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - (local $2 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const 15 - i32.const -1 - i32.xor + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $1 - i32.const 16 - local.tee $2 - local.get $1 - local.get $2 - i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (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 $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u + i32.eqz + i32.eqz if i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable end - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 + ) + (func $~lib/rt/pure/__retain (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 i32.const 16 - i32.lt_u - else - i32.const 0 + i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz i32.eqz if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $5 + local.get $1 local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u if - local.get $0 - i32.load i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $break|0 + loop $continue|0 local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - local.get $6 - i32.eqz - if + if (result i32) + local.get $1 + i32.const 3 + i32.and + else i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable end + i32.eqz + br_if $break|0 local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl + local.tee $5 + i32.const 1 i32.add - i32.load offset=96 - local.set $7 + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 + unreachable end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - memory.size - local.set $2 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor + local.get $0 + i32.const 3 i32.and - i32.const 16 - i32.shr_u - local.set $3 - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow i32.const 0 - i32.lt_s + i32.eq if - local.get $3 - memory.grow - i32.const 0 - i32.lt_s - if + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|1 + end unreachable end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 32 - i32.ge_u - if - local.get $1 local.get $2 - local.get $3 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 i32.const 2 i32.and - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const 1 - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - i32.load - i32.const 2 - i32.const -1 - i32.xor - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - local.get $3 - call $~lib/rt/rtrace/onalloc - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/rt/tlsf/ROOT - local.set $2 - local.get $2 - i32.eqz - if - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - local.set $2 - end - local.get $2 - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/memory/memory.fill (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - block $~lib/util/memory/memset|inlined.0 - local.get $0 - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 1 - i32.sub - local.get $4 - i32.store8 - local.get $3 - i32.const 2 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.get $4 - i32.store8 - local.get $5 - i32.const 2 - i32.add - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 2 - i32.sub - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 3 - i32.sub - local.get $4 - i32.store8 - local.get $3 - i32.const 6 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 3 - i32.add - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 4 - i32.sub - local.get $4 - i32.store8 - local.get $3 - i32.const 8 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - i32.const 0 - local.get $5 - i32.sub - i32.const 3 - i32.and - local.set $6 - local.get $5 - local.get $6 - i32.add - local.set $5 - local.get $3 - local.get $6 - i32.sub - local.set $3 - local.get $3 - i32.const -4 - i32.and - local.set $3 - i32.const -1 - i32.const 255 - i32.div_u - local.get $4 - i32.const 255 - i32.and - i32.mul - local.set $7 - local.get $5 - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 4 - i32.sub - local.get $7 - i32.store - local.get $3 - i32.const 8 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 4 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 8 - i32.add - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 12 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 8 - i32.sub - local.get $7 - i32.store - local.get $3 - i32.const 24 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 12 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 16 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 20 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 24 - i32.add - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 28 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 24 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 20 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 16 - i32.sub - local.get $7 - i32.store - i32.const 24 - local.get $5 - i32.const 4 - i32.and - i32.add - local.set $6 - local.get $5 - local.get $6 - i32.add - local.set $5 - local.get $3 - local.get $6 - i32.sub - local.set $3 - local.get $7 - i64.extend_i32_u - local.get $7 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - local.set $8 - block $break|0 - loop $continue|0 - local.get $3 - i32.const 32 - i32.ge_u - i32.eqz - br_if $break|0 - local.get $5 - local.get $8 - i64.store - local.get $5 - i32.const 8 - i32.add - local.get $8 - i64.store - local.get $5 - i32.const 16 - i32.add - local.get $8 - i64.store - local.get $5 - i32.const 24 - i32.add - local.get $8 - i64.store - local.get $3 - i32.const 32 - i32.sub - local.set $3 - local.get $5 - i32.const 32 - i32.add - local.set $5 - br $continue|0 - end - unreachable - end - end - ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 1073741808 - i32.gt_u - if - i32.const 176 - i32.const 224 - i32.const 56 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $2 - local.get $2 - i32.const 0 - local.get $1 - call $~lib/memory/memory.fill - local.get $2 - call $~lib/rt/pure/__retain - ) - (func $~lib/rt/tlsf/freeBlock (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.set $2 - local.get $2 - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 280 - i32.const 336 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/util/memory/memcpy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $break|0 - loop $continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - i32.eqz - br_if $break|0 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $continue|0 - end - unreachable - end - local.get $0 - i32.const 3 - i32.and - i32.const 0 - i32.eq - if - block $break|1 - loop $continue|1 - local.get $2 - i32.const 16 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.const 8 - i32.add - i32.load - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $continue|1 - end - unreachable - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.const 4 - i32.add - local.set $1 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.get $1 - i32.load16_u - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - end + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end local.get $2 i32.const 1 i32.and @@ -2316,7 +1583,236 @@ end end local.get $2 - i32.const 16 + i32.const 16 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 8 i32.and if local.get $0 @@ -2431,6 +1927,11 @@ local.get $5 i32.load8_u i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if local.get $0 local.tee $5 i32.const 1 @@ -2487,6 +1988,11 @@ local.get $5 i32.load8_u i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if local.get $0 local.tee $5 i32.const 1 @@ -2515,6 +2021,11 @@ local.get $5 i32.load8_u i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if local.get $0 local.tee $5 i32.const 1 @@ -2529,708 +2040,1302 @@ local.get $5 i32.load8_u i32.store8 + end + ) + (func $~lib/memory/memory.copy (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + local.get $4 + i32.eq + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $4 + local.get $3 + i32.add + local.get $5 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $5 + local.get $3 + i32.add + local.get $4 + i32.le_u + end + if + local.get $5 + local.get $4 + local.get $3 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $4 + i32.lt_u + if + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + block $break|0 + loop $continue|0 + local.get $5 + i32.const 7 + i32.and + i32.eqz + br_if $break|0 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $5 + local.tee $6 + i32.const 1 + i32.add + local.set $5 + local.get $6 + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.load8_u + i32.store8 + br $continue|0 + end + unreachable + end + block $break|1 + loop $continue|1 + local.get $3 + i32.const 8 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $5 + local.get $4 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $4 + i32.const 8 + i32.add + local.set $4 + br $continue|1 + end + unreachable + end + end + block $break|2 + loop $continue|2 + local.get $3 + i32.eqz + br_if $break|2 + local.get $5 + local.tee $6 + i32.const 1 + i32.add + local.set $5 + local.get $6 + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|2 + end + unreachable + end + else + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + block $break|3 + loop $continue|3 + local.get $5 + local.get $3 + i32.add + i32.const 7 + i32.and + i32.eqz + br_if $break|3 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + unreachable + end + block $break|4 + loop $continue|4 + local.get $3 + i32.const 8 + i32.ge_u + i32.eqz + br_if $break|4 + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + local.get $3 + i32.add + local.get $4 + local.get $3 + i32.add + i64.load + i64.store + br $continue|4 + end + unreachable + end + end + block $break|5 + loop $continue|5 + local.get $3 + i32.eqz + br_if $break|5 + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + unreachable + end + end + end + ) + (func $~lib/rt/tlsf/__free (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.ne + if (result i32) local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/pure/growRoots (; 16 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/rt/pure/ROOTS + local.set $0 + global.get $~lib/rt/pure/CUR + local.get $0 + i32.sub + local.set $1 + local.get $1 + i32.const 2 + i32.mul + local.tee $2 + i32.const 64 + i32.const 2 + i32.shl + local.tee $3 local.get $2 - i32.const 8 - i32.and + local.get $3 + i32.gt_u + select + local.set $4 + local.get $4 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $5 + local.get $5 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onfree + local.get $5 + local.get $0 + local.get $1 + call $~lib/memory/memory.copy + local.get $0 if local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onalloc local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add + call $~lib/rt/tlsf/__free + end + local.get $5 + global.set $~lib/rt/pure/ROOTS + local.get $5 + local.get $1 + i32.add + global.set $~lib/rt/pure/CUR + local.get $5 + local.get $4 + i32.add + global.set $~lib/rt/pure/END + ) + (func $~lib/rt/pure/appendRoot (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + global.get $~lib/rt/pure/CUR + local.set $1 + local.get $1 + global.get $~lib/rt/pure/END + i32.ge_u + if + call $~lib/rt/pure/growRoots + global.get $~lib/rt/pure/CUR local.set $1 - local.get $5 - i32.load8_u - i32.store8 + end + local.get $1 + local.get $0 + i32.store + local.get $1 + i32.const 4 + i32.add + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.and + local.set $2 + local.get $0 + call $~lib/rt/rtrace/ondecrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.eq + if local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 + i32.const 16 i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 i32.const 1 - i32.add - local.set $0 - local.get $5 + call $~lib/rt/__visit_members local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const -2147483648 + i32.and + i32.eqz + if + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + else + local.get $0 + i32.const -2147483648 + i32.const 0 + i32.or + i32.const 0 + i32.or + i32.store offset=4 + end + else + local.get $2 + i32.const 0 + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.load offset=8 + call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.and + i32.eqz + if + local.get $0 + i32.const -2147483648 + i32.const 805306368 + i32.or + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + else + local.get $0 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + end + end + ) + (func $~lib/rt/pure/__release (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if local.get $0 - local.tee $5 - i32.const 1 - i32.add + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end + end + ) + (func $~lib/error/Error#constructor (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain local.set $0 - local.get $5 + end + local.get $0 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/rt/tlsf/prepareSize (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.const 16 + local.tee $2 + local.get $1 + local.get $2 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 22 ;) (type $FUNCSIG$iii) (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 $8 i32) + (local $9 i32) + local.get $1 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $2 local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 + i32.const 4 + i32.shr_u + local.set $3 + else local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 + i32.const 536870904 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $1 + end + local.set $4 + i32.const 31 + local.get $4 + i32.clz + i32.sub + local.set $2 + local.get $4 + local.get $2 + i32.const 4 + i32.sub + i32.shr_u i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 + i32.const 4 + i32.shl + i32.xor + local.set $3 + local.get $2 + i32.const 8 i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.sub + i32.sub + local.set $2 end local.get $2 - i32.const 4 - i32.and + i32.const 23 + i32.lt_u + if (result i32) + local.get $3 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.set $5 local.get $2 + local.set $4 + local.get $5 + local.get $4 i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 0 + i32.const -1 + i32.xor + local.get $3 + i32.shl i32.and + local.set $6 + i32.const 0 + local.set $7 + local.get $6 + i32.eqz if local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $2 i32.const 1 i32.add - local.set $1 + i32.shl + i32.and + local.set $5 local.get $5 - i32.load8_u - i32.store8 + i32.eqz + if + i32.const 0 + local.set $7 + else + local.get $5 + i32.ctz + local.set $2 + local.get $0 + local.set $8 + local.get $2 + local.set $4 + local.get $8 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $6 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + else local.get $0 - local.tee $5 - i32.const 1 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 + i32.const 2 + i32.shl i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.load offset=96 + local.set $7 end - local.get $2 - i32.const 1 + local.get $7 + ) + (func $~lib/rt/tlsf/growMemory (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + memory.size + local.set $2 + local.get $1 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $6 + local.get $6 + memory.grow + i32.const 0 + i32.lt_s if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end end + memory.size + local.set $7 + local.get $0 + local.get $2 + i32.const 16 + i32.shl + local.get $7 + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop ) - (func $~lib/memory/memory.copy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.set $5 + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 364 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.sub + local.set $4 + local.get $4 + i32.const 32 + i32.ge_u + if local.get $1 - local.set $4 local.get $2 - local.set $3 - local.get $5 - local.get $4 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $4 local.get $3 + i32.const 2 + i32.and + i32.or + i32.store + local.get $1 + i32.const 16 i32.add - local.get $5 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $5 - local.get $3 - i32.add - local.get $4 - i32.le_u - end - if - local.get $5 - local.get $4 - local.get $3 - call $~lib/util/memory/memcpy - br $~lib/util/memory/memmove|inlined.0 - end + local.get $2 + i32.add + local.set $5 local.get $5 local.get $4 - i32.lt_u - if - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - block $break|0 - loop $continue|0 - local.get $5 - i32.const 7 - i32.and - i32.eqz - br_if $break|0 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $3 - i32.const 1 - i32.sub - local.set $3 - local.get $5 - local.tee $6 - i32.const 1 - i32.add - local.set $5 - local.get $6 - local.get $4 - local.tee $6 - i32.const 1 - i32.add - local.set $4 - local.get $6 - i32.load8_u - i32.store8 - br $continue|0 - end - unreachable - end - block $break|1 - loop $continue|1 - local.get $3 - i32.const 8 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $5 - local.get $4 - i64.load - i64.store - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - i32.const 8 - i32.add - local.set $5 - local.get $4 - i32.const 8 - i32.add - local.set $4 - br $continue|1 - end - unreachable - end - end - block $break|2 - loop $continue|2 - local.get $3 - i32.eqz - br_if $break|2 - local.get $5 - local.tee $6 - i32.const 1 - i32.add - local.set $5 - local.get $6 - local.get $4 - local.tee $6 - i32.const 1 - i32.add - local.set $4 - local.get $6 - i32.load8_u - i32.store8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $continue|2 - end - unreachable - end - else - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $5 - local.get $3 - i32.add - i32.const 7 - i32.and - i32.eqz - br_if $break|3 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - unreachable - end - block $break|4 - loop $continue|4 - local.get $3 - i32.const 8 - i32.ge_u - i32.eqz - br_if $break|4 - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - local.get $3 - i32.add - local.get $4 - local.get $3 - i32.add - i64.load - i64.store - br $continue|4 - end - unreachable - end - end - block $break|5 - loop $continue|5 - local.get $3 - i32.eqz - br_if $break|5 - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - unreachable - end - end + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $5 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const 1 + i32.const -1 + i32.xor + i32.and + i32.store + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + i32.load + i32.const 2 + i32.const -1 + i32.xor + i32.and + i32.store end ) - (func $~lib/rt/tlsf/__free (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz + (func $~lib/rt/tlsf/allocateBlock (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $2 + global.get $~lib/error if i32.const 0 - i32.const 24 - i32.const 561 - i32.const 13 - call $~lib/builtins/abort - unreachable + return end + local.get $2 + local.set $3 local.get $0 - i32.const 0 - i32.ne - if (result i32) + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if local.get $0 - i32.const 15 - i32.and + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz - else - i32.const 0 + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end end + local.get $4 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $3 + i32.ge_u i32.eqz if i32.const 0 i32.const 24 - i32.const 562 - i32.const 2 + i32.const 479 + i32.const 13 call $~lib/builtins/abort unreachable end - global.get $~lib/rt/tlsf/ROOT + local.get $4 + i32.const 0 + i32.store offset=4 + local.get $4 + local.get $1 + i32.store offset=12 local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/tlsf/freeBlock + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $4 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $4 + call $~lib/rt/rtrace/onalloc + local.get $4 ) - (func $~lib/rt/pure/growRoots (; 24 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/__alloc (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - global.get $~lib/rt/pure/ROOTS - local.set $0 - global.get $~lib/rt/pure/CUR - local.get $0 - i32.sub - local.set $1 - local.get $1 - i32.const 2 - i32.mul - local.tee $2 - i32.const 64 - i32.const 2 - i32.shl - local.tee $3 + global.get $~lib/rt/tlsf/ROOT + local.set $2 local.get $2 - local.get $3 - i32.gt_u - select - local.set $4 - local.get $4 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $5 - local.get $5 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onfree - local.get $5 - local.get $0 - local.get $1 - call $~lib/memory/memory.copy - local.get $0 + i32.eqz if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onalloc - local.get $0 - call $~lib/rt/tlsf/__free + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + local.set $2 end - local.get $5 - global.set $~lib/rt/pure/ROOTS - local.get $5 - local.get $1 - i32.add - global.set $~lib/rt/pure/CUR - local.get $5 - local.get $4 - i32.add - global.set $~lib/rt/pure/END - ) - (func $~lib/rt/pure/appendRoot (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - global.get $~lib/rt/pure/CUR - local.set $1 - local.get $1 - global.get $~lib/rt/pure/END - i32.ge_u + local.get $2 + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error if - call $~lib/rt/pure/growRoots - global.get $~lib/rt/pure/CUR - local.set $1 + i32.const 0 + return end + local.get $3 + local.set $4 + local.get $4 local.get $1 - local.get $0 - i32.store - local.get $1 - i32.const 4 + i32.store offset=8 + local.get $4 + i32.const 16 i32.add - global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) + (func $~lib/error/RangeError#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 + (local $3 i32) local.get $1 - i32.const 268435455 - i32.and - local.set $2 + call $~lib/rt/pure/__retain + drop local.get $0 - call $~lib/rt/rtrace/ondecrement + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 local.get $0 + local.tee $2 + i32.const 280 + local.tee $3 + local.get $2 i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz + local.tee $2 + i32.ne if - i32.const 0 - i32.const 128 - i32.const 115 - i32.const 13 - call $~lib/builtins/abort - unreachable + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - i32.const 1 - i32.eq - if + local.get $3 + i32.store + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/memory/memory.fill (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + block $~lib/util/memory/memset|inlined.0 local.get $0 - i32.const 16 - i32.add - i32.const 1 - call $~lib/rt/__visit_members + local.set $5 local.get $1 - i32.const -2147483648 - i32.and + local.set $4 + local.get $2 + local.set $3 + local.get $3 i32.eqz if - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - else - local.get $0 - i32.const -2147483648 - i32.const 0 - i32.or - i32.const 0 - i32.or - i32.store offset=4 + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 1 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 2 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.get $4 + i32.store8 + local.get $5 + i32.const 2 + i32.add + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 2 + i32.sub + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 3 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 6 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + i32.const 3 + i32.add + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 4 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 end - else - local.get $2 i32.const 0 - i32.gt_u - i32.eqz + local.get $5 + i32.sub + i32.const 3 + i32.and + local.set $6 + local.get $5 + local.get $6 + i32.add + local.set $5 + local.get $3 + local.get $6 + i32.sub + local.set $3 + local.get $3 + i32.const -4 + i32.and + local.set $3 + i32.const -1 + i32.const 255 + i32.div_u + local.get $4 + i32.const 255 + i32.and + i32.mul + local.set $7 + local.get $5 + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 4 + i32.sub + local.get $7 + i32.store + local.get $3 + i32.const 8 + i32.le_u if - i32.const 0 - i32.const 128 - i32.const 124 - i32.const 15 - call $~lib/builtins/abort - unreachable + br $~lib/util/memory/memset|inlined.0 end - local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo + local.get $5 + i32.const 4 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 8 + i32.add + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 12 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 8 + i32.sub + local.get $7 + i32.store + local.get $3 + i32.const 24 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + i32.const 12 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 16 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 20 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 24 + i32.add + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 28 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 24 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 20 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add i32.const 16 + i32.sub + local.get $7 + i32.store + i32.const 24 + local.get $5 + i32.const 4 i32.and - i32.eqz - if - local.get $0 - i32.const -2147483648 - i32.const 805306368 - i32.or - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - if - local.get $0 - call $~lib/rt/pure/appendRoot + i32.add + local.set $6 + local.get $5 + local.get $6 + i32.add + local.set $5 + local.get $3 + local.get $6 + i32.sub + local.set $3 + local.get $7 + i64.extend_i32_u + local.get $7 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $8 + block $break|0 + loop $continue|0 + local.get $3 + i32.const 32 + i32.ge_u + i32.eqz + br_if $break|0 + local.get $5 + local.get $8 + i64.store + local.get $5 + i32.const 8 + i32.add + local.get $8 + i64.store + local.get $5 + i32.const 16 + i32.add + local.get $8 + i64.store + local.get $5 + i32.const 24 + i32.add + local.get $8 + i64.store + local.get $3 + i32.const 32 + i32.sub + local.set $3 + local.get $5 + i32.const 32 + i32.add + local.set $5 + br $continue|0 end - else - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 + unreachable end end ) - (func $~lib/rt/pure/__release (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/heap/__heap_base + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.const 1073741808 i32.gt_u if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + i32.const 0 + return end + local.get $2 + local.set $3 + local.get $3 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $3 + call $~lib/rt/pure/__retain ) - (func $~lib/map/Map#clear (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -3238,6 +3343,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -3254,6 +3365,12 @@ i32.const 0 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -3270,7 +3387,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -3300,16 +3417,21 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash8 (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash8 (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const -2128831035 local.get $0 i32.xor i32.const 16777619 i32.mul ) - (func $~lib/map/Map#find (; 31 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -3361,7 +3483,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -3380,7 +3502,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3402,57 +3524,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load8_s i32.store8 local.get $10 - local.get $9 + local.get $3 i32.load offset=4 i32.store offset=4 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load8_s local.set $11 local.get $11 @@ -3462,7 +3596,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -3473,34 +3607,34 @@ i32.load i32.store offset=8 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 12 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 12 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -3510,7 +3644,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -3526,18 +3660,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 36 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3593,6 +3727,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -3644,7 +3782,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3670,11 +3808,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3747,64 +3885,80 @@ local.get $0 local.get $4 call $~lib/map/Map#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/map/testNumeric (; 38 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 40 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/map/Map#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.const 24 i32.shl i32.const 24 i32.shr_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.const 24 i32.shl i32.const 24 @@ -3814,28 +3968,28 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -3843,30 +3997,30 @@ end block $break|1 i32.const 0 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.const 24 i32.shl i32.const 24 @@ -3876,39 +4030,43 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 20 - local.get $1 + local.get $0 i32.const 24 i32.shl i32.const 24 i32.shr_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.const 24 i32.shl i32.const 24 @@ -3918,28 +4076,28 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -3947,30 +4105,30 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.const 24 i32.shl i32.const 24 @@ -3980,45 +4138,51 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -4026,105 +4190,119 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.const 24 i32.shl i32.const 24 i32.shr_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#clear (; 39 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -4132,6 +4310,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -4148,6 +4332,12 @@ i32.const 0 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -4164,12 +4354,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -4194,9 +4384,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#find (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 43 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -4246,7 +4441,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -4263,7 +4458,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 43 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4285,57 +4480,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load8_u i32.store8 local.get $10 - local.get $9 + local.get $3 i32.load offset=4 i32.store offset=4 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load8_u local.set $11 local.get $11 @@ -4345,7 +4552,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -4356,34 +4563,34 @@ i32.load i32.store offset=8 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 12 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 12 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -4393,7 +4600,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -4409,18 +4616,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 44 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 46 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4474,6 +4681,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -4525,7 +4736,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4549,11 +4760,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4624,62 +4835,78 @@ local.get $0 local.get $4 call $~lib/map/Map#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/map/testNumeric (; 48 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 50 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/map/Map#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.const 255 i32.and i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.const 255 i32.and i32.add @@ -4687,28 +4914,28 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -4716,30 +4943,30 @@ end block $break|1 i32.const 0 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.const 255 i32.and i32.add @@ -4747,37 +4974,41 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 20 - local.get $1 + local.get $0 i32.const 255 i32.and i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.const 255 i32.and i32.add @@ -4785,28 +5016,28 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -4814,30 +5045,30 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.const 255 i32.and i32.add @@ -4845,45 +5076,51 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -4891,103 +5128,117 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.const 255 i32.and i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#clear (; 49 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 51 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -4995,6 +5246,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -5011,6 +5268,12 @@ i32.const 0 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -5027,12 +5290,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 5 + i32.const 7 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -5057,9 +5320,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash16 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash16 (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -5081,7 +5349,7 @@ local.set $1 local.get $1 ) - (func $~lib/map/Map#find (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 54 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -5133,7 +5401,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -5152,7 +5420,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 56 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5174,57 +5442,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load16_s i32.store16 local.get $10 - local.get $9 + local.get $3 i32.load offset=4 i32.store offset=4 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load16_s local.set $11 local.get $11 @@ -5234,7 +5514,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -5245,34 +5525,34 @@ i32.load i32.store offset=8 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 12 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 12 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -5282,7 +5562,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -5298,18 +5578,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 55 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 57 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5365,6 +5645,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -5416,7 +5700,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -5442,11 +5726,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 57 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5519,64 +5803,80 @@ local.get $0 local.get $4 call $~lib/map/Map#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/map/testNumeric (; 59 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 61 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/map/Map#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.const 16 i32.shl i32.const 16 i32.shr_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.const 16 i32.shl i32.const 16 @@ -5586,28 +5886,28 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -5615,30 +5915,30 @@ end block $break|1 i32.const 0 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.const 16 i32.shl i32.const 16 @@ -5648,39 +5948,43 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 20 - local.get $1 + local.get $0 i32.const 16 i32.shl i32.const 16 i32.shr_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.const 16 i32.shl i32.const 16 @@ -5690,28 +5994,28 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -5719,30 +6023,30 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.const 16 i32.shl i32.const 16 @@ -5752,45 +6056,51 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -5798,105 +6108,119 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.const 16 i32.shl i32.const 16 i32.shr_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#clear (; 60 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 62 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -5904,6 +6228,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -5920,6 +6250,12 @@ i32.const 0 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -5936,12 +6272,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 63 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 6 + i32.const 8 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -5966,9 +6302,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#find (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -6018,7 +6359,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 63 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -6035,7 +6376,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 66 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6057,57 +6398,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load16_u i32.store16 local.get $10 - local.get $9 + local.get $3 i32.load offset=4 i32.store offset=4 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load16_u local.set $11 local.get $11 @@ -6117,7 +6470,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -6128,34 +6481,34 @@ i32.load i32.store offset=8 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 12 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 12 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -6165,7 +6518,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -6181,18 +6534,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 65 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 67 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6246,6 +6599,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -6297,7 +6654,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 68 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -6321,11 +6678,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 67 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 68 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6396,62 +6753,78 @@ local.get $0 local.get $4 call $~lib/map/Map#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/map/testNumeric (; 69 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 71 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/map/Map#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.const 65535 i32.and i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.const 65535 i32.and i32.add @@ -6459,28 +6832,28 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -6488,30 +6861,30 @@ end block $break|1 i32.const 0 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.const 65535 i32.and i32.add @@ -6519,37 +6892,41 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 20 - local.get $1 + local.get $0 i32.const 65535 i32.and i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.const 65535 i32.and i32.add @@ -6557,28 +6934,28 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -6586,30 +6963,30 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.const 65535 i32.and i32.add @@ -6617,45 +6994,51 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -6663,103 +7046,117 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.const 65535 i32.and i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#clear (; 70 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 72 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -6767,6 +7164,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -6783,6 +7186,12 @@ i32.const 0 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -6799,12 +7208,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 71 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 73 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 7 + i32.const 9 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -6829,9 +7238,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash32 (; 72 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 74 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -6873,7 +7287,7 @@ local.set $1 local.get $1 ) - (func $~lib/map/Map#find (; 73 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 75 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -6921,7 +7335,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 74 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 76 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -6936,7 +7350,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 75 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 77 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6958,57 +7372,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load i32.store local.get $10 - local.get $9 + local.get $3 i32.load offset=4 i32.store offset=4 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load local.set $11 local.get $11 @@ -7018,7 +7444,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -7029,34 +7455,34 @@ i32.load i32.store offset=8 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 12 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 12 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -7066,7 +7492,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -7082,18 +7508,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 76 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 78 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7145,6 +7571,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -7196,7 +7626,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 77 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 79 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -7218,11 +7648,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 78 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 80 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 79 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 81 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7291,87 +7721,103 @@ local.get $0 local.get $4 call $~lib/map/Map#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/map/testNumeric (; 80 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 82 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/map/Map#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -7379,91 +7825,95 @@ end block $break|1 i32.const 0 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 20 - local.get $1 + local.get $0 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -7471,74 +7921,80 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -7546,101 +8002,115 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#clear (; 81 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 83 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -7648,6 +8118,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -7664,6 +8140,12 @@ i32.const 0 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -7680,12 +8162,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 82 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 84 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 8 + i32.const 10 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -7710,9 +8192,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#find (; 83 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 85 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -7760,7 +8247,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 84 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 86 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -7775,7 +8262,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 85 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 87 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7797,57 +8284,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load i32.store local.get $10 - local.get $9 + local.get $3 i32.load offset=4 i32.store offset=4 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load local.set $11 local.get $11 @@ -7857,7 +8356,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -7868,34 +8367,34 @@ i32.load i32.store offset=8 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 12 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 12 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -7905,7 +8404,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -7921,18 +8420,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 86 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 88 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7984,6 +8483,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -8035,7 +8538,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 87 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 89 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -8057,11 +8560,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 88 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 90 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 89 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 91 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8130,87 +8633,103 @@ local.get $0 local.get $4 call $~lib/map/Map#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/map/testNumeric (; 90 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 92 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/map/Map#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -8218,91 +8737,95 @@ end block $break|1 i32.const 0 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $0 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 20 - local.get $1 + local.get $0 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -8310,74 +8833,80 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $0 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -8385,101 +8914,115 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 i32.const 10 - local.get $1 + local.get $0 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#clear (; 91 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 93 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -8487,6 +9030,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -8503,6 +9052,12 @@ i32.const 0 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -8519,12 +9074,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 92 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 94 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 9 + i32.const 11 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -8549,9 +9104,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash64 (; 93 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/hash/hash64 (; 95 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8639,7 +9199,7 @@ local.set $3 local.get $3 ) - (func $~lib/map/Map#find (; 94 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 96 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -8687,7 +9247,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 95 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#has (; 97 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) local.get $0 local.get $1 @@ -8702,7 +9262,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 96 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 98 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8725,57 +9285,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 16 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 16 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=12 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i64.load i64.store local.get $10 - local.get $9 + local.get $3 i32.load offset=8 i32.store offset=8 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i64.load local.set $11 local.get $11 @@ -8785,7 +9357,7 @@ local.get $1 i32.and local.set $12 - local.get $3 + local.get $4 local.get $12 i32.const 4 i32.mul @@ -8796,34 +9368,34 @@ i32.load i32.store offset=12 local.get $13 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 16 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 16 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -8833,7 +9405,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $12 local.get $10 i32.load offset=8 @@ -8849,18 +9421,18 @@ local.get $12 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 97 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/map/Map#set (; 99 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i64) (local $4 i32) (local $5 i32) @@ -8913,6 +9485,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -8964,7 +9540,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 98 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#get (; 100 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) local.get $0 @@ -8986,11 +9562,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 99 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 101 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 100 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#delete (; 102 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) (local $4 i32) @@ -9060,89 +9636,105 @@ local.get $0 local.get $4 call $~lib/map/Map#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/map/testNumeric (; 101 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 103 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 i64) + (local $1 i32) + (local $2 i64) i32.const 0 call $~lib/map/Map#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i64.const 0 - local.set $1 + local.set $2 loop $loop|0 - local.get $1 + local.get $2 i64.const 100 i64.lt_s i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 10 - local.get $1 + local.get $2 i32.wrap_i64 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $2 i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -9150,94 +9742,98 @@ end block $break|1 i64.const 0 - local.set $1 + local.set $2 loop $loop|1 - local.get $1 + local.get $2 i64.const 100 i64.lt_s i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $2 i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 20 - local.get $1 + local.get $2 i32.wrap_i64 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $2 i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -9245,75 +9841,81 @@ end block $break|2 i64.const 0 - local.set $1 + local.set $2 loop $loop|2 - local.get $1 + local.get $2 i64.const 50 i64.lt_s i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $2 i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -9321,102 +9923,116 @@ end block $break|3 i64.const 0 - local.set $1 + local.set $2 loop $loop|3 - local.get $1 + local.get $2 i64.const 50 i64.lt_s i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 10 - local.get $1 + local.get $2 i32.wrap_i64 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#clear (; 102 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 104 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -9424,6 +10040,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -9440,6 +10062,12 @@ i32.const 0 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -9456,12 +10084,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 103 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 105 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 10 + i32.const 12 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -9486,9 +10114,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#find (; 104 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 106 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -9536,7 +10169,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 105 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#has (; 107 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) local.get $0 local.get $1 @@ -9551,7 +10184,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 106 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 108 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9574,57 +10207,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 16 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 16 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=12 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i64.load i64.store local.get $10 - local.get $9 + local.get $3 i32.load offset=8 i32.store offset=8 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i64.load local.set $11 local.get $11 @@ -9634,7 +10279,7 @@ local.get $1 i32.and local.set $12 - local.get $3 + local.get $4 local.get $12 i32.const 4 i32.mul @@ -9645,34 +10290,34 @@ i32.load i32.store offset=12 local.get $13 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 16 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 16 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -9682,7 +10327,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $12 local.get $10 i32.load offset=8 @@ -9698,18 +10343,18 @@ local.get $12 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 107 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/map/Map#set (; 109 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i64) (local $4 i32) (local $5 i32) @@ -9762,6 +10407,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -9813,7 +10462,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 108 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#get (; 110 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) local.get $0 @@ -9835,11 +10484,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 109 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 111 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 110 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#delete (; 112 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) (local $4 i32) @@ -9909,89 +10558,105 @@ local.get $0 local.get $4 call $~lib/map/Map#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/map/testNumeric (; 111 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 113 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 i64) + (local $1 i32) + (local $2 i64) i32.const 0 call $~lib/map/Map#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i64.const 0 - local.set $1 + local.set $2 loop $loop|0 - local.get $1 + local.get $2 i64.const 100 i64.lt_u i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 10 - local.get $1 + local.get $2 i32.wrap_i64 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $2 i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -9999,94 +10664,98 @@ end block $break|1 i64.const 0 - local.set $1 + local.set $2 loop $loop|1 - local.get $1 + local.get $2 i64.const 100 i64.lt_u i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $2 i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 20 - local.get $1 + local.get $2 i32.wrap_i64 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $2 i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -10094,75 +10763,81 @@ end block $break|2 i64.const 0 - local.set $1 + local.set $2 loop $loop|2 - local.get $1 + local.get $2 i64.const 50 i64.lt_u i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $2 i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -10170,102 +10845,116 @@ end block $break|3 i64.const 0 - local.set $1 + local.set $2 loop $loop|3 - local.get $1 + local.get $2 i64.const 50 i64.lt_u i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 10 - local.get $1 + local.get $2 i32.wrap_i64 i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#clear (; 112 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 114 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -10273,6 +10962,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -10289,6 +10984,12 @@ i32.const 0 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -10305,12 +11006,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 113 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 115 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 11 + i32.const 13 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -10335,9 +11036,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#find (; 114 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 116 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -10385,7 +11091,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 115 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/map/Map#has (; 117 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (local $2 f32) local.get $0 local.get $1 @@ -10401,7 +11107,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 116 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 118 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10424,57 +11130,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 f32.load f32.store local.get $10 - local.get $9 + local.get $3 i32.load offset=4 i32.store offset=4 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 f32.load local.set $11 local.get $11 @@ -10485,7 +11203,7 @@ local.get $1 i32.and local.set $12 - local.get $3 + local.get $4 local.get $12 i32.const 4 i32.mul @@ -10496,34 +11214,34 @@ i32.load i32.store offset=8 local.get $13 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 12 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 12 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -10533,7 +11251,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $12 local.get $10 i32.load offset=8 @@ -10549,18 +11267,18 @@ local.get $12 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 117 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32) + (func $~lib/map/Map#set (; 119 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32) (local $3 f32) (local $4 i32) (local $5 i32) @@ -10614,6 +11332,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -10665,7 +11387,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 118 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/map/Map#get (; 120 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (local $2 f32) (local $3 i32) local.get $0 @@ -10688,11 +11410,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 119 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 121 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 120 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/map/Map#delete (; 122 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (local $2 f32) (local $3 i32) (local $4 i32) @@ -10763,89 +11485,105 @@ local.get $0 local.get $4 call $~lib/map/Map#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/map/testNumeric (; 121 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 123 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 f32) + (local $1 i32) + (local $2 f32) i32.const 0 call $~lib/map/Map#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 f32.const 0 - local.set $1 + local.set $2 loop $loop|0 - local.get $1 + local.get $2 f32.const 100 f32.lt i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 10 - local.get $1 + local.get $2 i32.trunc_f32_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $2 i32.trunc_f32_s i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f32.const 1 f32.add - local.set $1 + local.set $2 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -10853,94 +11591,98 @@ end block $break|1 f32.const 0 - local.set $1 + local.set $2 loop $loop|1 - local.get $1 + local.get $2 f32.const 100 f32.lt i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $2 i32.trunc_f32_s i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 20 - local.get $1 + local.get $2 i32.trunc_f32_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $2 i32.trunc_f32_s i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f32.const 1 f32.add - local.set $1 + local.set $2 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -10948,75 +11690,81 @@ end block $break|2 f32.const 0 - local.set $1 + local.set $2 loop $loop|2 - local.get $1 + local.get $2 f32.const 50 f32.lt i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $2 i32.trunc_f32_s i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f32.const 1 f32.add - local.set $1 + local.set $2 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -11024,102 +11772,116 @@ end block $break|3 f32.const 0 - local.set $1 + local.set $2 loop $loop|3 - local.get $1 + local.get $2 f32.const 50 f32.lt i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 10 - local.get $1 + local.get $2 i32.trunc_f32_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f32.const 1 f32.add - local.set $1 + local.set $2 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#clear (; 122 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 124 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -11127,6 +11889,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -11143,6 +11911,12 @@ i32.const 0 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -11159,12 +11933,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 123 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 125 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 12 + i32.const 14 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -11189,9 +11963,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#find (; 124 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 126 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -11239,7 +12018,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 125 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#has (; 127 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 f64) local.get $0 local.get $1 @@ -11255,7 +12034,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 126 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 128 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11278,57 +12057,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 16 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 16 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=12 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 f64.load f64.store local.get $10 - local.get $9 + local.get $3 i32.load offset=8 i32.store offset=8 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 f64.load local.set $11 local.get $11 @@ -11339,7 +12130,7 @@ local.get $1 i32.and local.set $12 - local.get $3 + local.get $4 local.get $12 i32.const 4 i32.mul @@ -11350,34 +12141,34 @@ i32.load i32.store offset=12 local.get $13 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 16 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 16 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -11387,7 +12178,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $12 local.get $10 i32.load offset=8 @@ -11403,18 +12194,18 @@ local.get $12 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/map/Map#set (; 127 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32) + (func $~lib/map/Map#set (; 129 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32) (local $3 f64) (local $4 i32) (local $5 i32) @@ -11468,6 +12259,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -11519,7 +12314,7 @@ call $~lib/rt/pure/__release end ) - (func $~lib/map/Map#get (; 128 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#get (; 130 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 f64) (local $3 i32) local.get $0 @@ -11542,11 +12337,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 129 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 131 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 130 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#delete (; 132 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 f64) (local $3 i32) (local $4 i32) @@ -11617,89 +12412,105 @@ local.get $0 local.get $4 call $~lib/map/Map#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/map/testNumeric (; 131 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 133 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 f64) + (local $1 i32) + (local $2 f64) i32.const 0 call $~lib/map/Map#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 f64.const 0 - local.set $1 + local.set $2 loop $loop|0 - local.get $1 + local.get $2 f64.const 100 f64.lt i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 10 - local.get $1 + local.get $2 i32.trunc_f64_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $2 i32.trunc_f64_s i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 9 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f64.const 1 f64.add - local.set $1 + local.set $2 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 11 i32.const 2 call $~lib/builtins/abort @@ -11707,94 +12518,98 @@ end block $break|1 f64.const 0 - local.set $1 + local.set $2 loop $loop|1 - local.get $1 + local.get $2 f64.const 100 f64.lt i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 15 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 10 - local.get $1 + local.get $2 i32.trunc_f64_s i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 20 - local.get $1 + local.get $2 i32.trunc_f64_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $2 i32.trunc_f64_s i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 19 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f64.const 1 f64.add - local.set $1 + local.set $2 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 21 i32.const 2 call $~lib/builtins/abort @@ -11802,75 +12617,81 @@ end block $break|2 f64.const 0 - local.set $1 + local.set $2 loop $loop|2 - local.get $1 + local.get $2 f64.const 50 f64.lt i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 25 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#get i32.const 20 - local.get $1 + local.get $2 i32.trunc_f64_s i32.add i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 28 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f64.const 1 f64.add - local.set $1 + local.set $2 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 2 call $~lib/builtins/abort @@ -11878,117 +12699,180 @@ end block $break|3 f64.const 0 - local.set $1 + local.set $2 loop $loop|3 - local.get $1 + local.get $2 f64.const 50 f64.lt i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.const 10 - local.get $1 + local.get $2 i32.trunc_f64_s i32.add call $~lib/map/Map#set - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/map/Map#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 38 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f64.const 1 f64.add - local.set $1 + local.set $2 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/map/Map#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $start:std/map (; 132 ;) (type $FUNCSIG$v) - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - ) - (func $start (; 133 ;) (type $FUNCSIG$v) + (func $start:std/map (; 134 ;) (type $FUNCSIG$v) + block $uncaughtError + call $std/map/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/map/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/map/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/map/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/map/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/map/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/map/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/map/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/map/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/map/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + return + end + i32.const 408 + i32.const 368 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 135 ;) (type $FUNCSIG$v) call $start:std/map ) - (func $~lib/rt/pure/markGray (; 134 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 136 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -12015,7 +12899,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 135 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 137 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -12032,7 +12916,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 136 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 138 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -12069,7 +12953,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 137 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 139 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -12107,7 +12991,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 138 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 140 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -12153,6 +13037,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -12164,7 +13052,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -12203,7 +13091,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -12233,7 +13121,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -12241,172 +13129,279 @@ end end ) - (func $~lib/map/Map#__visit_impl (; 139 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#__visit_impl (; 141 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/map/Map#__visit_impl (; 140 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#__visit_impl (; 142 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/map/Map#__visit_impl (; 141 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#__visit_impl (; 143 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/map/Map#__visit_impl (; 142 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#__visit_impl (; 144 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/map/Map#__visit_impl (; 143 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#__visit_impl (; 145 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/map/Map#__visit_impl (; 144 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#__visit_impl (; 146 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/map/Map#__visit_impl (; 145 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#__visit_impl (; 147 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/map/Map#__visit_impl (; 146 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#__visit_impl (; 148 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/map/Map#__visit_impl (; 147 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#__visit_impl (; 149 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/map/Map#__visit_impl (; 148 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#__visit_impl (; 150 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/rt/__visit_members (; 149 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 151 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $switch$1$default - block $switch$1$case$14 - block $switch$1$case$13 - block $switch$1$case$12 - block $switch$1$case$11 - block $switch$1$case$10 - block $switch$1$case$9 - block $switch$1$case$8 - block $switch$1$case$7 - block $switch$1$case$6 - block $switch$1$case$5 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$7 $switch$1$case$8 $switch$1$case$9 $switch$1$case$10 $switch$1$case$11 $switch$1$case$12 $switch$1$case$13 $switch$1$case$14 $switch$1$default + block $switch$1$case$16 + block $switch$1$case$15 + block $switch$1$case$14 + block $switch$1$case$13 + block $switch$1$case$12 + block $switch$1$case$11 + block $switch$1$case$10 + block $switch$1$case$9 + block $switch$1$case$8 + block $switch$1$case$6 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$6 $switch$1$case$8 $switch$1$case$9 $switch$1$case$10 $switch$1$case$11 $switch$1$case$12 $switch$1$case$13 $switch$1$case$14 $switch$1$case$15 $switch$1$case$16 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/pure/__visit - end + local.get $1 + call $~lib/map/Map#__visit_impl return end local.get $0 - local.get $1 - call $~lib/map/Map#__visit_impl + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end return end local.get $0 @@ -12456,6 +13451,6 @@ end unreachable ) - (func $null (; 150 ;) (type $FUNCSIG$v) + (func $null (; 152 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 24789e809d..8f7c4f0276 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -26,6 +26,7 @@ (type $FUNCSIG$idddd (func (param f64 f64 f64 f64) (result i32))) (type $FUNCSIG$iffff (func (param f32 f32 f32 f32) (result i32))) (type $FUNCSIG$ji (func (param i32) (result i64))) + (type $FUNCSIG$i (func (result i32))) (import "Math" "E" (global $~lib/bindings/Math/E f64)) (import "Math" "LN2" (global $~lib/bindings/Math/LN2 f64)) (import "Math" "LN10" (global $~lib/bindings/Math/LN10 f64)) @@ -68,13 +69,19 @@ (data (i32.const 48) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") (data (i32.const 96) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00@\00\00\00@\00\00\00 \00\00\00\04") (data (i32.const 128) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 168) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.") + (data (i32.const 168) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 204) "\01\00\00\00\01") + (data (i32.const 216) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.") + (data (i32.const 272) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/math/rempio2f_y (mut f64) (f64.const 0)) (global $~lib/math/random_seeded (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/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $~lib/number/isNaN (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) @@ -8071,18 +8078,91 @@ call $~lib/math/splitMix32 global.set $~lib/math/random_state1_32 ) - (func $~lib/math/NativeMath.random (; 131 ;) (type $FUNCSIG$d) (result f64) + (func $~lib/rt/stub/__alloc (; 131 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/rt/stub/offset + i32.const 16 + i32.add + local.tee $1 + i32.const 27 + i32.add + i32.const -16 + i32.and + local.tee $0 + memory.size + local.tee $2 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $2 + local.get $0 + local.get $1 + i32.sub + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $2 + local.get $3 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $0 + global.set $~lib/rt/stub/offset + local.get $1 + i32.const 16 + i32.sub + local.tee $0 + i32.const 4 + i32.store offset=8 + local.get $0 + i32.const 12 + i32.store offset=12 + local.get $1 + ) + (func $~lib/error/Error#constructor (; 132 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) + call $~lib/rt/stub/__alloc + local.tee $0 + i32.const 184 + i32.store + local.get $0 + i32.const 216 + i32.store offset=4 + local.get $0 + i32.const 232 + i32.store offset=8 + local.get $0 + ) + (func $~lib/math/NativeMath.random (; 133 ;) (type $FUNCSIG$d) (result f64) (local $0 i64) (local $1 i64) global.get $~lib/math/random_seeded i32.eqz if - i32.const 184 - i32.const 144 - i32.const 1029 - i32.const 24 - call $~lib/builtins/abort - unreachable + call $~lib/error/Error#constructor + global.set $~lib/error + f64.const 0 + return end global.get $~lib/math/random_state0_64 local.set $0 @@ -8118,18 +8198,16 @@ f64.const 1 f64.sub ) - (func $~lib/math/NativeMathf.random (; 132 ;) (type $FUNCSIG$f) (result f32) + (func $~lib/math/NativeMathf.random (; 134 ;) (type $FUNCSIG$f) (result f32) (local $0 i32) (local $1 i32) global.get $~lib/math/random_seeded i32.eqz if - i32.const 184 - i32.const 144 - i32.const 2309 - i32.const 24 - call $~lib/builtins/abort - unreachable + call $~lib/error/Error#constructor + global.set $~lib/error + f32.const 0 + return end global.get $~lib/math/random_state0_32 local.tee $0 @@ -8164,7 +8242,7 @@ f32.const 1 f32.sub ) - (func $std/math/test_round (; 133 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_round (; 135 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.const 0.5 f64.add @@ -8175,7 +8253,7 @@ f64.const 0 call $std/math/check ) - (func $std/math/test_roundf (; 134 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_roundf (; 136 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.const 0.5 f32.add @@ -8186,7 +8264,7 @@ f32.const 0 call $std/math/check ) - (func $std/math/test_sign (; 135 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_sign (; 137 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 f64) local.get $0 local.set $2 @@ -8212,7 +8290,7 @@ i32.const 0 end ) - (func $std/math/test_signf (; 136 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_signf (; 138 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) f32.const 1 local.get $0 f32.copysign @@ -8226,7 +8304,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.rem (; 137 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.rem (; 139 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -8482,7 +8560,7 @@ end local.get $0 ) - (func $std/math/test_rem (; 138 ;) (type $FUNCSIG$iddd) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_rem (; 140 ;) (type $FUNCSIG$iddd) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.rem @@ -8490,7 +8568,7 @@ f64.const 0 call $std/math/check ) - (func $~lib/math/NativeMathf.rem (; 139 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.rem (; 141 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8735,7 +8813,7 @@ end local.get $0 ) - (func $std/math/test_remf (; 140 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_remf (; 142 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.rem @@ -8743,7 +8821,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMathf.sin (; 141 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sin (; 143 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 f64) (local $2 i32) (local $3 f64) @@ -9016,14 +9094,14 @@ end local.get $0 ) - (func $std/math/test_sinf (; 142 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_sinf (; 144 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.sin local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.sinh (; 143 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.sinh (; 145 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) (local $1 f64) (local $2 f64) (local $3 i32) @@ -9100,7 +9178,7 @@ f64.mul f64.mul ) - (func $std/math/test_sinh (; 144 ;) (type $FUNCSIG$iddd) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_sinh (; 146 ;) (type $FUNCSIG$iddd) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.sinh local.get $1 @@ -9116,7 +9194,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sinh (; 145 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sinh (; 147 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 f32) @@ -9188,14 +9266,14 @@ f32.mul f32.mul ) - (func $std/math/test_sinhf (; 146 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_sinhf (; 148 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.sinh local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_sqrt (; 147 ;) (type $FUNCSIG$iddd) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_sqrt (; 149 ;) (type $FUNCSIG$iddd) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 f64.sqrt local.get $1 @@ -9211,14 +9289,14 @@ i32.const 0 end ) - (func $std/math/test_sqrtf (; 148 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_sqrtf (; 150 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 f32.sqrt local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMathf.tan (; 149 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tan (; 151 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 f64) (local $2 i32) (local $3 f64) @@ -9475,14 +9553,14 @@ local.get $1 f32.demote_f64 ) - (func $std/math/test_tanf (; 150 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_tanf (; 152 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.tan local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.tanh (; 151 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.tanh (; 153 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i64) @@ -9561,7 +9639,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_tanh (; 152 ;) (type $FUNCSIG$iddd) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_tanh (; 154 ;) (type $FUNCSIG$iddd) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.tanh local.get $1 @@ -9577,7 +9655,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tanh (; 153 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tanh (; 155 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) local.get $0 @@ -9651,14 +9729,14 @@ local.get $0 f32.copysign ) - (func $std/math/test_tanhf (; 154 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_tanhf (; 156 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.tanh local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_trunc (; 155 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_trunc (; 157 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.trunc local.get $1 @@ -9674,14 +9752,14 @@ i32.const 0 end ) - (func $std/math/test_truncf (; 156 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_truncf (; 158 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.trunc local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.imul (; 157 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.imul (; 159 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) local.get $0 local.get $1 f64.add @@ -9714,7 +9792,7 @@ i32.mul f64.convert_i32_s ) - (func $~lib/math/NativeMath.clz32 (; 158 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.clz32 (; 160 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) local.get $0 call $~lib/number/isFinite i32.eqz @@ -9735,7 +9813,7 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (; 159 ;) (type $FUNCSIG$jji) (param $0 i64) (param $1 i32) (result i64) + (func $~lib/math/ipow64 (; 161 ;) (type $FUNCSIG$jji) (param $0 i64) (param $1 i32) (result i64) (local $2 i64) i64.const 1 local.set $2 @@ -9767,7 +9845,7 @@ end local.get $2 ) - (func $~lib/math/ipow32f (; 160 ;) (type $FUNCSIG$ffi) (param $0 f32) (param $1 i32) (result f32) + (func $~lib/math/ipow32f (; 162 ;) (type $FUNCSIG$ffi) (param $0 f32) (param $1 i32) (result f32) (local $2 f32) (local $3 i32) local.get $1 @@ -9813,7 +9891,7 @@ end local.get $2 ) - (func $~lib/math/ipow64f (; 161 ;) (type $FUNCSIG$ddi) (param $0 f64) (param $1 i32) (result f64) + (func $~lib/math/ipow64f (; 163 ;) (type $FUNCSIG$ddi) (param $0 f64) (param $1 i32) (result f64) (local $2 f64) (local $3 i32) local.get $1 @@ -9859,7 +9937,7 @@ end local.get $2 ) - (func $start:std/math (; 162 ;) (type $FUNCSIG$v) + (func $start:std/math (; 164 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f64) (local $2 f32) @@ -31388,8508 +31466,8523 @@ call $~lib/bindings/Math/random i64.reinterpret_f64 call $~lib/math/NativeMath.seedRandom - loop $loop|0 - block $break|0 - local.get $0 - f64.convert_i32_s - f64.const 1e6 - f64.lt - i32.eqz - br_if $break|0 - call $~lib/math/NativeMath.random - local.tee $1 - f64.const 0 - f64.ge - if (result i32) + i32.const 320 + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + block $uncaughtError + loop $loop|0 + block $break|0 + local.get $0 + f64.convert_i32_s + f64.const 1e6 + f64.lt + i32.eqz + br_if $break|0 + call $~lib/math/NativeMath.random + local.set $1 + global.get $~lib/error + br_if $uncaughtError local.get $1 f64.const 1 f64.lt - else - i32.const 0 - end - if - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 - else i32.const 0 - i32.const 24 - i32.const 2579 - i32.const 2 - call $~lib/builtins/abort + local.get $1 + f64.const 0 + f64.ge + select + if + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + else + i32.const 0 + i32.const 24 + i32.const 2579 + i32.const 2 + call $~lib/builtins/abort + unreachable + end unreachable end - unreachable end - end - call $~lib/bindings/Math/random - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom - i32.const 0 - local.set $0 - loop $loop|1 - block $break|1 - local.get $0 - f64.convert_i32_s - f64.const 1e6 - f64.lt - i32.eqz - br_if $break|1 - call $~lib/math/NativeMathf.random - local.tee $2 - f32.const 0 - f32.ge - if (result i32) + call $~lib/bindings/Math/random + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom + i32.const 0 + local.set $0 + loop $loop|1 + block $break|1 + local.get $0 + f64.convert_i32_s + f64.const 1e6 + f64.lt + i32.eqz + br_if $break|1 + call $~lib/math/NativeMathf.random + local.set $2 + global.get $~lib/error + br_if $uncaughtError local.get $2 f32.const 1 f32.lt - else - i32.const 0 - end - if - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|1 - else i32.const 0 - i32.const 24 - i32.const 2587 - i32.const 2 - call $~lib/builtins/abort + local.get $2 + f32.const 0 + f32.ge + select + if + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|1 + else + i32.const 0 + i32.const 24 + i32.const 2587 + i32.const 2 + call $~lib/builtins/abort + unreachable + end unreachable end + end + f64.const -8.06684839057968 + f64.const -8 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2601 + i32.const 0 + call $~lib/builtins/abort unreachable end - end - f64.const -8.06684839057968 - f64.const -8 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2601 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 4 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2602 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -8 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2603 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -7 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2604 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 9 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2605 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2606 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2607 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2608 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2609 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2610 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2613 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2614 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2615 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2616 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2617 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2618 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2619 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2620 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2621 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 2 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2622 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2623 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2624 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2625 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2626 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2627 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2628 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2629 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -8 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2638 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2639 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -8 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2640 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -7 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2641 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2642 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2643 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2644 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2645 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2646 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2647 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2650 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2651 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2652 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2653 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2654 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2655 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2656 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2657 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2658 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 2 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2659 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2660 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2661 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2662 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2663 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2664 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2665 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2666 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2677 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2678 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2679 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2680 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2681 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2682 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2683 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2684 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2685 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2693 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2694 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2695 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const 1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2696 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2697 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2698 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2699 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2700 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2701 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const 1.0044767307740567 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2738 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 4.345239849338305 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2739 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -0.09061141541648476 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2740 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -1.9641383050707404 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2741 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const -0.35572720174700656 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2742 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const 0.17067236731650248 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2743 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const -0.016443286217702822 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2744 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.792054511984896 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2745 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.615702673197924 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2746 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -0.0106815621160685 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2747 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2750 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2751 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0.5 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2752 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1 - f64.const -0.5 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2753 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2754 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const -0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2755 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 1 - f64.const -0.5 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2756 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const 1 - f64.const 0.5 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2757 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 1 - f64.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2758 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const 1 - f64.const -0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2759 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2760 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 1 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2761 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2762 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2763 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2764 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - f64.const 0.5 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2765 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const -0.5 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2766 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - f64.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2767 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2768 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const -1 - f64.const -0.5 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2769 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - f64.const 0.5 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2770 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const -1 - f64.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2771 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - f64.const -0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2772 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2773 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2774 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2775 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2776 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2777 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2778 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - f64.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2779 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2780 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2781 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2782 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const -0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2783 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - f64.const -0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2784 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2785 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2786 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2787 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2788 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2789 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2790 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2791 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2792 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2793 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2794 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2795 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2796 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2797 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 2 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2798 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0.5 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2799 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2800 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2801 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2802 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2803 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 1 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2804 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const -1 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2805 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2806 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const inf - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2807 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -inf - f64.const 1 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2808 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -inf - f64.const -1 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2809 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -inf - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2810 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const nan:0x8000000000000 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2811 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const 0.5 - f64.const -0.25 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2812 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const 0.5 - f64.const 0.25 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2813 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const -0.5 - f64.const -0.25 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2814 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const -0.5 - f64.const 0.25 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2815 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8e-323 - f64.const inf - f64.const 8e-323 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2816 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const 1.004476547241211 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2825 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 4.345239639282227 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2826 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -0.09061169624328613 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2827 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -1.9641380310058594 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2828 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const -0.3557271957397461 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2829 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const 0.17067205905914307 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2830 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const -0.016443386673927307 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2831 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.7920545339584351 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2832 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.6157026886940002 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2833 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -0.010681532323360443 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2834 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2837 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2838 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0.5 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2839 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1 - f32.const -0.5 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2840 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2841 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const -0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2842 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const 1 - f32.const -0.5 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2843 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const 1 - f32.const 0.5 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2844 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const 1 - f32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2845 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const 1 - f32.const -0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2846 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2847 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 1 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2848 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2849 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2850 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2851 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -1 - f32.const 0.5 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2852 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const -0.5 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2853 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -1 - f32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2854 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2855 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const -1 - f32.const -0.5 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2856 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const -1 - f32.const 0.5 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2857 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const -1 - f32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2858 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - f32.const -0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2859 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2860 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2861 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2862 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2863 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2864 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2865 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2866 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2867 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2868 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2869 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const -0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2870 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const -0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2871 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2872 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2873 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2874 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2875 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2876 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2877 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2878 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2879 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2880 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2881 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2882 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2883 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2884 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 2 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2885 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0.5 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2886 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2887 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2888 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2889 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2890 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 1 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2891 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const -1 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2892 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2893 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const inf - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2894 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -inf - f32.const 1 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2895 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -inf - f32.const -1 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2896 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -inf - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2897 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const nan:0x400000 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2898 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const 0.5 - f32.const -0.25 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2899 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const 0.5 - f32.const 0.25 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2900 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const -0.5 - f32.const -0.25 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2901 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const -0.5 - f32.const 0.25 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2902 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const inf - f32.const 5.877471754111438e-39 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2903 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -0.977429211139679 - f32.const 0.0801057294011116 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2941 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -0.933354377746582 - f32.const 0.34475627541542053 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2942 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -0.8640924692153931 - f32.const -0.468659907579422 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2943 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.24593880772590637 - f32.const -0.3955177664756775 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2944 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 0.1570674479007721 - f32.const -0.24006809294223785 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2945 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.6146844625473022 - f32.const -0.07707194238901138 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2946 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.39549243450164795 - f32.const -0.11720617115497589 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2947 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5326763391494751 - f32.const -0.16059114038944244 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2948 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.699110209941864 - f32.const 0.26384368538856506 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2949 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.627831220626831 - f32.const 0.005127954296767712 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2950 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2953 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2954 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2955 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2956 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2957 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.862645149230957e-09 - f32.const 1.862645149230957e-09 - f32.const 4.850638554015907e-12 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2960 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.862645149230957e-09 - f32.const -1.862645149230957e-09 - f32.const -4.850638554015907e-12 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2961 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754943508222875e-38 - f32.const 1.1754943508222875e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2962 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754943508222875e-38 - f32.const -1.1754943508222875e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2963 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 1.401298464324817e-45 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2964 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const -1.401298464324817e-45 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2965 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.175494490952134e-38 - f32.const 1.175494490952134e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2966 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754946310819804e-38 - f32.const 1.1754946310819804e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2967 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509880009953429e-38 - f32.const 2.3509880009953429e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2968 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 2.350988701644575e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2969 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509895424236536e-38 - f32.const 2.3509895424236536e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2970 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.70197740328915e-38 - f32.const 4.70197740328915e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2971 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1175870895385742e-08 - f32.const 1.1175870895385742e-08 - f32.const 2.6193447411060333e-10 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2972 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.4901161193847656e-08 - f32.const 1.4901161193847656e-08 - f32.const 3.1044086745701804e-10 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2973 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.000244140625 - f32.const 0.000244140625 - f32.const 0.0833333358168602 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2974 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.0003662109375 - f32.const 0.0003662109375 - f32.const 0.28125 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2975 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.175494490952134e-38 - f32.const -1.175494490952134e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2976 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754946310819804e-38 - f32.const -1.1754946310819804e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2977 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509880009953429e-38 - f32.const -2.3509880009953429e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2978 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.350988701644575e-38 - f32.const -2.350988701644575e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2979 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509895424236536e-38 - f32.const -2.3509895424236536e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2980 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -4.70197740328915e-38 - f32.const -4.70197740328915e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2981 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1175870895385742e-08 - f32.const -1.1175870895385742e-08 - f32.const -2.6193447411060333e-10 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2982 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.4901161193847656e-08 - f32.const -1.4901161193847656e-08 - f32.const -3.1044086745701804e-10 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2983 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.000244140625 - f32.const -0.000244140625 - f32.const -0.0833333358168602 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2984 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.0003662109375 - f32.const -0.0003662109375 - f32.const -0.28125 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2985 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 2.802596928649634e-45 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2986 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.2611686178923354e-44 - f32.const 1.2611686178923354e-44 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2987 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.938735877055719e-39 - f32.const 2.938735877055719e-39 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2988 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const 5.877471754111438e-39 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2989 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754940705625946e-38 - f32.const 1.1754940705625946e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2990 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754942106924411e-38 - f32.const 1.1754942106924411e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2991 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.802596928649634e-45 - f32.const -2.802596928649634e-45 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2992 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.2611686178923354e-44 - f32.const -1.2611686178923354e-44 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2993 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.938735877055719e-39 - f32.const -2.938735877055719e-39 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2994 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5.877471754111438e-39 - f32.const -5.877471754111438e-39 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2995 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754940705625946e-38 - f32.const -1.1754940705625946e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2996 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754942106924411e-38 - f32.const -1.1754942106924411e-38 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2997 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 255.99993896484375 - f32.const -0.9992055892944336 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3000 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5033165 - f32.const 0.5312945246696472 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3001 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 421657440 - f32.const -0.7397398948669434 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3002 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2147483392 - f32.const 0.2762770354747772 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3003 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 68719476736 - f32.const 0.9855440855026245 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3004 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 549755813888 - f32.const -0.9782648086547852 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3005 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - f32.const -0.5218765139579773 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3006 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -255.99993896484375 - f32.const 0.9992055892944336 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3007 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5033165 - f32.const -0.5312945246696472 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3008 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -421657440 - f32.const 0.7397398948669434 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3009 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2147483392 - f32.const -0.2762770354747772 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3010 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -68719476736 - f32.const -0.9855440855026245 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3011 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -549755813888 - f32.const 0.9782648086547852 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3012 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -3402823466385288598117041e14 - f32.const 0.5218765139579773 - f32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3013 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -1593.5206801156262 - f64.const -0.2138727605342865 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3025 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 38.54878088685412 - f64.const 0.21537430584430695 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3026 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2182.6307505145546 - f64.const 0.16213826835155487 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3027 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -343.2723926847529 - f64.const 0.20479513704776764 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3028 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 5291.7790755194055 - f64.const -0.48676517605781555 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3029 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.7114062568229157 - f64.const -0.4584641456604004 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3030 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.41790065258739445 - f64.const 0.37220045924186707 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3031 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5917755935451237 - f64.const 0.46178996562957764 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3032 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.8538292008852542 - f64.const -0.07019051909446716 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3033 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.732097615653169 - f64.const 0.26858529448509216 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3034 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3037 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3038 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3039 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3040 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3041 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -1593.521240234375 - f32.const 0.1671663224697113 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3050 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 38.548770904541016 - f32.const -0.49340328574180603 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3051 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2182.630859375 - f32.const 0.0849970355629921 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3052 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -343.2723388671875 - f32.const 0.0704190656542778 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3053 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 5291.78125 - f32.const -0.44362515211105347 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3054 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7114062309265137 - f32.const 0.058103885501623154 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3055 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.4179006516933441 - f32.const 0.39349499344825745 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3056 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5917755961418152 - f32.const -0.4183797240257263 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3057 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.8538292050361633 - f32.const 0.45992106199264526 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3058 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.7320976257324219 - f32.const -0.48159059882164 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3059 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3062 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3063 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3064 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3065 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3066 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3078 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.0845238903256313 - f64.const -0.07180261611938477 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3079 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3080 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3081 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 3.0441841217266385 - f64.const -0.01546262577176094 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3082 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.8136251582267503 - f64.const -0.08618157356977463 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3083 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3084 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.7495063350104014 - f64.const -0.0981396734714508 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3085 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.879859248170583 - f64.const -0.37124353647232056 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3086 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3087 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3090 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3091 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3092 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3093 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3094 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3095 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3096 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4 - f64.const 2 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3097 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-323 - f64.const 3.1434555694052576e-162 - f64.const 0.43537619709968567 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3098 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5e-323 - f64.const 3.849931087076416e-162 - f64.const -0.45194002985954285 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3099 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const 2.2227587494850775e-162 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3100 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5e-324 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3101 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999999999999999 - f64.const 0.9999999999999999 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3102 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.9999999999999998 - f64.const 1.414213562373095 - f64.const -0.21107041835784912 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3103 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000000000000002 - f64.const 1 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3104 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.0000000000000004 - f64.const 1.4142135623730951 - f64.const -0.27173060178756714 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3105 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000000000000002 - f64.const 1 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3106 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999999999999999 - f64.const 0.9999999999999999 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3107 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3108 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const 1340780792994259561100831e130 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3109 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 179769313486231490980915e285 - f64.const 134078079299425926338769e131 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3110 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862314111473026e284 - f64.const 1340780792994258965674548e130 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3111 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862313313136902e284 - f64.const 1340780792994258667961407e130 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3112 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862312514800778e284 - f64.const 1340780792994258370248265e130 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862311716464655e284 - f64.const 1340780792994258072535124e130 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3114 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862310918128531e284 - f64.const 1340780792994257774821982e130 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3115 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862310119792407e284 - f64.const 1340780792994257477108841e130 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3116 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862309321456283e284 - f64.const 1340780792994257179395699e130 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3117 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862308523120159e284 - f64.const 1340780792994256881682558e130 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3118 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862307724784036e284 - f64.const 1340780792994256583969417e130 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3119 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507203e-308 - f64.const 1.4916681462400417e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3120 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507205e-308 - f64.const 1.4916681462400423e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3121 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507207e-308 - f64.const 1.491668146240043e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3122 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507209e-308 - f64.const 1.4916681462400437e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3123 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507211e-308 - f64.const 1.4916681462400443e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3124 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072127e-308 - f64.const 1.491668146240045e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3125 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072147e-308 - f64.const 1.4916681462400457e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3126 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072167e-308 - f64.const 1.4916681462400463e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3127 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072187e-308 - f64.const 1.491668146240047e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3128 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072207e-308 - f64.const 1.4916681462400476e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3129 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072226e-308 - f64.const 1.4916681462400483e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3130 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072246e-308 - f64.const 1.491668146240049e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3131 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072266e-308 - f64.const 1.4916681462400496e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3132 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072286e-308 - f64.const 1.4916681462400503e-154 - f64.const -0.5 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3133 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 92.35130391890645 - f64.const 9.609958580499006 - f64.const 0.4998137056827545 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3134 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 93.3599596388916 - f64.const 9.662295774757238 - f64.const -0.49979978799819946 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3135 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 95.42049628886124 - f64.const 9.76834153215689 - f64.const -0.49997270107269287 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3136 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 95.87916941885449 - f64.const 9.791790919890728 - f64.const 0.4998766779899597 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 96.84804174884022 - f64.const 9.841140266698785 - f64.const 0.499801903963089 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3138 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 97.43639050883155 - f64.const 9.87098731175517 - f64.const 0.4997696280479431 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3139 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 97.50957979883047 - f64.const 9.874693909120955 - f64.const 0.49999818205833435 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3140 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 97.80496893882612 - f64.const 9.88963947466368 - f64.const -0.4999580681324005 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3141 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 98.2751822888192 - f64.const 9.913383997849534 - f64.const 0.49979931116104126 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3142 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 99.47293564880155 - f64.const 9.973611966023219 - f64.const -0.4999540448188782 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3143 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 100.57047130878539 - f64.const 10.028483001370914 - f64.const -0.49996453523635864 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3144 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 100.60954608878481 - f64.const 10.030431002144665 - f64.const 0.49975672364234924 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3145 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 100.67909109878379 - f64.const 10.033897104255344 - f64.const -0.4997771382331848 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3146 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 101.12268095877725 - f64.const 10.055977374615422 - f64.const 0.49988678097724915 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3147 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 101.3027691287746 - f64.const 10.064927676281366 - f64.const 0.4999105632305145 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3148 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.45932313565507e-307 - f64.const 4.9591563149945874e-154 - f64.const -0.4998999834060669 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3149 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.610957305180409e-307 - f64.const 7.490632353266584e-154 - f64.const -0.4999343752861023 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3150 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.8073887977408524e-307 - f64.const 7.62062254526548e-154 - f64.const -0.49989569187164307 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3151 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.026137080471427e-307 - f64.const 8.382205605013174e-154 - f64.const 0.49980640411376953 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3152 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8.438697769194972e-307 - f64.const 9.186238495268328e-154 - f64.const -0.4999065697193146 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3153 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1607792515836795e-306 - f64.const 1.0773946591586944e-153 - f64.const -0.49997684359550476 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3154 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.2827413827423193e-306 - f64.const 1.1325817333606962e-153 - f64.const -0.4999513030052185 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3155 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.7116604596087457e-306 - f64.const 1.3083044216117078e-153 - f64.const -0.49986395239830017 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3156 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.038173251686994e-306 - f64.const 1.4276460526639628e-153 - f64.const 0.4998403787612915 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3157 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.171572060856931e-306 - f64.const 1.4736254818836879e-153 - f64.const 0.4999290406703949 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3158 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.4681399631804094e-306 - f64.const 1.5710314965589996e-153 - f64.const 0.49989044666290283 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3159 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.5175533964200588e-306 - f64.const 1.5866799918131124e-153 - f64.const -0.4997701048851013 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3160 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.6461505468829625e-306 - f64.const 1.6266992797941982e-153 - f64.const 0.4998672902584076 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3161 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.8167076367720413e-306 - f64.const 1.9536395872248397e-153 - f64.const 0.49983471632003784 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3162 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.5743220778562766e-306 - f64.const 2.1387664851161936e-153 - f64.const 0.49985939264297485 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3163 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3172 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.084523916244507 - f32.const 0.3200402557849884 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3173 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3174 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3175 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 3.0441842079162598 - f32.const 0.05022354796528816 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3176 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.813625156879425 - f32.const 0.2240506112575531 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3177 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3178 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.7495063543319702 - f32.const 0.05895441770553589 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3179 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.879859209060669 - f32.const -0.4874873757362366 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3180 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3181 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3184 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3185 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3186 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3187 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3188 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3189 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3190 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4 - f32.const 2 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3191 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 5.293955920339377e-23 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3192 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.203895392974451e-45 - f32.const 6.483745598763743e-23 - f32.const 0.37388554215431213 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 3.743392066509216e-23 - f32.const -0.20303145051002502 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - f32.const 18446742974197923840 - f32.const -0.5 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3196 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -3402823466385288598117041e14 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3197 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999998807907104 - f32.const 0.9999999403953552 - f32.const 2.980232594040899e-08 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3198 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999999403953552 - f32.const 0.9999999403953552 - f32.const -0.5 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3199 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.999999761581421 - f32.const 1.4142134189605713 - f32.const -0.4959246516227722 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3200 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.9999998807907104 - f32.const 1.4142135381698608 - f32.const 0.15052194893360138 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3201 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000001192092896 - f32.const 1 - f32.const -0.5 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3202 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.000000238418579 - f32.const 1.0000001192092896 - f32.const 5.960463766996327e-08 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3203 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.000000238418579 - f32.const 1.4142136573791504 - f32.const 0.08986179530620575 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3204 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.000000476837158 - f32.const 1.41421377658844 - f32.const 0.3827550709247589 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3205 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.626595497131348 - f32.const 0.2455666959285736 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3243 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.6001901626586914 - f32.const 0.3652407228946686 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3244 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const 1.716740608215332 - f32.const 0.08169349282979965 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3245 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.2537320852279663 - f32.const 0.23186513781547546 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3246 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const -0.15904149413108826 - f32.const -0.009332014247775078 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3247 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7792918682098389 - f32.const -0.06759700924158096 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3248 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.43059954047203064 - f32.const 0.005771996453404427 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3249 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.6294037103652954 - f32.const -0.16838163137435913 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3250 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.977757453918457 - f32.const 0.38969388604164124 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3251 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.8066186308860779 - f32.const 0.12294059991836548 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3252 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3255 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3256 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3257 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3258 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3259 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.862645149230957e-09 - f32.const 1.862645149230957e-09 - f32.const -9.701277108031814e-12 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3262 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.862645149230957e-09 - f32.const -1.862645149230957e-09 - f32.const 9.701277108031814e-12 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3263 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754943508222875e-38 - f32.const 1.1754943508222875e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3264 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754943508222875e-38 - f32.const -1.1754943508222875e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3265 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 1.401298464324817e-45 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3266 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const -1.401298464324817e-45 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3267 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.175494490952134e-38 - f32.const 1.175494490952134e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3268 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754946310819804e-38 - f32.const 1.1754946310819804e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3269 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509880009953429e-38 - f32.const 2.3509880009953429e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3270 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 2.350988701644575e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3271 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509895424236536e-38 - f32.const 2.3509895424236536e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3272 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.70197740328915e-38 - f32.const 4.70197740328915e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3273 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1175870895385742e-08 - f32.const 1.1175870895385742e-08 - f32.const -5.238689482212067e-10 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3274 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.4901161193847656e-08 - f32.const 1.4901161193847656e-08 - f32.const -6.208817349140361e-10 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3275 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.000244140625 - f32.const 0.000244140625 - f32.const -0.1666666716337204 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3276 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.175494490952134e-38 - f32.const -1.175494490952134e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3277 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754946310819804e-38 - f32.const -1.1754946310819804e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3278 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509880009953429e-38 - f32.const -2.3509880009953429e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3279 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 2.350988701644575e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3280 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509895424236536e-38 - f32.const -2.3509895424236536e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3281 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -4.70197740328915e-38 - f32.const -4.70197740328915e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3282 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1175870895385742e-08 - f32.const -1.1175870895385742e-08 - f32.const 5.238689482212067e-10 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3283 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.4901161193847656e-08 - f32.const -1.4901161193847656e-08 - f32.const 6.208817349140361e-10 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3284 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.000244140625 - f32.const -0.000244140625 - f32.const 0.1666666716337204 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3285 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 2.802596928649634e-45 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3286 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.2611686178923354e-44 - f32.const 1.2611686178923354e-44 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3287 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.938735877055719e-39 - f32.const 2.938735877055719e-39 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3288 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const 5.877471754111438e-39 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3289 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754940705625946e-38 - f32.const 1.1754940705625946e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3290 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754942106924411e-38 - f32.const 1.1754942106924411e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3291 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.802596928649634e-45 - f32.const -2.802596928649634e-45 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3292 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.2611686178923354e-44 - f32.const -1.2611686178923354e-44 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3293 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.938735877055719e-39 - f32.const -2.938735877055719e-39 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3294 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5.877471754111438e-39 - f32.const -5.877471754111438e-39 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3295 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754940705625946e-38 - f32.const -1.1754940705625946e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3296 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754942106924411e-38 - f32.const -1.1754942106924411e-38 - f32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3297 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -0.999999803096032 - f64.const 0.012793331407010555 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3309 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 0.9996636978961307 - f64.const 0.1573508232831955 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3310 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -0.9999998950434862 - f64.const 0.27985066175460815 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3311 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -0.9999957568392429 - f64.const -0.44285574555397034 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3312 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 0.9999999821447234 - f64.const 0.4462755024433136 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3313 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.5796835018635275 - f64.const 0.4892043173313141 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3314 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.3855853099901652 - f64.const 0.35993871092796326 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3315 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5092819248700439 - f64.const -0.39436522126197815 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3316 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.6493374550318555 - f64.const -0.4899396002292633 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3317 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.590715084799841 - f64.const -0.0145387789234519 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3318 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3321 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3322 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const 0 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3323 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - f64.const 0 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3324 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3325 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -0.9999998211860657 - f32.const -0.3034979999065399 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3334 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 0.9996637105941772 - f32.const 0.2154078334569931 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3335 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -0.9999998807907104 - f32.const 0.23912210762500763 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3336 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.999995768070221 - f32.const -0.18844597041606903 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3337 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 1 - f32.const 0.1497807800769806 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3338 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.5796834826469421 - f32.const -0.05590476095676422 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3339 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.38558530807495117 - f32.const 0.349787175655365 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3340 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5092819333076477 - f32.const -0.1528785079717636 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3341 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.6493374705314636 - f32.const 0.4317026138305664 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3342 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.5907150506973267 - f32.const 0.4079873859882355 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3343 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3346 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3347 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const 0 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3348 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - f32.const 0 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3349 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3350 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -8 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3362 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 4 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3363 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -8 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3364 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -6 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3365 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 9 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3366 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3367 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3368 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3369 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3370 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3371 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3374 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3375 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3376 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3377 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3378 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3379 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3380 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3381 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3382 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3383 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3384 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3385 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3386 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3387 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3388 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -8 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3397 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3398 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -8 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3399 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -6 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3400 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3401 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3402 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3403 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3404 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3405 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3406 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3409 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3410 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3411 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3412 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3413 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3414 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3415 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3416 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3417 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3418 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3419 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3420 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3421 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3422 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3423 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 4 - call $~lib/math/NativeMath.imul - f64.const 8 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3427 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 8 - call $~lib/math/NativeMath.imul - f64.const -8 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3428 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -2 - call $~lib/math/NativeMath.imul - f64.const 4 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3429 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967295 - f64.const 5 - call $~lib/math/NativeMath.imul - f64.const -5 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3430 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967294 - f64.const 5 - call $~lib/math/NativeMath.imul - f64.const -10 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3431 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+60 - f64.const 1.e+60 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3432 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+60 - f64.const -1.e+60 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3433 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.e+60 - f64.const -1.e+60 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3434 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+24 - f64.const 100 - call $~lib/math/NativeMath.imul - f64.const -2147483648 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3435 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3436 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - call $~lib/math/NativeMath.imul - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3437 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const 1797693134862315708145274e284 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3438 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3442 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3443 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3444 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -128 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3445 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967295 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3446 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967295.5 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3447 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967296 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3448 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967297 - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3449 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3450 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3451 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9007199254740991 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3452 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -9007199254740991 - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3453 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3454 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3455 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3456 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.220446049250313e-16 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3457 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3461 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 1 - call $~lib/math/ipow64 - i64.const 0 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3462 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 2 - call $~lib/math/ipow64 - i64.const 0 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3463 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 3 - call $~lib/math/ipow64 - i64.const 0 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3464 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3466 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 1 - call $~lib/math/ipow64 - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3467 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 2 - call $~lib/math/ipow64 - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3468 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 3 - call $~lib/math/ipow64 - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3469 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3471 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 1 - call $~lib/math/ipow64 - i64.const 2 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3472 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 2 - call $~lib/math/ipow64 - i64.const 4 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3473 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 3 - call $~lib/math/ipow64 - i64.const 8 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3474 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3476 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 1 - call $~lib/math/ipow64 - i64.const -1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3477 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 2 - call $~lib/math/ipow64 - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3478 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 3 - call $~lib/math/ipow64 - i64.const -1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3479 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3481 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 1 - call $~lib/math/ipow64 - i64.const -2 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3482 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 2 - call $~lib/math/ipow64 - i64.const 4 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3483 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 3 - call $~lib/math/ipow64 - i64.const -8 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3484 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 40 - call $~lib/math/ipow64 - i64.const -6289078614652622815 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3486 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 41 - call $~lib/math/ipow64 - i64.const -420491770248316829 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3487 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 42 - call $~lib/math/ipow64 - i64.const -1261475310744950487 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3488 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 43 - call $~lib/math/ipow64 - i64.const -3784425932234851461 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3489 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 63 - call $~lib/math/ipow64 - i64.const -3237885987332494933 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3490 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 64 - call $~lib/math/ipow64 - i64.const 8733086111712066817 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3491 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 128 - call $~lib/math/ipow64 - i64.const -9204772141784466943 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3492 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 57055 - i32.const 3 - call $~lib/math/ipow64 - i64.const 339590 - i32.const 3 - call $~lib/math/ipow64 - i64.add - i64.const 39347712995520375 - i64.ne - if - i32.const 0 - i32.const 24 - i32.const 3494 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3498 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3499 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 1 - call $~lib/math/ipow32f - call $~lib/number/isNaN - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3500 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const -1 - call $~lib/math/ipow32f - call $~lib/number/isNaN - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3501 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 2 - call $~lib/math/ipow32f - call $~lib/number/isNaN - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3502 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3503 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 1 - call $~lib/math/ipow32f - f32.const inf - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3504 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3505 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 1 - call $~lib/math/ipow32f - f32.const -inf - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3506 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 2 - call $~lib/math/ipow32f - f32.const inf - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3507 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3508 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - i32.const 2 - call $~lib/math/ipow32f - f32.const inf - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3509 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - i32.const 2 - call $~lib/math/ipow32f - f32.const 0 - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3510 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - i32.const -1 - call $~lib/math/ipow32f - f32.const 2.938735877055719e-39 - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3511 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 10 - i32.const 36 - call $~lib/math/ipow32f - f32.const 1000000040918478759629753e12 - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3512 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 10 - i32.const -36 - call $~lib/math/ipow32f - f32.const 9.999999462560281e-37 - f32.ne - if - i32.const 0 - i32.const 24 - i32.const 3513 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3517 + f64.const 4.345239849338305 + f64.const 4 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2602 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -8 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2603 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -7 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2604 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 9 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2605 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2606 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2607 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2608 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2609 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2610 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2613 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2614 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2615 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2616 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2617 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2618 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2619 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2620 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2621 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 2 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2622 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2623 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2624 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2625 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2626 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2627 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2628 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2629 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -8 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2638 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 4 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2639 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -8 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2640 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -7 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2641 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 9 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2642 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2643 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2644 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2645 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2646 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2647 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2650 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2651 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2652 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2653 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2654 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2655 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2656 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2657 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2658 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 2 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2659 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2660 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2661 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2662 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2663 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2664 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2665 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2666 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2677 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2678 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2679 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 1 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2680 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2681 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -1 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2682 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2683 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2684 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2685 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2693 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2694 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2695 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const 1 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2696 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2697 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -1 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2698 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2699 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2700 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2701 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const 1.0044767307740567 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2738 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 4.345239849338305 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2739 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -0.09061141541648476 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2740 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const -1.9641383050707404 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2741 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const -0.35572720174700656 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2742 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const 0.17067236731650248 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2743 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const -0.016443286217702822 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2744 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.792054511984896 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2745 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.615702673197924 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2746 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -0.0106815621160685 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2747 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2750 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2751 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0.5 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2752 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1 + f64.const -0.5 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2753 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2754 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const -0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2755 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 1 + f64.const -0.5 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2756 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const 1 + f64.const 0.5 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2757 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 1 + f64.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2758 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const 1 + f64.const -0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2759 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2760 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 1 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2761 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2762 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2763 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2764 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -1 + f64.const 0.5 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2765 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const -0.5 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2766 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -1 + f64.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2767 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2768 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const -1 + f64.const -0.5 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2769 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + f64.const 0.5 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2770 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const -1 + f64.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2771 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -1 + f64.const -0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2772 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2773 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2774 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2775 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2776 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2777 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2778 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -inf + f64.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2779 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2780 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2781 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2782 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const -0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2783 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -inf + f64.const -0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2784 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2785 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2786 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2787 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2788 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2789 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2790 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2791 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2792 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2793 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2794 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2795 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2796 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2797 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 2 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2798 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0.5 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2799 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2800 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2801 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2802 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2803 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 1 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2804 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const -1 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2805 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2806 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const inf + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2807 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -inf + f64.const 1 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2808 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -inf + f64.const -1 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2809 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -inf + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2810 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const nan:0x8000000000000 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2811 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const 0.5 + f64.const -0.25 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2812 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const 0.5 + f64.const 0.25 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2813 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const -0.5 + f64.const -0.25 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2814 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const -0.5 + f64.const 0.25 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2815 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8e-323 + f64.const inf + f64.const 8e-323 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2816 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const 1.004476547241211 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2825 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 4.345239639282227 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2826 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -0.09061169624328613 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2827 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -1.9641380310058594 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2828 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const -0.3557271957397461 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2829 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const 0.17067205905914307 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2830 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const -0.016443386673927307 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2831 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.7920545339584351 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2832 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.6157026886940002 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2833 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -0.010681532323360443 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2834 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2837 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2838 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0.5 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2839 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1 + f32.const -0.5 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2840 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2841 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const -0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2842 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const 1 + f32.const -0.5 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2843 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.5 + f32.const 1 + f32.const 0.5 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2844 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const 1 + f32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2845 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const 1 + f32.const -0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2846 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2847 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 1 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2848 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2849 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2850 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2851 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const -1 + f32.const 0.5 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2852 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const -0.5 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2853 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -1 + f32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2854 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2855 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const -1 + f32.const -0.5 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2856 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.5 + f32.const -1 + f32.const 0.5 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2857 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const -1 + f32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2858 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -1 + f32.const -0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2859 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2860 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2861 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2862 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2863 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2864 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2865 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2866 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2867 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2868 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2869 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const -0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2870 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const -0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2871 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2872 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2873 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2874 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2875 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2876 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2877 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2878 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2879 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2880 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2881 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2882 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2883 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2884 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 2 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2885 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0.5 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2886 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2887 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2888 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2889 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2890 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 1 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2891 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const -1 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2892 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2893 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const inf + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2894 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -inf + f32.const 1 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2895 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -inf + f32.const -1 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2896 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -inf + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2897 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const nan:0x400000 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2898 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const 0.5 + f32.const -0.25 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2899 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const 0.5 + f32.const 0.25 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2900 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const -0.5 + f32.const -0.25 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2901 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const -0.5 + f32.const 0.25 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2902 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const inf + f32.const 5.877471754111438e-39 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2903 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -0.977429211139679 + f32.const 0.0801057294011116 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -0.933354377746582 + f32.const 0.34475627541542053 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -0.8640924692153931 + f32.const -0.468659907579422 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.24593880772590637 + f32.const -0.3955177664756775 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2944 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 0.1570674479007721 + f32.const -0.24006809294223785 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2945 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.6146844625473022 + f32.const -0.07707194238901138 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.39549243450164795 + f32.const -0.11720617115497589 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2947 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5326763391494751 + f32.const -0.16059114038944244 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2948 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.699110209941864 + f32.const 0.26384368538856506 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2949 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.627831220626831 + f32.const 0.005127954296767712 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2950 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2953 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2954 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2955 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2956 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2957 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.862645149230957e-09 + f32.const 1.862645149230957e-09 + f32.const 4.850638554015907e-12 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2960 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.862645149230957e-09 + f32.const -1.862645149230957e-09 + f32.const -4.850638554015907e-12 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2961 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754943508222875e-38 + f32.const 1.1754943508222875e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2962 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754943508222875e-38 + f32.const -1.1754943508222875e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2963 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 1.401298464324817e-45 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2964 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const -1.401298464324817e-45 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2965 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.175494490952134e-38 + f32.const 1.175494490952134e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2966 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754946310819804e-38 + f32.const 1.1754946310819804e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2967 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509880009953429e-38 + f32.const 2.3509880009953429e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2968 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 2.350988701644575e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2969 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509895424236536e-38 + f32.const 2.3509895424236536e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2970 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.70197740328915e-38 + f32.const 4.70197740328915e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2971 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1175870895385742e-08 + f32.const 1.1175870895385742e-08 + f32.const 2.6193447411060333e-10 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2972 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.4901161193847656e-08 + f32.const 1.4901161193847656e-08 + f32.const 3.1044086745701804e-10 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2973 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.000244140625 + f32.const 0.000244140625 + f32.const 0.0833333358168602 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2974 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.0003662109375 + f32.const 0.0003662109375 + f32.const 0.28125 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2975 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.175494490952134e-38 + f32.const -1.175494490952134e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2976 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754946310819804e-38 + f32.const -1.1754946310819804e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2977 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509880009953429e-38 + f32.const -2.3509880009953429e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2978 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.350988701644575e-38 + f32.const -2.350988701644575e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2979 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509895424236536e-38 + f32.const -2.3509895424236536e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2980 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -4.70197740328915e-38 + f32.const -4.70197740328915e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2981 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1175870895385742e-08 + f32.const -1.1175870895385742e-08 + f32.const -2.6193447411060333e-10 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2982 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.4901161193847656e-08 + f32.const -1.4901161193847656e-08 + f32.const -3.1044086745701804e-10 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2983 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.000244140625 + f32.const -0.000244140625 + f32.const -0.0833333358168602 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2984 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.0003662109375 + f32.const -0.0003662109375 + f32.const -0.28125 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2985 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 2.802596928649634e-45 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2986 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.2611686178923354e-44 + f32.const 1.2611686178923354e-44 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2987 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.938735877055719e-39 + f32.const 2.938735877055719e-39 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2988 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const 5.877471754111438e-39 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2989 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754940705625946e-38 + f32.const 1.1754940705625946e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2990 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754942106924411e-38 + f32.const 1.1754942106924411e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2991 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.802596928649634e-45 + f32.const -2.802596928649634e-45 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2992 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.2611686178923354e-44 + f32.const -1.2611686178923354e-44 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2993 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.938735877055719e-39 + f32.const -2.938735877055719e-39 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2994 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5.877471754111438e-39 + f32.const -5.877471754111438e-39 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2995 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754940705625946e-38 + f32.const -1.1754940705625946e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2996 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754942106924411e-38 + f32.const -1.1754942106924411e-38 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2997 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 255.99993896484375 + f32.const -0.9992055892944336 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3000 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5033165 + f32.const 0.5312945246696472 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3001 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 421657440 + f32.const -0.7397398948669434 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3002 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2147483392 + f32.const 0.2762770354747772 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3003 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 68719476736 + f32.const 0.9855440855026245 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3004 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 549755813888 + f32.const -0.9782648086547852 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3005 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + f32.const -0.5218765139579773 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3006 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -255.99993896484375 + f32.const 0.9992055892944336 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3007 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5033165 + f32.const -0.5312945246696472 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3008 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -421657440 + f32.const 0.7397398948669434 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3009 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2147483392 + f32.const -0.2762770354747772 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3010 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -68719476736 + f32.const -0.9855440855026245 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3011 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -549755813888 + f32.const 0.9782648086547852 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3012 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -3402823466385288598117041e14 + f32.const 0.5218765139579773 + f32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3013 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -1593.5206801156262 + f64.const -0.2138727605342865 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3025 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 38.54878088685412 + f64.const 0.21537430584430695 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3026 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2182.6307505145546 + f64.const 0.16213826835155487 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3027 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -343.2723926847529 + f64.const 0.20479513704776764 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3028 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 5291.7790755194055 + f64.const -0.48676517605781555 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3029 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.7114062568229157 + f64.const -0.4584641456604004 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3030 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.41790065258739445 + f64.const 0.37220045924186707 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3031 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5917755935451237 + f64.const 0.46178996562957764 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3032 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.8538292008852542 + f64.const -0.07019051909446716 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3033 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.732097615653169 + f64.const 0.26858529448509216 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3034 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3037 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3038 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3039 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3040 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3041 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -1593.521240234375 + f32.const 0.1671663224697113 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3050 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 38.548770904541016 + f32.const -0.49340328574180603 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3051 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2182.630859375 + f32.const 0.0849970355629921 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3052 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -343.2723388671875 + f32.const 0.0704190656542778 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3053 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 5291.78125 + f32.const -0.44362515211105347 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3054 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7114062309265137 + f32.const 0.058103885501623154 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3055 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.4179006516933441 + f32.const 0.39349499344825745 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3056 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5917755961418152 + f32.const -0.4183797240257263 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3057 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.8538292050361633 + f32.const 0.45992106199264526 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3058 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.7320976257324219 + f32.const -0.48159059882164 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3059 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3062 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3063 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3064 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3065 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3066 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3078 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 2.0845238903256313 + f64.const -0.07180261611938477 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3079 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3080 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3081 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 3.0441841217266385 + f64.const -0.01546262577176094 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3082 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.8136251582267503 + f64.const -0.08618157356977463 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3083 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3084 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.7495063350104014 + f64.const -0.0981396734714508 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3085 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.879859248170583 + f64.const -0.37124353647232056 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3086 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3087 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3090 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3091 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3092 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3093 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3094 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3095 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3096 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4 + f64.const 2 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3097 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-323 + f64.const 3.1434555694052576e-162 + f64.const 0.43537619709968567 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3098 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5e-323 + f64.const 3.849931087076416e-162 + f64.const -0.45194002985954285 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3099 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const 2.2227587494850775e-162 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3100 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5e-324 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3101 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999999999999999 + f64.const 0.9999999999999999 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.9999999999999998 + f64.const 1.414213562373095 + f64.const -0.21107041835784912 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3103 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000000000000002 + f64.const 1 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3104 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.0000000000000004 + f64.const 1.4142135623730951 + f64.const -0.27173060178756714 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3105 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000000000000002 + f64.const 1 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3106 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999999999999999 + f64.const 0.9999999999999999 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3107 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3108 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const 1340780792994259561100831e130 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3109 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 179769313486231490980915e285 + f64.const 134078079299425926338769e131 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3110 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862314111473026e284 + f64.const 1340780792994258965674548e130 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862313313136902e284 + f64.const 1340780792994258667961407e130 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3112 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862312514800778e284 + f64.const 1340780792994258370248265e130 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862311716464655e284 + f64.const 1340780792994258072535124e130 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862310918128531e284 + f64.const 1340780792994257774821982e130 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3115 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862310119792407e284 + f64.const 1340780792994257477108841e130 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3116 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862309321456283e284 + f64.const 1340780792994257179395699e130 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862308523120159e284 + f64.const 1340780792994256881682558e130 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862307724784036e284 + f64.const 1340780792994256583969417e130 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507203e-308 + f64.const 1.4916681462400417e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507205e-308 + f64.const 1.4916681462400423e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3121 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507207e-308 + f64.const 1.491668146240043e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3122 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507209e-308 + f64.const 1.4916681462400437e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3123 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507211e-308 + f64.const 1.4916681462400443e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3124 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072127e-308 + f64.const 1.491668146240045e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3125 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072147e-308 + f64.const 1.4916681462400457e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3126 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072167e-308 + f64.const 1.4916681462400463e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3127 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072187e-308 + f64.const 1.491668146240047e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3128 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072207e-308 + f64.const 1.4916681462400476e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3129 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072226e-308 + f64.const 1.4916681462400483e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3130 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072246e-308 + f64.const 1.491668146240049e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3131 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072266e-308 + f64.const 1.4916681462400496e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3132 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072286e-308 + f64.const 1.4916681462400503e-154 + f64.const -0.5 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3133 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 92.35130391890645 + f64.const 9.609958580499006 + f64.const 0.4998137056827545 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3134 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 93.3599596388916 + f64.const 9.662295774757238 + f64.const -0.49979978799819946 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3135 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 95.42049628886124 + f64.const 9.76834153215689 + f64.const -0.49997270107269287 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3136 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 95.87916941885449 + f64.const 9.791790919890728 + f64.const 0.4998766779899597 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 96.84804174884022 + f64.const 9.841140266698785 + f64.const 0.499801903963089 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3138 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 97.43639050883155 + f64.const 9.87098731175517 + f64.const 0.4997696280479431 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 97.50957979883047 + f64.const 9.874693909120955 + f64.const 0.49999818205833435 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 97.80496893882612 + f64.const 9.88963947466368 + f64.const -0.4999580681324005 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 98.2751822888192 + f64.const 9.913383997849534 + f64.const 0.49979931116104126 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 99.47293564880155 + f64.const 9.973611966023219 + f64.const -0.4999540448188782 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3143 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 100.57047130878539 + f64.const 10.028483001370914 + f64.const -0.49996453523635864 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3144 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 100.60954608878481 + f64.const 10.030431002144665 + f64.const 0.49975672364234924 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3145 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 100.67909109878379 + f64.const 10.033897104255344 + f64.const -0.4997771382331848 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3146 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 101.12268095877725 + f64.const 10.055977374615422 + f64.const 0.49988678097724915 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3147 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 101.3027691287746 + f64.const 10.064927676281366 + f64.const 0.4999105632305145 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3148 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.45932313565507e-307 + f64.const 4.9591563149945874e-154 + f64.const -0.4998999834060669 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3149 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.610957305180409e-307 + f64.const 7.490632353266584e-154 + f64.const -0.4999343752861023 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3150 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.8073887977408524e-307 + f64.const 7.62062254526548e-154 + f64.const -0.49989569187164307 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3151 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.026137080471427e-307 + f64.const 8.382205605013174e-154 + f64.const 0.49980640411376953 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3152 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8.438697769194972e-307 + f64.const 9.186238495268328e-154 + f64.const -0.4999065697193146 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3153 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1607792515836795e-306 + f64.const 1.0773946591586944e-153 + f64.const -0.49997684359550476 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3154 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.2827413827423193e-306 + f64.const 1.1325817333606962e-153 + f64.const -0.4999513030052185 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3155 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.7116604596087457e-306 + f64.const 1.3083044216117078e-153 + f64.const -0.49986395239830017 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.038173251686994e-306 + f64.const 1.4276460526639628e-153 + f64.const 0.4998403787612915 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3157 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.171572060856931e-306 + f64.const 1.4736254818836879e-153 + f64.const 0.4999290406703949 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3158 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.4681399631804094e-306 + f64.const 1.5710314965589996e-153 + f64.const 0.49989044666290283 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3159 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.5175533964200588e-306 + f64.const 1.5866799918131124e-153 + f64.const -0.4997701048851013 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3160 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.6461505468829625e-306 + f64.const 1.6266992797941982e-153 + f64.const 0.4998672902584076 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3161 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.8167076367720413e-306 + f64.const 1.9536395872248397e-153 + f64.const 0.49983471632003784 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3162 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.5743220778562766e-306 + f64.const 2.1387664851161936e-153 + f64.const 0.49985939264297485 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3163 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3172 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.084523916244507 + f32.const 0.3200402557849884 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3173 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3174 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3175 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 3.0441842079162598 + f32.const 0.05022354796528816 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3176 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.813625156879425 + f32.const 0.2240506112575531 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3177 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3178 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.7495063543319702 + f32.const 0.05895441770553589 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3179 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.879859209060669 + f32.const -0.4874873757362366 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3180 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3181 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3184 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3185 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3186 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3187 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3188 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3190 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4 + f32.const 2 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3191 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 5.293955920339377e-23 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3192 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.203895392974451e-45 + f32.const 6.483745598763743e-23 + f32.const 0.37388554215431213 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 3.743392066509216e-23 + f32.const -0.20303145051002502 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + f32.const 18446742974197923840 + f32.const -0.5 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3196 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -3402823466385288598117041e14 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3197 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999998807907104 + f32.const 0.9999999403953552 + f32.const 2.980232594040899e-08 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3198 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999999403953552 + f32.const 0.9999999403953552 + f32.const -0.5 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3199 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.999999761581421 + f32.const 1.4142134189605713 + f32.const -0.4959246516227722 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3200 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.9999998807907104 + f32.const 1.4142135381698608 + f32.const 0.15052194893360138 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3201 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000001192092896 + f32.const 1 + f32.const -0.5 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3202 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.000000238418579 + f32.const 1.0000001192092896 + f32.const 5.960463766996327e-08 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3203 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.000000238418579 + f32.const 1.4142136573791504 + f32.const 0.08986179530620575 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3204 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.000000476837158 + f32.const 1.41421377658844 + f32.const 0.3827550709247589 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3205 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.626595497131348 + f32.const 0.2455666959285736 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3243 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.6001901626586914 + f32.const 0.3652407228946686 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3244 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const 1.716740608215332 + f32.const 0.08169349282979965 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3245 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.2537320852279663 + f32.const 0.23186513781547546 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const -0.15904149413108826 + f32.const -0.009332014247775078 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7792918682098389 + f32.const -0.06759700924158096 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3248 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.43059954047203064 + f32.const 0.005771996453404427 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3249 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.6294037103652954 + f32.const -0.16838163137435913 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3250 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.977757453918457 + f32.const 0.38969388604164124 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3251 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.8066186308860779 + f32.const 0.12294059991836548 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3252 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3255 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3256 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3257 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3258 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3259 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.862645149230957e-09 + f32.const 1.862645149230957e-09 + f32.const -9.701277108031814e-12 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3262 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.862645149230957e-09 + f32.const -1.862645149230957e-09 + f32.const 9.701277108031814e-12 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3263 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754943508222875e-38 + f32.const 1.1754943508222875e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3264 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754943508222875e-38 + f32.const -1.1754943508222875e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3265 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 1.401298464324817e-45 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3266 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const -1.401298464324817e-45 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3267 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.175494490952134e-38 + f32.const 1.175494490952134e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3268 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754946310819804e-38 + f32.const 1.1754946310819804e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3269 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509880009953429e-38 + f32.const 2.3509880009953429e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3270 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 2.350988701644575e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3271 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509895424236536e-38 + f32.const 2.3509895424236536e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3272 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.70197740328915e-38 + f32.const 4.70197740328915e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3273 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1175870895385742e-08 + f32.const 1.1175870895385742e-08 + f32.const -5.238689482212067e-10 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3274 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.4901161193847656e-08 + f32.const 1.4901161193847656e-08 + f32.const -6.208817349140361e-10 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3275 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.000244140625 + f32.const 0.000244140625 + f32.const -0.1666666716337204 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3276 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.175494490952134e-38 + f32.const -1.175494490952134e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3277 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754946310819804e-38 + f32.const -1.1754946310819804e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3278 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509880009953429e-38 + f32.const -2.3509880009953429e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3279 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 2.350988701644575e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3280 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509895424236536e-38 + f32.const -2.3509895424236536e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3281 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -4.70197740328915e-38 + f32.const -4.70197740328915e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3282 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1175870895385742e-08 + f32.const -1.1175870895385742e-08 + f32.const 5.238689482212067e-10 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3283 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.4901161193847656e-08 + f32.const -1.4901161193847656e-08 + f32.const 6.208817349140361e-10 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3284 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.000244140625 + f32.const -0.000244140625 + f32.const 0.1666666716337204 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3285 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 2.802596928649634e-45 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3286 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.2611686178923354e-44 + f32.const 1.2611686178923354e-44 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.938735877055719e-39 + f32.const 2.938735877055719e-39 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3288 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const 5.877471754111438e-39 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3289 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754940705625946e-38 + f32.const 1.1754940705625946e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3290 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754942106924411e-38 + f32.const 1.1754942106924411e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3291 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.802596928649634e-45 + f32.const -2.802596928649634e-45 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3292 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.2611686178923354e-44 + f32.const -1.2611686178923354e-44 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3293 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.938735877055719e-39 + f32.const -2.938735877055719e-39 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3294 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5.877471754111438e-39 + f32.const -5.877471754111438e-39 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3295 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754940705625946e-38 + f32.const -1.1754940705625946e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3296 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754942106924411e-38 + f32.const -1.1754942106924411e-38 + f32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3297 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -0.999999803096032 + f64.const 0.012793331407010555 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3309 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 0.9996636978961307 + f64.const 0.1573508232831955 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3310 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -0.9999998950434862 + f64.const 0.27985066175460815 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3311 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -0.9999957568392429 + f64.const -0.44285574555397034 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3312 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 0.9999999821447234 + f64.const 0.4462755024433136 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3313 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.5796835018635275 + f64.const 0.4892043173313141 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3314 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.3855853099901652 + f64.const 0.35993871092796326 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3315 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5092819248700439 + f64.const -0.39436522126197815 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3316 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.6493374550318555 + f64.const -0.4899396002292633 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3317 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.590715084799841 + f64.const -0.0145387789234519 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3318 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3321 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3322 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const 0 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3323 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + f64.const 0 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3324 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3325 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -0.9999998211860657 + f32.const -0.3034979999065399 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3334 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 0.9996637105941772 + f32.const 0.2154078334569931 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3335 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -0.9999998807907104 + f32.const 0.23912210762500763 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3336 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.999995768070221 + f32.const -0.18844597041606903 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3337 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 1 + f32.const 0.1497807800769806 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3338 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.5796834826469421 + f32.const -0.05590476095676422 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3339 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.38558530807495117 + f32.const 0.349787175655365 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3340 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5092819333076477 + f32.const -0.1528785079717636 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3341 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.6493374705314636 + f32.const 0.4317026138305664 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3342 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.5907150506973267 + f32.const 0.4079873859882355 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3343 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3346 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3347 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const 0 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3348 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + f32.const 0 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3349 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3350 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -8 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3362 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 4 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3363 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -8 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3364 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -6 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3365 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 9 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3366 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3367 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3368 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3369 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3370 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3371 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3374 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3375 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3376 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3377 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3378 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3379 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3380 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3381 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3382 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3383 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3384 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3385 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3386 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3387 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3388 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -8 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3397 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 4 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3398 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -8 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3399 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -6 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3400 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 9 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3401 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3402 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3403 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3404 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3405 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3406 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3409 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3410 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3411 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3412 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3413 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3414 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3415 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3416 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3417 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3418 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3419 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3420 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3421 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3422 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3423 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 4 + call $~lib/math/NativeMath.imul + f64.const 8 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3427 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 8 + call $~lib/math/NativeMath.imul + f64.const -8 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3428 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -2 + call $~lib/math/NativeMath.imul + f64.const 4 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3429 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967295 + f64.const 5 + call $~lib/math/NativeMath.imul + f64.const -5 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3430 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967294 + f64.const 5 + call $~lib/math/NativeMath.imul + f64.const -10 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3431 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+60 + f64.const 1.e+60 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3432 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+60 + f64.const -1.e+60 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3433 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.e+60 + f64.const -1.e+60 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3434 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+24 + f64.const 100 + call $~lib/math/NativeMath.imul + f64.const -2147483648 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3435 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3436 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + call $~lib/math/NativeMath.imul + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3437 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const 1797693134862315708145274e284 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3438 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3442 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + call $~lib/math/NativeMath.clz32 + f64.const 31 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3443 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3444 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -128 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3445 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967295 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3446 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967295.5 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3447 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967296 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3448 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967297 + call $~lib/math/NativeMath.clz32 + f64.const 31 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3449 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3450 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3451 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9007199254740991 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3452 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -9007199254740991 + call $~lib/math/NativeMath.clz32 + f64.const 31 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3453 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3454 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3455 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3456 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.220446049250313e-16 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3457 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.ne - if + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3461 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i32.const 1 + call $~lib/math/ipow64 + i64.const 0 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3462 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i32.const 2 + call $~lib/math/ipow64 + i64.const 0 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3463 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i32.const 3 + call $~lib/math/ipow64 + i64.const 0 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3464 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 i32.const 0 - i32.const 24 - i32.const 3518 + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3466 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i32.const 1 + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3467 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i32.const 2 + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3468 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i32.const 3 + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3469 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 1 - call $~lib/math/ipow64f - call $~lib/number/isNaN - i32.eqz - if + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3471 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i32.const 1 + call $~lib/math/ipow64 + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3472 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i32.const 2 + call $~lib/math/ipow64 + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3473 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i32.const 3 + call $~lib/math/ipow64 + i64.const 8 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3474 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 i32.const 0 - i32.const 24 - i32.const 3519 + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3476 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 1 + call $~lib/math/ipow64 + i64.const -1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3477 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 2 + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3478 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 3 + call $~lib/math/ipow64 + i64.const -1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3479 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const -1 - call $~lib/math/ipow64f - call $~lib/number/isNaN - i32.eqz - if + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3481 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 + i32.const 1 + call $~lib/math/ipow64 + i64.const -2 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3482 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 + i32.const 2 + call $~lib/math/ipow64 + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3483 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 + i32.const 3 + call $~lib/math/ipow64 + i64.const -8 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3484 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 40 + call $~lib/math/ipow64 + i64.const -6289078614652622815 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3486 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 41 + call $~lib/math/ipow64 + i64.const -420491770248316829 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3487 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 42 + call $~lib/math/ipow64 + i64.const -1261475310744950487 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3488 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 43 + call $~lib/math/ipow64 + i64.const -3784425932234851461 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3489 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 63 + call $~lib/math/ipow64 + i64.const -3237885987332494933 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3490 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 64 + call $~lib/math/ipow64 + i64.const 8733086111712066817 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3491 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 128 + call $~lib/math/ipow64 + i64.const -9204772141784466943 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3492 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 57055 + i32.const 3 + call $~lib/math/ipow64 + i64.const 339590 + i32.const 3 + call $~lib/math/ipow64 + i64.add + i64.const 39347712995520375 + i64.ne + if + i32.const 0 + i32.const 24 + i32.const 3494 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3520 + call $~lib/math/ipow32f + f32.const 1 + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3498 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 2 - call $~lib/math/ipow64f - call $~lib/number/isNaN - i32.eqz - if + call $~lib/math/ipow32f + f32.const 1 + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3499 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + i32.const 1 + call $~lib/math/ipow32f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3500 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + i32.const -1 + call $~lib/math/ipow32f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3501 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + i32.const 2 + call $~lib/math/ipow32f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3502 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf i32.const 0 - i32.const 24 - i32.const 3521 + call $~lib/math/ipow32f + f32.const 1 + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3503 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + i32.const 1 + call $~lib/math/ipow32f + f32.const inf + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3504 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.ne - if + call $~lib/math/ipow32f + f32.const 1 + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3505 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + i32.const 1 + call $~lib/math/ipow32f + f32.const -inf + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3506 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + i32.const 2 + call $~lib/math/ipow32f + f32.const inf + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3507 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 i32.const 0 - i32.const 24 - i32.const 3522 + call $~lib/math/ipow32f + f32.const 1 + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3508 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + i32.const 2 + call $~lib/math/ipow32f + f32.const inf + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3509 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + i32.const 2 + call $~lib/math/ipow32f + f32.const 0 + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3510 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + i32.const -1 + call $~lib/math/ipow32f + f32.const 2.938735877055719e-39 + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3511 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 10 + i32.const 36 + call $~lib/math/ipow32f + f32.const 1000000040918478759629753e12 + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3512 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 10 + i32.const -36 + call $~lib/math/ipow32f + f32.const 9.999999462560281e-37 + f32.ne + if + i32.const 0 + i32.const 24 + i32.const 3513 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 1 - call $~lib/math/ipow64f - f64.const inf - f64.ne - if + call $~lib/math/ipow64f + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3517 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 i32.const 0 - i32.const 24 - i32.const 3523 + call $~lib/math/ipow64f + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3518 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + i32.const 1 + call $~lib/math/ipow64f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3519 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + i32.const -1 + call $~lib/math/ipow64f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3520 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + i32.const 2 + call $~lib/math/ipow64f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3521 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.ne - if + call $~lib/math/ipow64f + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3522 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + i32.const 1 + call $~lib/math/ipow64f + f64.const inf + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3523 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf i32.const 0 - i32.const 24 - i32.const 3524 + call $~lib/math/ipow64f + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3524 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + i32.const 1 + call $~lib/math/ipow64f + f64.const -inf + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3525 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + i32.const 2 + call $~lib/math/ipow64f + f64.const inf + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3526 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 i32.const 0 - call $~lib/builtins/abort - unreachable + call $~lib/math/ipow64f + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3527 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + i32.const 2 + call $~lib/math/ipow64f + f64.const inf + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3528 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + i32.const 2 + call $~lib/math/ipow64f + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3529 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + i32.const -1 + call $~lib/math/ipow64f + f64.const 5.562684646268003e-309 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3530 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 10 + i32.const 127 + call $~lib/math/ipow64f + f64.const 1000000000000000195419867e103 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3531 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 10 + i32.const -127 + call $~lib/math/ipow64f + f64.const 9.999999999999998e-128 + f64.ne + if + i32.const 0 + i32.const 24 + i32.const 3532 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end - f64.const -inf + i32.const 288 + i32.const 24 i32.const 1 - call $~lib/math/ipow64f - f64.const -inf - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3525 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - i32.const 2 - call $~lib/math/ipow64f - f64.const inf - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3526 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3527 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - i32.const 2 - call $~lib/math/ipow64f - f64.const inf - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3528 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - i32.const 2 - call $~lib/math/ipow64f - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3529 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - i32.const -1 - call $~lib/math/ipow64f - f64.const 5.562684646268003e-309 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3530 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 10 - i32.const 127 - call $~lib/math/ipow64f - f64.const 1000000000000000195419867e103 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3531 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 10 - i32.const -127 - call $~lib/math/ipow64f - f64.const 9.999999999999998e-128 - f64.ne - if - i32.const 0 - i32.const 24 - i32.const 3532 - i32.const 0 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable ) - (func $start (; 163 ;) (type $FUNCSIG$v) + (func $start (; 165 ;) (type $FUNCSIG$v) call $start:std/math ) - (func $null (; 164 ;) (type $FUNCSIG$v) + (func $null (; 166 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index db26c0f5fb..8a8705512e 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -21,6 +21,8 @@ (type $FUNCSIG$vj (func (param i64))) (type $FUNCSIG$jj (func (param i64) (result i64))) (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$f (func (result f32))) (type $FUNCSIG$jji (func (param i64 i32) (result i64))) (type $FUNCSIG$v (func)) @@ -66,9 +68,13 @@ (data (i32.const 48) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") (data (i32.const 96) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00@\00\00\00@\00\00\00 \00\00\00\04\00\00\00") (data (i32.const 128) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 168) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.\00") + (data (i32.const 168) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 200) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 216) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.\00") + (data (i32.const 272) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $std/math/js i32 (i32.const 1)) (global $std/math/INEXACT i32 (i32.const 1)) (global $std/math/INVALID i32 (i32.const 2)) @@ -99,10 +105,13 @@ (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/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/builtins/f64.MAX_VALUE f64 (f64.const 1797693134862315708145274e284)) (global $~lib/builtins/f64.MAX_SAFE_INTEGER f64 (f64.const 9007199254740991)) (global $~lib/builtins/f64.EPSILON f64 (f64.const 2.220446049250313e-16)) (global $~lib/builtins/f32.MIN_VALUE f32 (f32.const 1.401298464324817e-45)) + (global $~lib/heap/__heap_base i32 (i32.const 316)) (export "memory" (memory $0)) (start $start) (func $~lib/number/isNaN (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) @@ -10158,19 +10167,145 @@ call $~lib/math/splitMix32 global.set $~lib/math/random_state1_32 ) - (func $~lib/math/NativeMath.random (; 134 ;) (type $FUNCSIG$d) (result f64) + (func $~lib/rt/stub/__retain (; 134 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + ) + (func $~lib/rt/stub/__alloc (; 135 ;) (type $FUNCSIG$iii) (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 $8 i32) + local.get $0 + i32.const 1073741808 + i32.gt_u + if + unreachable + end + global.get $~lib/rt/stub/offset + i32.const 16 + i32.add + local.set $2 + local.get $2 + local.get $0 + local.tee $3 + i32.const 1 + local.tee $4 + local.get $3 + local.get $4 + i32.gt_u + select + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $5 + memory.size + local.set $6 + local.get $5 + local.get $6 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $5 + local.get $2 + i32.sub + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $6 + local.tee $4 + local.get $3 + local.tee $7 + local.get $4 + local.get $7 + i32.gt_s + select + local.set $4 + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $5 + global.set $~lib/rt/stub/offset + local.get $2 + i32.const 16 + i32.sub + local.set $8 + local.get $8 + local.get $1 + i32.store offset=8 + local.get $8 + local.get $0 + i32.store offset=12 + local.get $2 + ) + (func $~lib/rt/stub/__release (; 136 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/error/Error#constructor (; 137 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + local.set $0 + end + local.get $0 + i32.const 184 + call $~lib/rt/stub/__retain + i32.store + local.get $0 + i32.const 216 + call $~lib/rt/stub/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $~lib/math/NativeMath.random (; 138 ;) (type $FUNCSIG$d) (result f64) (local $0 i64) (local $1 i64) (local $2 i64) global.get $~lib/math/random_seeded i32.eqz if - i32.const 184 - i32.const 144 - i32.const 1029 - i32.const 24 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 232 + call $~lib/error/Error#constructor + global.set $~lib/error + f64.const 0 + return end global.get $~lib/math/random_state0_64 local.set $0 @@ -10215,19 +10350,19 @@ f64.const 1 f64.sub ) - (func $~lib/math/NativeMathf.random (; 135 ;) (type $FUNCSIG$f) (result f32) + (func $~lib/math/NativeMathf.random (; 139 ;) (type $FUNCSIG$f) (result f32) (local $0 i32) (local $1 i32) (local $2 i32) global.get $~lib/math/random_seeded i32.eqz if - i32.const 184 - i32.const 144 - i32.const 2309 - i32.const 24 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 232 + call $~lib/error/Error#constructor + global.set $~lib/error + f32.const 0 + return end global.get $~lib/math/random_state0_32 local.set $0 @@ -10270,7 +10405,7 @@ f32.const 1 f32.sub ) - (func $std/math/test_round (; 136 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_round (; 140 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -10285,7 +10420,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_roundf (; 137 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_roundf (; 141 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -10300,7 +10435,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_sign (; 138 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sign (; 142 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) block $~lib/math/NativeMath.sign|inlined.0 (result f64) local.get $0 @@ -10343,7 +10478,7 @@ i32.const 0 end ) - (func $std/math/test_signf (; 139 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_signf (; 143 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) block $~lib/math/NativeMathf.sign|inlined.0 (result f32) local.get $0 @@ -10370,7 +10505,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.rem (; 140 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.rem (; 144 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -10680,7 +10815,7 @@ local.get $0 end ) - (func $std/math/test_rem (; 141 ;) (type $FUNCSIG$iddddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_rem (; 145 ;) (type $FUNCSIG$iddddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.rem @@ -10689,7 +10824,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMathf.rem (; 142 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.rem (; 146 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10997,7 +11132,7 @@ local.get $0 end ) - (func $std/math/test_remf (; 143 ;) (type $FUNCSIG$iffffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_remf (; 147 ;) (type $FUNCSIG$iffffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.rem @@ -11006,7 +11141,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMathf.sin (; 144 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sin (; 148 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -11621,7 +11756,7 @@ local.get $26 end ) - (func $std/math/test_sinf (; 145 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_sinf (; 149 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.sin local.get $1 @@ -11629,7 +11764,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.sinh (; 146 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.sinh (; 150 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) (local $1 i64) (local $2 f64) (local $3 i32) @@ -11727,7 +11862,7 @@ local.set $4 local.get $4 ) - (func $std/math/test_sinh (; 147 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sinh (; 151 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.sinh local.get $1 @@ -11751,7 +11886,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sinh (; 148 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sinh (; 152 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -11840,7 +11975,7 @@ local.set $3 local.get $3 ) - (func $std/math/test_sinhf (; 149 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_sinhf (; 153 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.sinh local.get $1 @@ -11848,7 +11983,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_sqrt (; 150 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sqrt (; 154 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -11875,7 +12010,7 @@ i32.const 0 end ) - (func $std/math/test_sqrtf (; 151 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_sqrtf (; 155 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -11886,7 +12021,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMathf.tan (; 152 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tan (; 156 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12542,7 +12677,7 @@ end f32.demote_f64 ) - (func $std/math/test_tanf (; 153 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_tanf (; 157 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.tan local.get $1 @@ -12550,7 +12685,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.tanh (; 154 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.tanh (; 158 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) (local $1 i64) (local $2 f64) (local $3 i32) @@ -12642,7 +12777,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_tanh (; 155 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_tanh (; 159 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.tanh local.get $1 @@ -12666,7 +12801,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tanh (; 156 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tanh (; 160 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -12752,7 +12887,7 @@ local.get $0 f32.copysign ) - (func $std/math/test_tanhf (; 157 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_tanhf (; 161 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.tanh local.get $1 @@ -12760,7 +12895,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_trunc (; 158 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_trunc (; 162 ;) (type $FUNCSIG$idddi) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -12787,7 +12922,7 @@ i32.const 0 end ) - (func $std/math/test_truncf (; 159 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_truncf (; 163 ;) (type $FUNCSIG$ifffi) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -12798,7 +12933,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.imul (; 160 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.imul (; 164 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) local.get $0 local.get $1 f64.add @@ -12831,7 +12966,7 @@ i32.mul f64.convert_i32_s ) - (func $~lib/math/NativeMath.clz32 (; 161 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.clz32 (; 165 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) local.get $0 call $~lib/number/isFinite i32.eqz @@ -12854,7 +12989,7 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (; 162 ;) (type $FUNCSIG$jji) (param $0 i64) (param $1 i32) (result i64) + (func $~lib/math/ipow64 (; 166 ;) (type $FUNCSIG$jji) (param $0 i64) (param $1 i32) (result i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -13075,7 +13210,7 @@ end local.get $2 ) - (func $~lib/math/ipow32f (; 163 ;) (type $FUNCSIG$ffi) (param $0 f32) (param $1 i32) (result f32) + (func $~lib/math/ipow32f (; 167 ;) (type $FUNCSIG$ffi) (param $0 f32) (param $1 i32) (result f32) (local $2 i32) (local $3 f32) local.get $1 @@ -13125,7 +13260,7 @@ local.get $3 end ) - (func $~lib/math/ipow64f (; 164 ;) (type $FUNCSIG$ddi) (param $0 f64) (param $1 i32) (result f64) + (func $~lib/math/ipow64f (; 168 ;) (type $FUNCSIG$ddi) (param $0 f64) (param $1 i32) (result f64) (local $2 i32) (local $3 f64) local.get $1 @@ -13175,34213 +13310,34244 @@ local.get $3 end ) - (func $start:std/math (; 165 ;) (type $FUNCSIG$v) + (func $start:std/math (; 169 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f64) (local $2 i64) (local $3 f32) - global.get $~lib/math/NativeMath.E - global.get $~lib/math/NativeMath.E - f64.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 101 + block $uncaughtError + global.get $~lib/math/NativeMath.E + global.get $~lib/math/NativeMath.E + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 101 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMathf.E + global.get $~lib/math/NativeMathf.E + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMath.E + global.get $~lib/bindings/Math/E + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.E - global.get $~lib/math/NativeMathf.E - f32.eq - i32.eqz - if + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 108 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMath.LN2 + global.get $~lib/bindings/Math/LN2 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 102 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 109 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMath.LN10 + global.get $~lib/bindings/Math/LN10 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.E - global.get $~lib/bindings/Math/E - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 110 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMath.LOG2E + global.get $~lib/bindings/Math/LOG2E + f64.const 0 i32.const 0 - i32.const 24 - i32.const 108 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMath.PI + global.get $~lib/bindings/Math/PI + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.LN2 - global.get $~lib/bindings/Math/LN2 - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 112 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMath.SQRT1_2 + global.get $~lib/bindings/Math/SQRT1_2 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 109 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMath.SQRT2 + global.get $~lib/bindings/Math/SQRT2 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.LN10 - global.get $~lib/bindings/Math/LN10 - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMathf.E + global.get $~lib/bindings/Math/E + f32.demote_f64 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 110 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 116 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMathf.LN2 + global.get $~lib/bindings/Math/LN2 + f32.demote_f64 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.LOG2E - global.get $~lib/bindings/Math/LOG2E - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMathf.LN10 + global.get $~lib/bindings/Math/LN10 + f32.demote_f64 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 111 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMathf.LOG2E + global.get $~lib/bindings/Math/LOG2E + f32.demote_f64 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.PI - global.get $~lib/bindings/Math/PI - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMathf.PI + global.get $~lib/bindings/Math/PI + f32.demote_f64 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 112 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMathf.SQRT1_2 + global.get $~lib/bindings/Math/SQRT1_2 + f32.demote_f64 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.SQRT1_2 - global.get $~lib/bindings/Math/SQRT1_2 - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 121 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/NativeMathf.SQRT2 + global.get $~lib/bindings/Math/SQRT2 + f32.demote_f64 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 113 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 122 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + i32.const -2 + f64.const -2.01671209764492 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.SQRT2 - global.get $~lib/bindings/Math/SQRT2 - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 133 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + i32.const -1 + f64.const 2.1726199246691524 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 114 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 134 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.E - global.get $~lib/bindings/Math/E - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + f64.const -8.38143342755525 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 116 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 135 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + i32.const 1 + f64.const -13.063347163826968 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.LN2 - global.get $~lib/bindings/Math/LN2 - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 136 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + i32.const 2 + f64.const 37.06822786789034 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 117 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + i32.const 3 + f64.const 5.295887184796036 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.LN10 - global.get $~lib/bindings/Math/LN10 - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 138 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + i32.const 4 + f64.const -6.505662758165685 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 118 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + i32.const 5 + f64.const 17.97631187906317 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.LOG2E - global.get $~lib/bindings/Math/LOG2E - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + i32.const 6 + f64.const 49.545746981843436 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 119 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + i32.const 7 + f64.const -86.88175393784351 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.PI - global.get $~lib/bindings/Math/PI - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + i32.const 2147483647 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 120 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 145 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + i32.const -2147483647 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.SQRT1_2 - global.get $~lib/bindings/Math/SQRT1_2 - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 146 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + i32.const 2147483647 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 121 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 147 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.SQRT2 - global.get $~lib/bindings/Math/SQRT2 - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 122 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 148 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - i32.const -2 - f64.const -2.01671209764492 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 133 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 149 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - i32.const -1 - f64.const 2.1726199246691524 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 134 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - i32.const 0 - f64.const -8.38143342755525 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 150 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 i32.const 0 - i32.const 24 - i32.const 135 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - i32.const 1 - f64.const -13.063347163826968 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 151 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + i32.const 1 + f64.const 2 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 136 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 152 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + i32.const -1 + f64.const 0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - i32.const 2 - f64.const 37.06822786789034 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 153 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + i32.const 2147483647 + f64.const inf + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/OVERFLOW + i32.or + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 154 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + i32.const 1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 137 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 155 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + i32.const 2147483647 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - i32.const 3 - f64.const 5.295887184796036 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + i32.const -2147483647 + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 138 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 157 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + i32.const 2147483647 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - i32.const 4 - f64.const -6.505662758165685 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 158 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8988465674311579538646525e283 + i32.const -2097 + f64.const 5e-324 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 139 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 159 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + i32.const 2097 + f64.const 8988465674311579538646525e283 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - i32.const 5 - f64.const 17.97631187906317 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 160 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.000244140625 + i32.const -1074 + f64.const 5e-324 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 161 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7499999999999999 + i32.const -1073 + f64.const 5e-324 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 162 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5000000000000012 + i32.const -1024 + f64.const 2.781342323134007e-309 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 163 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + i32.const -2 + f32.const -2.016712188720703 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 140 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 172 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + i32.const -1 + f32.const 2.1726198196411133 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - i32.const 6 - f64.const 49.545746981843436 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 173 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 i32.const 0 - i32.const 24 - i32.const 141 + f32.const -8.381433486938477 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - i32.const 7 - f64.const -86.88175393784351 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 174 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + i32.const 1 + f32.const -13.063346862792969 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 142 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 175 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + i32.const 2 + f32.const 37.06822967529297 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - i32.const 2147483647 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 176 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + i32.const 3 + f32.const 5.295886993408203 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 145 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 177 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + i32.const 4 + f32.const -6.50566291809082 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - i32.const -2147483647 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 178 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + i32.const 5 + f32.const 17.9763126373291 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 146 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 179 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + i32.const 6 + f32.const 49.545745849609375 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - i32.const 2147483647 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 180 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + i32.const 7 + f32.const -86.88175201416016 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 147 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 181 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + i32.const 2147483647 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 184 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + i32.const -2147483647 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 148 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 185 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + i32.const 2147483647 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 0 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 186 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 i32.const 0 - i32.const 24 - i32.const 149 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - i32.const 0 - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 187 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf i32.const 0 - i32.const 24 - i32.const 150 + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 188 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg i32.const 0 - i32.const 24 - i32.const 151 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const 1 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 i32.const 0 - i32.const 24 - i32.const 152 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 190 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + i32.const 1 + f32.const 2 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 153 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 191 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + i32.const -1 + f32.const 0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const 2147483647 - f64.const inf - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/OVERFLOW - i32.or - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 192 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + i32.const 2147483647 + f32.const inf + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/OVERFLOW + i32.or + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + i32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 154 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + i32.const 2147483647 + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + i32.const -2147483647 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 155 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 196 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + i32.const 2147483647 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 2147483647 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 197 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1701411834604692317316873e14 + i32.const -276 + f32.const 1.401298464324817e-45 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 156 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 198 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + i32.const 276 + f32.const 1701411834604692317316873e14 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const -2147483647 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 199 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.000244140625 + i32.const -149 + f32.const 1.401298464324817e-45 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 200 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7499999403953552 + i32.const -148 + f32.const 1.401298464324817e-45 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 201 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5000006556510925 + i32.const -128 + f32.const 1.4693693398263237e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 202 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 8.06684839057968 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 157 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 214 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 4.345239849338305 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - i32.const 2147483647 - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 215 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const 8.38143342755525 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 158 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 216 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 6.531673581913484 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8988465674311579538646525e283 - i32.const -2097 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 217 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 9.267056966972586 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 159 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 218 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.6619858980995045 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - i32.const 2097 - f64.const 8988465674311579538646525e283 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 219 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const 0.4066039223853553 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 160 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 220 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5617597462207241 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.000244140625 - i32.const -1074 - f64.const 5e-324 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 221 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.7741522965913037 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 161 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 222 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const 0.6787637026394024 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7499999999999999 - i32.const -1073 - f64.const 5e-324 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 223 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 162 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 226 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5000000000000012 - i32.const -1024 - f64.const 2.781342323134007e-309 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbn - i32.eqz - if + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 227 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 163 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 228 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - i32.const -2 - f32.const -2.016712188720703 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 229 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 172 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 230 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - i32.const -1 - f32.const 2.1726198196411133 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 231 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 173 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 232 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 8.066848754882812 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - i32.const 0 - f32.const -8.381433486938477 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 241 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 4.345239639282227 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 174 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 242 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const 8.381433486938477 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - i32.const 1 - f32.const -13.063346862792969 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 243 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 6.531673431396484 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 175 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 244 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 9.267057418823242 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - i32.const 2 - f32.const 37.06822967529297 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 245 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.6619858741760254 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 176 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 0.40660393238067627 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - i32.const 3 - f32.const 5.295886993408203 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5617597699165344 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 177 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 248 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.7741522789001465 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - i32.const 4 - f32.const -6.50566291809082 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 249 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 0.6787636876106262 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 178 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 250 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - i32.const 5 - f32.const 17.9763126373291 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 253 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 179 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 254 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - i32.const 6 - f32.const 49.545745849609375 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 255 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 180 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 256 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - i32.const 7 - f32.const -86.88175201416016 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 257 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 181 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 258 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - i32.const 2147483647 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 184 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - i32.const -2147483647 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 185 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - i32.const 2147483647 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 186 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 187 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 0 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 188 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 259 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 271 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 272 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 273 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 274 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 275 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.8473310828433507 + f64.const -0.41553276777267456 + global.get $std/math/INEXACT + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 276 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const 1.989530071088669 + f64.const 0.4973946213722229 + global.get $std/math/INEXACT + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 277 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.9742849645674904 + f64.const -0.4428897500038147 + global.get $std/math/INEXACT + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 278 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.6854215158636222 + f64.const -0.12589527666568756 + global.get $std/math/INEXACT + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 279 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const 2.316874138205964 + f64.const -0.17284949123859406 + global.get $std/math/INEXACT + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 280 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 283 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 284 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - i32.const 0 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 285 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 286 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 288 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 289 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 189 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 290 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5309227209592985 + f64.const 2.1304853799705463 + f64.const 0.1391008496284485 + global.get $std/math/INEXACT + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 291 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.4939556746399746 + f64.const 1.0541629875851946 + f64.const 0.22054767608642578 + global.get $std/math/INEXACT + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 292 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 301 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 302 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 303 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 304 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 305 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.8473311066627502 + f32.const -0.13588131964206696 + global.get $std/math/INEXACT + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 306 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 1.989530086517334 + f32.const 0.03764917701482773 + global.get $std/math/INEXACT + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 307 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.9742849469184875 + f32.const 0.18443739414215088 + global.get $std/math/INEXACT + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 308 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.6854215264320374 + f32.const -0.29158344864845276 + global.get $std/math/INEXACT + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 309 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 2.3168740272521973 + f32.const -0.3795364499092102 + global.get $std/math/INEXACT + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 310 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 313 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 314 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 315 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 316 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 317 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 318 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 319 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 190 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 320 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.49965065717697144 + f32.const 1.0476008653640747 + f32.const -0.21161814033985138 + global.get $std/math/INEXACT + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 321 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5051405429840088 + f32.const 2.1003410816192627 + f32.const -0.20852705836296082 + global.get $std/math/INEXACT + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 322 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5189794898033142 + f32.const 2.116452932357788 + f32.const -0.14600826799869537 + global.get $std/math/INEXACT + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 323 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 335 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 2.1487163980597503 + f64.const -0.291634738445282 + global.get $std/math/INEXACT + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 336 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 338 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 2.91668914109908 + f64.const -0.24191908538341522 + global.get $std/math/INEXACT + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 339 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 340 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 341 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 342 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 343 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 344 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 1 - f32.const 2 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 347 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 191 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 348 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 192 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 2147483647 - f32.const inf - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/OVERFLOW - i32.or - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 349 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 351 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 352 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 353 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1060831199926429 + f64.const 0.4566373404384803 + f64.const -0.29381608963012695 + global.get $std/math/INEXACT + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 369 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1089809557628658 + f64.const 0.4627246859959428 + f64.const -0.3990095555782318 + global.get $std/math/INEXACT + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 371 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1169429159875521 + f64.const 0.47902433134075284 + f64.const -0.321674108505249 + global.get $std/math/INEXACT + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 372 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 381 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.148716449737549 + f32.const 0.4251045286655426 + global.get $std/math/INEXACT + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 382 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 383 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 384 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 2.916689157485962 + f32.const -0.1369788944721222 + global.get $std/math/INEXACT + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 385 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 386 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 387 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 388 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 389 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 390 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 193 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 393 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 394 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 194 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 395 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 396 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 397 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 398 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 399 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1125899906842624 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 400 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 412 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 413 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 414 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 415 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 416 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.7234652439515459 + f64.const -0.13599912822246552 + global.get $std/math/INEXACT + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 417 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.41873374429377225 + f64.const -0.09264230728149414 + global.get $std/math/INEXACT + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 418 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5965113622274062 + f64.const -0.10864213854074478 + global.get $std/math/INEXACT + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 419 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.8853748109312743 + f64.const -0.4256366193294525 + global.get $std/math/INEXACT + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 420 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.7460778114110673 + f64.const 0.13986606895923615 + global.get $std/math/INEXACT + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 421 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 424 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 425 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 2147483647 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 426 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 195 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 427 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 428 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 429 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 430 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 431 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const -2147483647 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 432 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5073043929119148 + f64.const 0.5320538997772349 + f64.const -0.16157317161560059 + global.get $std/math/INEXACT + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 433 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 442 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 443 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 444 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 445 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 446 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7234652042388916 + f32.const -0.1307632476091385 + global.get $std/math/INEXACT + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 447 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.41873374581336975 + f32.const 0.3161141574382782 + global.get $std/math/INEXACT + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 448 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5965113639831543 + f32.const -0.4510819613933563 + global.get $std/math/INEXACT + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 449 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.8853747844696045 + f32.const 0.02493886835873127 + global.get $std/math/INEXACT + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 450 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.7460777759552002 + f32.const 0.2515012323856354 + global.get $std/math/INEXACT + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 451 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 454 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 455 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 196 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 456 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - i32.const 2147483647 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 197 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1701411834604692317316873e14 - i32.const -276 - f32.const 1.401298464324817e-45 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 198 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - i32.const 276 - f32.const 1701411834604692317316873e14 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 199 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.000244140625 - i32.const -149 - f32.const 1.401298464324817e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 200 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7499999403953552 - i32.const -148 - f32.const 1.401298464324817e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 201 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5000006556510925 - i32.const -128 - f32.const 1.4693693398263237e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbnf - i32.eqz - if + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 457 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 458 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 459 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 460 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 461 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 202 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 462 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5004770159721375 + f32.const 0.5241496562957764 + f32.const -0.29427099227905273 + global.get $std/math/INEXACT + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 463 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -2.784729878387861 + f64.const -0.4762189984321594 + global.get $std/math/INEXACT + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 475 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 2.175213389013164 + f64.const -0.02728751301765442 + global.get $std/math/INEXACT + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 476 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.822706083697696 + f64.const 0.20985257625579834 + global.get $std/math/INEXACT + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -2.575619446591922 + f64.const 0.3113134205341339 + global.get $std/math/INEXACT + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 478 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 2.9225114951048674 + f64.const 0.4991756081581116 + global.get $std/math/INEXACT + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.6212462762707166 + f64.const -0.4697347581386566 + global.get $std/math/INEXACT + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 480 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.39615990393192035 + f64.const -0.40814438462257385 + global.get $std/math/INEXACT + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 481 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5357588870255474 + f64.const 0.3520713150501251 + global.get $std/math/INEXACT + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 482 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.7123571263197349 + f64.const 0.13371451199054718 + global.get $std/math/INEXACT + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 483 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.635182348903198 + f64.const 0.04749670997262001 + global.get $std/math/INEXACT + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 484 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 8.06684839057968 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 487 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 214 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 488 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 4.345239849338305 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 489 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 215 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 490 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const 8.38143342755525 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 491 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -2.7847299575805664 + f32.const -0.14418013393878937 + global.get $std/math/INEXACT + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 520 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.17521333694458 + f32.const -0.020796965807676315 + global.get $std/math/INEXACT + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 521 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.8227059841156006 + f32.const 0.44718533754348755 + global.get $std/math/INEXACT + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 522 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -2.5756194591522217 + f32.const -0.14822272956371307 + global.get $std/math/INEXACT + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 523 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 2.922511577606201 + f32.const 0.14270681142807007 + global.get $std/math/INEXACT + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 524 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.6212462782859802 + f32.const 0.3684912919998169 + global.get $std/math/INEXACT + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 525 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.39615991711616516 + f32.const -0.13170306384563446 + global.get $std/math/INEXACT + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 526 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.535758912563324 + f32.const 0.08184859901666641 + global.get $std/math/INEXACT + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 527 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.7123571038246155 + f32.const -0.14270737767219543 + global.get $std/math/INEXACT + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 528 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.6351823210716248 + f32.const 0.2583143711090088 + global.get $std/math/INEXACT + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 529 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 216 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 532 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 6.531673581913484 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 533 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 217 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 534 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 9.267056966972586 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 535 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 218 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 536 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -1.4474613762633468 + f64.const 0.14857111871242523 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 548 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 1.344597927114538 + f64.const -0.08170335739850998 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 549 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -1.4520463463295539 + f64.const -0.07505480200052261 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 550 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -1.4188758658752532 + f64.const -0.057633496820926666 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 551 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 1.463303145448706 + f64.const 0.1606956422328949 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 552 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.5847550670238325 + f64.const 0.4582556486129761 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 553 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.3861864177552131 + f64.const -0.2574281692504883 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 554 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5118269531628881 + f64.const -0.11444277316331863 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 555 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.6587802431653822 + f64.const -0.11286488175392151 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 556 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.5963307826973472 + f64.const -0.2182842344045639 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 557 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.6619858980995045 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 560 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 219 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 561 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0.7853981633974483 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 562 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0.7853981633974483 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 563 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 564 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 565 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 0.4066039223853553 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 220 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5617597462207241 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 221 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.7741522965913037 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 222 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 566 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6929821535674624 + f64.const 0.6060004555152562 + f64.const -0.17075790464878082 + global.get $std/math/INEXACT + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 567 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -1.4474613666534424 + f32.const 0.12686480581760406 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 576 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 1.3445979356765747 + f32.const 0.16045434772968292 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 577 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -1.4520463943481445 + f32.const -0.39581751823425293 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 578 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -1.418875813484192 + f32.const 0.410570353269577 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 579 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 1.4633032083511353 + f32.const 0.48403501510620117 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 580 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.5847550630569458 + f32.const 0.2125193476676941 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 581 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.386186420917511 + f32.const 0.18169628083705902 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 582 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5118269920349121 + f32.const 0.3499770760536194 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 583 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.6587802171707153 + f32.const -0.2505330741405487 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 584 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.5963307619094849 + f32.const 0.17614826560020447 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 585 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 0.6787637026394024 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 588 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 223 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 589 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0.7853981852531433 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 590 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0.7853981852531433 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 591 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 592 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 593 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 594 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 606 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 607 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 608 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 609 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 610 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.7963404371347943 + f64.const 0.21338365972042084 + global.get $std/math/INEXACT + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 611 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.43153570730602897 + f64.const -0.4325666129589081 + global.get $std/math/INEXACT + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 612 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.6354006111644578 + f64.const -0.06527865678071976 + global.get $std/math/INEXACT + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 613 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1.0306085575277995 + f64.const 0.14632052183151245 + global.get $std/math/INEXACT + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 614 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.8268179645205255 + f64.const 0.1397128701210022 + global.get $std/math/INEXACT + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 615 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 226 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 618 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 619 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 620 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 621 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 227 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 622 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 623 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 624 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 625 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 626 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.3552527156068805e-20 + f64.const 1.3552527156068805e-20 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 627 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.332636185032189e-302 + f64.const 9.332636185032189e-302 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 628 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.562684646268003e-309 + f64.const 5.562684646268003e-309 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 629 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5.562684646268003e-309 + f64.const -5.562684646268003e-309 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 630 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8988465674311579538646525e283 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 631 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 640 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 641 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 642 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 643 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 644 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7963404059410095 + f32.const 0.19112196564674377 + global.get $std/math/INEXACT + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 645 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.4315357208251953 + f32.const -0.05180925130844116 + global.get $std/math/INEXACT + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 646 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.635400652885437 + f32.const 0.11911056190729141 + global.get $std/math/INEXACT + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 647 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1.0306085348129272 + f32.const 0.1798270344734192 + global.get $std/math/INEXACT + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 648 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.8268179297447205 + f32.const 0.11588983237743378 + global.get $std/math/INEXACT + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 649 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 652 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 653 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 654 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 228 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 655 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 229 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 230 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 231 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 232 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 8.066848754882812 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 241 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4.345239639282227 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 242 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const 8.381433486938477 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 243 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 6.531673431396484 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 244 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9.267057418823242 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 245 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.6619858741760254 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 246 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 0.40660393238067627 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 247 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5617597699165344 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 248 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.7741522789001465 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 249 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 0.6787636876106262 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 250 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 253 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 254 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 255 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 256 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 656 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 657 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 658 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 659 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 660 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.3552527156068805e-20 + f32.const 1.3552527156068805e-20 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 661 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 7.888609052210118e-31 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 662 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.938735877055719e-39 + f32.const 2.938735877055719e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 663 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.938735877055719e-39 + f32.const -2.938735877055719e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 664 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1701411834604692317316873e14 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 665 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const -1.0585895402489023 + f64.const 0.09766263514757156 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 677 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 2.6868734126013067 + f64.const 0.35833948850631714 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 678 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -1.889300091849528 + f64.const -0.46235957741737366 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 679 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const -0.9605469021111489 + f64.const -0.21524477005004883 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 680 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 1.0919123946142109 + f64.const 0.3894443213939667 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 681 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const -1.468508500616424 + f64.const -0.448591411113739 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 682 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 1.5641600512601268 + f64.const 0.3784842789173126 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 683 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.10281658910678508 + f64.const -0.13993260264396667 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 684 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.29697974004493516 + f64.const 0.44753071665763855 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 685 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -1.5131612053303916 + f64.const 0.39708876609802246 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 686 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 257 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 689 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 690 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 691 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.neg + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 692 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 693 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 258 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 694 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 695 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const -3.141592653589793 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 696 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -3.141592653589793 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 697 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.neg + f64.const -3.141592653589793 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 698 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 259 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 699 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 700 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 701 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 702 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 703 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -0 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 704 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 271 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 705 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 272 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 273 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 274 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 275 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.8473310828433507 - f64.const -0.41553276777267456 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 276 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 1.989530071088669 - f64.const 0.4973946213722229 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 277 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.9742849645674904 - f64.const -0.4428897500038147 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 278 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.6854215158636222 - f64.const -0.12589527666568756 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 279 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 2.316874138205964 - f64.const -0.17284949123859406 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 280 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 283 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 284 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 285 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000000000000002 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 286 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000000000000002 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 287 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 288 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 289 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 290 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5309227209592985 - f64.const 2.1304853799705463 - f64.const 0.1391008496284485 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 706 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.neg + f64.const -3.141592653589793 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 707 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.neg + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 708 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 709 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 0 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 710 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0.7853981633974483 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 711 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.neg + f64.const 2.356194490192345 + f64.const -0.20682445168495178 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 712 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.const -0.7853981633974483 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 713 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const -2.356194490192345 + f64.const 0.20682445168495178 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 714 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1125369292536007e-308 + f64.const 1 + f64.const 1.1125369292536007e-308 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 715 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 8988465674311579538646525e283 + f64.const 1.1125369292536007e-308 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 716 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 8988465674311579538646525e283 + f64.const 1.668805393880401e-308 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 717 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const -8988465674311579538646525e283 + f64.const 3.141592653589793 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 718 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const -1.0585895776748657 + f32.const -0.22352588176727295 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 727 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 2.686873435974121 + f32.const 0.09464472532272339 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 728 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -1.8893001079559326 + f32.const -0.21941901743412018 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 729 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -0.9605468511581421 + f32.const 0.46015575528144836 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 730 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 1.0919123888015747 + f32.const -0.05708503723144531 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 731 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const -1.4685084819793701 + f32.const 0.19611206650733948 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 732 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 1.5641601085662842 + f32.const 0.48143187165260315 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 733 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.10281659662723541 + f32.const -0.4216274917125702 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 734 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.29697975516319275 + f32.const 0.2322007566690445 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 735 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -1.5131611824035645 + f32.const 0.16620726883411407 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 736 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 291 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 739 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 740 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 741 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.neg + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 742 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.4939556746399746 - f64.const 1.0541629875851946 - f64.const 0.22054767608642578 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 743 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 292 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 744 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 745 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 746 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 747 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.neg + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 748 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 301 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 749 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 750 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 751 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 752 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 753 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 754 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 302 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 755 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 303 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 304 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 305 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.8473311066627502 - f32.const -0.13588131964206696 - global.get $std/math/INEXACT - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 306 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 756 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.neg + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 757 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.neg + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 758 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 759 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 0 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 760 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0.7853981852531433 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 761 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.neg + f32.const 2.356194496154785 + f32.const 0.02500828728079796 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 762 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.const -0.7853981852531433 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 763 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const -2.356194496154785 + f32.const -0.02500828728079796 + global.get $std/math/INEXACT + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 764 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const 1 + f32.const 5.877471754111438e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 765 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1701411834604692317316873e14 + f32.const 5.877471754111438e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 766 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -2.0055552545020245 + f64.const 0.46667951345443726 + global.get $std/math/INEXACT + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 778 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 1.6318162410515635 + f64.const -0.08160271495580673 + global.get $std/math/INEXACT + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 779 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.031293910673361 + f64.const -0.048101816326379776 + global.get $std/math/INEXACT + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 780 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -1.8692820012204925 + f64.const 0.08624018728733063 + global.get $std/math/INEXACT + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 781 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 2.100457720859702 + f64.const -0.2722989022731781 + global.get $std/math/INEXACT + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 782 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.8715311470455973 + f64.const 0.4414918124675751 + global.get $std/math/INEXACT + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 783 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.740839030300223 + f64.const 0.016453813761472702 + global.get $std/math/INEXACT + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 784 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.8251195400559286 + f64.const 0.30680638551712036 + global.get $std/math/INEXACT + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 785 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.9182102478959914 + f64.const 0.06543998420238495 + global.get $std/math/INEXACT + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 786 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.8788326906580094 + f64.const -0.2016713172197342 + global.get $std/math/INEXACT + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 787 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 1.989530086517334 - f32.const 0.03764917701482773 - global.get $std/math/INEXACT - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 790 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 307 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 791 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.9742849469184875 - f32.const 0.18443739414215088 - global.get $std/math/INEXACT - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 792 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 308 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 793 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.6854215264320374 - f32.const -0.29158344864845276 - global.get $std/math/INEXACT - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 794 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.313225746154785e-10 + f64.const 0.0009765625 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 309 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 795 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -9.313225746154785e-10 + f64.const -0.0009765625 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 2.3168740272521973 - f32.const -0.3795364499092102 - global.get $std/math/INEXACT - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 796 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 310 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 797 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 798 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8 + f64.const 2 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 313 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 799 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -2.0055553913116455 + f32.const -0.44719240069389343 + global.get $std/math/INEXACT + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 808 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 1.6318162679672241 + f32.const 0.44636252522468567 + global.get $std/math/INEXACT + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 809 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.0312938690185547 + f32.const 0.19483426213264465 + global.get $std/math/INEXACT + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 810 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -1.8692820072174072 + f32.const -0.17075514793395996 + global.get $std/math/INEXACT + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 811 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 2.1004576683044434 + f32.const -0.36362043023109436 + global.get $std/math/INEXACT + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 812 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.8715311288833618 + f32.const -0.12857209146022797 + global.get $std/math/INEXACT + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 813 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.7408390641212463 + f32.const -0.4655757546424866 + global.get $std/math/INEXACT + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 814 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.8251195549964905 + f32.const 0.05601907894015312 + global.get $std/math/INEXACT + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 815 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.9182102680206299 + f32.const 0.45498204231262207 + global.get $std/math/INEXACT + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 816 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.8788326978683472 + f32.const -0.22978967428207397 + global.get $std/math/INEXACT + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 817 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 820 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 314 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 821 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 822 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 315 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 823 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000001192092896 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 824 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.313225746154785e-10 + f32.const 0.0009765625 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 316 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 825 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -9.313225746154785e-10 + f32.const -0.0009765625 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000001192092896 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 826 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 317 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 827 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 828 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 8 + f32.const 2 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 318 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 319 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 320 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.49965065717697144 - f32.const 1.0476008653640747 - f32.const -0.21161814033985138 - global.get $std/math/INEXACT - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 321 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5051405429840088 - f32.const 2.1003410816192627 - f32.const -0.20852705836296082 - global.get $std/math/INEXACT - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 322 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 829 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -8 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 841 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 5 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 842 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -8 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 843 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -6 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 844 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 10 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 845 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 846 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 847 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 848 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 849 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 850 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5189794898033142 - f32.const 2.116452932357788 - f32.const -0.14600826799869537 - global.get $std/math/INEXACT - call $std/math/test_acosf - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 853 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 323 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 854 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 855 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 335 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 856 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.1487163980597503 - f64.const -0.291634738445282 - global.get $std/math/INEXACT - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 857 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 336 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 858 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 859 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 860 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 861 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 2 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 862 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 863 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 864 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 865 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 866 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 867 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 337 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 868 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 869 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 338 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 870 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 2.91668914109908 - f64.const -0.24191908538341522 - global.get $std/math/INEXACT - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 871 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 339 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 872 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 873 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 340 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 874 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 875 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 876 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 2 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 877 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 878 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 879 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 880 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 881 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 882 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 883 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 341 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 884 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 885 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 342 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 886 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 887 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 343 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 888 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 889 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 890 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 891 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 2 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 892 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 893 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 894 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 895 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 896 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 897 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -8 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 906 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 5 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 907 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -8 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 908 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -6 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 909 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 10 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 910 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 911 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 912 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 913 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 914 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 915 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 344 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 918 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 919 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 347 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 920 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 921 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 348 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 922 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 923 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 349 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 924 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 925 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 926 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 2 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 927 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 928 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 929 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 930 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 931 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 932 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 933 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 350 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 934 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 935 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 351 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 936 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 937 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 352 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 938 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 939 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 940 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 2 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 944 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 945 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 947 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 353 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 948 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1060831199926429 - f64.const 0.4566373404384803 - f64.const -0.29381608963012695 - global.get $std/math/INEXACT - call $std/math/test_acosh - i32.eqz - if + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 949 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 369 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1089809557628658 - f64.const 0.4627246859959428 - f64.const -0.3990095555782318 - global.get $std/math/INEXACT - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 371 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1169429159875521 - f64.const 0.47902433134075284 - f64.const -0.321674108505249 - global.get $std/math/INEXACT - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 372 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 381 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.148716449737549 - f32.const 0.4251045286655426 - global.get $std/math/INEXACT - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 382 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 383 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 384 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 2.916689157485962 - f32.const -0.1369788944721222 - global.get $std/math/INEXACT - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 385 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 386 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 387 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 388 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 389 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 390 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 393 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 394 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 395 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 396 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 397 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 398 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 399 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1125899906842624 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 400 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 412 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 413 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 414 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 415 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 416 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.7234652439515459 - f64.const -0.13599912822246552 - global.get $std/math/INEXACT - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 417 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.41873374429377225 - f64.const -0.09264230728149414 - global.get $std/math/INEXACT - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 418 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5965113622274062 - f64.const -0.10864213854074478 - global.get $std/math/INEXACT - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 419 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.8853748109312743 - f64.const -0.4256366193294525 - global.get $std/math/INEXACT - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 420 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.7460778114110673 - f64.const 0.13986606895923615 - global.get $std/math/INEXACT - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 421 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 424 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 425 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 426 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 950 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_asin - i32.eqz - if + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 951 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 427 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 952 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000000000000002 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin - i32.eqz - if + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 953 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 428 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 954 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 955 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 956 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 2 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 957 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 958 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 959 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 960 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 961 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 962 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -0.21126316487789154 + f32.const 0.48328569531440735 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1073 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -0.3589562177658081 + f32.const 0.042505208402872086 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1074 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -0.5033331513404846 + f32.const -0.1386195719242096 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1075 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 0.9692853689193726 + f32.const 0.1786951720714569 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1076 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const -0.9875878691673279 + f32.const 0.1389600932598114 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1077 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7887731194496155 + f32.const 0.2989593744277954 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1078 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 0.918469250202179 + f32.const 0.24250665307044983 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1079 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.8463190197944641 + f32.const -0.24033240973949432 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1080 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.7150139212608337 + f32.const -0.3372635245323181 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1081 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 0.7783495187759399 + f32.const 0.16550153493881226 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1082 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000000000000002 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin - i32.eqz - if + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1085 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 429 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1086 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1087 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1088 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 430 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 431 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 432 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5073043929119148 - f64.const 0.5320538997772349 - f64.const -0.16157317161560059 - global.get $std/math/INEXACT - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 433 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 442 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 443 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 444 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 445 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 446 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7234652042388916 - f32.const -0.1307632476091385 - global.get $std/math/INEXACT - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 447 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.41873374581336975 - f32.const 0.3161141574382782 - global.get $std/math/INEXACT - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 448 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5965113639831543 - f32.const -0.4510819613933563 - global.get $std/math/INEXACT - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 449 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.8853747844696045 - f32.const 0.02493886835873127 - global.get $std/math/INEXACT - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 450 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.7460777759552002 - f32.const 0.2515012323856354 - global.get $std/math/INEXACT - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 451 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 454 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 455 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 456 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 457 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000001192092896 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 458 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000001192092896 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 459 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 460 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 461 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 462 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5004770159721375 - f32.const 0.5241496562957764 - f32.const -0.29427099227905273 - global.get $std/math/INEXACT - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 463 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -2.784729878387861 - f64.const -0.4762189984321594 - global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 475 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.175213389013164 - f64.const -0.02728751301765442 - global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 476 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.822706083697696 - f64.const 0.20985257625579834 - global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -2.575619446591922 - f64.const 0.3113134205341339 - global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 478 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 2.9225114951048674 - f64.const 0.4991756081581116 - global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.6212462762707166 - f64.const -0.4697347581386566 - global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 480 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.39615990393192035 - f64.const -0.40814438462257385 - global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 481 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5357588870255474 - f64.const 0.3520713150501251 - global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 482 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.7123571263197349 - f64.const 0.13371451199054718 - global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 483 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.635182348903198 - f64.const 0.04749670997262001 - global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 484 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 487 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 488 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 489 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 490 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 491 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -2.7847299575805664 - f32.const -0.14418013393878937 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 520 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.17521333694458 - f32.const -0.020796965807676315 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 521 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.8227059841156006 - f32.const 0.44718533754348755 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 522 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -2.5756194591522217 - f32.const -0.14822272956371307 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 523 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 2.922511577606201 - f32.const 0.14270681142807007 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 524 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.6212462782859802 - f32.const 0.3684912919998169 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 525 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.39615991711616516 - f32.const -0.13170306384563446 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 526 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.535758912563324 - f32.const 0.08184859901666641 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 527 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.7123571038246155 - f32.const -0.14270737767219543 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 528 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.6351823210716248 - f32.const 0.2583143711090088 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 529 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 532 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 533 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 534 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 535 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 536 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -1.4474613762633468 - f64.const 0.14857111871242523 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 548 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 1.344597927114538 - f64.const -0.08170335739850998 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 549 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -1.4520463463295539 - f64.const -0.07505480200052261 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 550 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -1.4188758658752532 - f64.const -0.057633496820926666 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 551 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 1.463303145448706 - f64.const 0.1606956422328949 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 552 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.5847550670238325 - f64.const 0.4582556486129761 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 553 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.3861864177552131 - f64.const -0.2574281692504883 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 554 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5118269531628881 - f64.const -0.11444277316331863 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 555 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.6587802431653822 - f64.const -0.11286488175392151 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 556 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.5963307826973472 - f64.const -0.2182842344045639 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 557 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 560 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 561 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0.7853981633974483 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 562 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0.7853981633974483 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 563 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 564 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 565 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 566 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6929821535674624 - f64.const 0.6060004555152562 - f64.const -0.17075790464878082 - global.get $std/math/INEXACT - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 567 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -1.4474613666534424 - f32.const 0.12686480581760406 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 576 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 1.3445979356765747 - f32.const 0.16045434772968292 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 577 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -1.4520463943481445 - f32.const -0.39581751823425293 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 578 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -1.418875813484192 - f32.const 0.410570353269577 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 579 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 1.4633032083511353 - f32.const 0.48403501510620117 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 580 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.5847550630569458 - f32.const 0.2125193476676941 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 581 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.386186420917511 - f32.const 0.18169628083705902 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 582 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5118269920349121 - f32.const 0.3499770760536194 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 583 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.6587802171707153 - f32.const -0.2505330741405487 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 584 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.5963307619094849 - f32.const 0.17614826560020447 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 585 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 588 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 589 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0.7853981852531433 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 590 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0.7853981852531433 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 591 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 592 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 593 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 594 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 606 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 607 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 608 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 609 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 610 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.7963404371347943 - f64.const 0.21338365972042084 - global.get $std/math/INEXACT - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 611 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.43153570730602897 - f64.const -0.4325666129589081 - global.get $std/math/INEXACT - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 612 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.6354006111644578 - f64.const -0.06527865678071976 - global.get $std/math/INEXACT - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 613 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1.0306085575277995 - f64.const 0.14632052183151245 - global.get $std/math/INEXACT - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 614 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.8268179645205255 - f64.const 0.1397128701210022 - global.get $std/math/INEXACT - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 615 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 618 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 619 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 620 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 621 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 622 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 623 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 624 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 625 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 626 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.3552527156068805e-20 - f64.const 1.3552527156068805e-20 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 627 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.332636185032189e-302 - f64.const 9.332636185032189e-302 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 628 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.562684646268003e-309 - f64.const 5.562684646268003e-309 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 629 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5.562684646268003e-309 - f64.const -5.562684646268003e-309 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 630 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8988465674311579538646525e283 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 631 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 640 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 641 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 642 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 643 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 644 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7963404059410095 - f32.const 0.19112196564674377 - global.get $std/math/INEXACT - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 645 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.4315357208251953 - f32.const -0.05180925130844116 - global.get $std/math/INEXACT - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 646 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.635400652885437 - f32.const 0.11911056190729141 - global.get $std/math/INEXACT - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 647 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1.0306085348129272 - f32.const 0.1798270344734192 - global.get $std/math/INEXACT - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 648 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.8268179297447205 - f32.const 0.11588983237743378 - global.get $std/math/INEXACT - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 649 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 652 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 653 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 654 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 655 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 656 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 657 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 658 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 659 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 660 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.3552527156068805e-20 - f32.const 1.3552527156068805e-20 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 661 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 7.888609052210118e-31 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 662 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.938735877055719e-39 - f32.const 2.938735877055719e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 663 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.938735877055719e-39 - f32.const -2.938735877055719e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 664 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1701411834604692317316873e14 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 665 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const -1.0585895402489023 - f64.const 0.09766263514757156 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 677 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 2.6868734126013067 - f64.const 0.35833948850631714 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 678 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -1.889300091849528 - f64.const -0.46235957741737366 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 679 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -0.9605469021111489 - f64.const -0.21524477005004883 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 680 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 1.0919123946142109 - f64.const 0.3894443213939667 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 681 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const -1.468508500616424 - f64.const -0.448591411113739 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 682 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 1.5641600512601268 - f64.const 0.3784842789173126 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 683 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.10281658910678508 - f64.const -0.13993260264396667 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 684 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.29697974004493516 - f64.const 0.44753071665763855 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 685 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -1.5131612053303916 - f64.const 0.39708876609802246 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 686 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 689 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 690 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 691 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.neg - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 692 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 693 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 694 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 695 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const -3.141592653589793 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 696 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -3.141592653589793 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 697 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.neg - f64.const -3.141592653589793 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 698 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 699 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 700 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 701 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 702 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 703 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 704 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 705 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 706 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.neg - f64.const -3.141592653589793 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 707 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.neg - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 708 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 709 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 0 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 710 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0.7853981633974483 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 711 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.neg - f64.const 2.356194490192345 - f64.const -0.20682445168495178 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 712 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.const -0.7853981633974483 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 713 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const -2.356194490192345 - f64.const 0.20682445168495178 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 714 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1125369292536007e-308 - f64.const 1 - f64.const 1.1125369292536007e-308 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 715 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 8988465674311579538646525e283 - f64.const 1.1125369292536007e-308 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 716 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 8988465674311579538646525e283 - f64.const 1.668805393880401e-308 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 717 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const -8988465674311579538646525e283 - f64.const 3.141592653589793 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 718 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const -1.0585895776748657 - f32.const -0.22352588176727295 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 727 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 2.686873435974121 - f32.const 0.09464472532272339 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 728 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -1.8893001079559326 - f32.const -0.21941901743412018 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 729 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -0.9605468511581421 - f32.const 0.46015575528144836 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 730 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 1.0919123888015747 - f32.const -0.05708503723144531 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 731 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const -1.4685084819793701 - f32.const 0.19611206650733948 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 732 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 1.5641601085662842 - f32.const 0.48143187165260315 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 733 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.10281659662723541 - f32.const -0.4216274917125702 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 734 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.29697975516319275 - f32.const 0.2322007566690445 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 735 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -1.5131611824035645 - f32.const 0.16620726883411407 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 736 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 739 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 740 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 741 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.neg - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 742 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 743 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 744 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 745 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 746 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 747 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.neg - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 748 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 749 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 750 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 751 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 752 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 753 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 754 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 755 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 756 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.neg - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 757 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.neg - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 758 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 759 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 0 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 760 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0.7853981852531433 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 761 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.neg - f32.const 2.356194496154785 - f32.const 0.02500828728079796 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 762 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.const -0.7853981852531433 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 763 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const -2.356194496154785 - f32.const -0.02500828728079796 - global.get $std/math/INEXACT - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 764 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const 1 - f32.const 5.877471754111438e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 765 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1701411834604692317316873e14 - f32.const 5.877471754111438e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 766 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -2.0055552545020245 - f64.const 0.46667951345443726 - global.get $std/math/INEXACT - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 778 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 1.6318162410515635 - f64.const -0.08160271495580673 - global.get $std/math/INEXACT - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 779 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.031293910673361 - f64.const -0.048101816326379776 - global.get $std/math/INEXACT - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 780 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -1.8692820012204925 - f64.const 0.08624018728733063 - global.get $std/math/INEXACT - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 781 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 2.100457720859702 - f64.const -0.2722989022731781 - global.get $std/math/INEXACT - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 782 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.8715311470455973 - f64.const 0.4414918124675751 - global.get $std/math/INEXACT - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 783 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.740839030300223 - f64.const 0.016453813761472702 - global.get $std/math/INEXACT - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 784 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.8251195400559286 - f64.const 0.30680638551712036 - global.get $std/math/INEXACT - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 785 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.9182102478959914 - f64.const 0.06543998420238495 - global.get $std/math/INEXACT - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 786 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.8788326906580094 - f64.const -0.2016713172197342 - global.get $std/math/INEXACT - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 787 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 790 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 791 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 792 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 793 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 794 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.313225746154785e-10 - f64.const 0.0009765625 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 795 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -9.313225746154785e-10 - f64.const -0.0009765625 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 796 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 797 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 798 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 799 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -2.0055553913116455 - f32.const -0.44719240069389343 - global.get $std/math/INEXACT - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 808 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 1.6318162679672241 - f32.const 0.44636252522468567 - global.get $std/math/INEXACT - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 809 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.0312938690185547 - f32.const 0.19483426213264465 - global.get $std/math/INEXACT - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 810 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -1.8692820072174072 - f32.const -0.17075514793395996 - global.get $std/math/INEXACT - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 811 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 2.1004576683044434 - f32.const -0.36362043023109436 - global.get $std/math/INEXACT - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 812 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.8715311288833618 - f32.const -0.12857209146022797 - global.get $std/math/INEXACT - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 813 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.7408390641212463 - f32.const -0.4655757546424866 - global.get $std/math/INEXACT - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 814 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.8251195549964905 - f32.const 0.05601907894015312 - global.get $std/math/INEXACT - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 815 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.9182102680206299 - f32.const 0.45498204231262207 - global.get $std/math/INEXACT - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 816 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.8788326978683472 - f32.const -0.22978967428207397 - global.get $std/math/INEXACT - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 817 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 820 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 821 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 822 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 823 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 824 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.313225746154785e-10 - f32.const 0.0009765625 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 825 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -9.313225746154785e-10 - f32.const -0.0009765625 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 826 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 827 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 828 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 8 - f32.const 2 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 829 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -8 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 841 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 5 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 842 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -8 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 843 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -6 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 844 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 10 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 845 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 846 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 847 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 848 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 849 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 850 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 853 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 854 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 855 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 856 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 857 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 858 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 859 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 860 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 861 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 2 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 862 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 863 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 864 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 865 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 866 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 867 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 868 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 869 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 870 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 871 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 872 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 873 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 874 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 875 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 876 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 2 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 877 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 878 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 879 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 880 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 881 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 882 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 883 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 884 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 885 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 886 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 887 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 888 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 889 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 890 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 891 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 2 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 892 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 893 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 894 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 895 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 896 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 897 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -8 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 906 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 5 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 907 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -8 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 908 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -6 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 909 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 10 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 910 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 911 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 912 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 913 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 914 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 915 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 918 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 919 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 920 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 921 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 922 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 923 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 924 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 925 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 926 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 2 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 927 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 928 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 929 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 930 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 931 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 932 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 933 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 934 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 935 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 936 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 937 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 938 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 939 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 940 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 941 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 2 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 942 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 943 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 944 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 945 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 946 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 947 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 948 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 949 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 950 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 951 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 952 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 953 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 954 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 955 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 956 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 2 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 957 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 958 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 959 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 960 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 961 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 962 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -0.21126316487789154 - f32.const 0.48328569531440735 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1073 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -0.3589562177658081 - f32.const 0.042505208402872086 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1074 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -0.5033331513404846 - f32.const -0.1386195719242096 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1075 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 0.9692853689193726 - f32.const 0.1786951720714569 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1076 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const -0.9875878691673279 - f32.const 0.1389600932598114 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1077 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7887731194496155 - f32.const 0.2989593744277954 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1078 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 0.918469250202179 - f32.const 0.24250665307044983 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1079 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.8463190197944641 - f32.const -0.24033240973949432 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1080 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.7150139212608337 - f32.const -0.3372635245323181 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1081 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 0.7783495187759399 - f32.const 0.16550153493881226 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1082 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1085 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1086 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1087 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1088 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1089 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.862645149230957e-09 - f32.const 1 - f32.const 1.4551915228366852e-11 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1092 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.862645149230957e-09 - f32.const 1 - f32.const 1.4551915228366852e-11 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1093 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754943508222875e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1094 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754943508222875e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1095 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1096 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1097 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1098 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.2611686178923354e-44 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1099 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.938735877055719e-39 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1100 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1101 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754940705625946e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1102 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754942106924411e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1103 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.175494490952134e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1104 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754946310819804e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1105 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509880009953429e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1106 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1107 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509895424236536e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1108 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.70197740328915e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1109 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.450580596923828e-09 - f32.const 1 - f32.const 2.3283064365386963e-10 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1110 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.000244140625 - f32.const 1 - f32.const 0.25 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1111 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.00048828125 - f32.const 0.9999998807907104 - f32.const -3.973643103449831e-08 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1112 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.0009765625 - f32.const 0.9999995231628418 - f32.const -6.357828397085541e-07 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.802596928649634e-45 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1114 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.2611686178923354e-44 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1115 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.938735877055719e-39 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1116 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5.877471754111438e-39 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1117 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754940705625946e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1118 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754942106924411e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1119 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.175494490952134e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1120 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754946310819804e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1121 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509880009953429e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1122 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.350988701644575e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1123 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509895424236536e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1124 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -4.70197740328915e-38 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1125 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.450580596923828e-09 - f32.const 1 - f32.const 2.3283064365386963e-10 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1126 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.000244140625 - f32.const 1 - f32.const 0.25 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1127 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.00048828125 - f32.const 0.9999998807907104 - f32.const -3.973643103449831e-08 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1128 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.0009765625 - f32.const 0.9999995231628418 - f32.const -6.357828397085541e-07 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1129 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 255.99993896484375 - f32.const -0.03985174745321274 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1132 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5033165 - f32.const 0.8471871614456177 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1133 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 421657440 - f32.const 0.6728929281234741 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1134 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2147483392 - f32.const 0.9610780477523804 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1135 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 68719476736 - f32.const 0.1694190502166748 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1136 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 549755813888 - f32.const 0.20735950767993927 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f32.MAX_VALUE - f32.const 0.8530210256576538 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1138 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -255.99993896484375 - f32.const -0.03985174745321274 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1139 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5033165 - f32.const 0.8471871614456177 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1140 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -421657440 - f32.const 0.6728929281234741 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1141 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2147483392 - f32.const 0.9610780477523804 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1142 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -68719476736 - f32.const 0.1694190502166748 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1143 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -549755813888 - f32.const 0.20735950767993927 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1144 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f32.MAX_VALUE - f32.neg - f32.const 0.8530210256576538 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1145 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 1593.5209938862329 - f64.const -0.38098856806755066 - global.get $std/math/INEXACT - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1156 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 38.56174928426729 - f64.const -0.2712278366088867 - global.get $std/math/INEXACT - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1157 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const 2182.630979595893 - f64.const 0.0817827582359314 - global.get $std/math/INEXACT - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1158 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 343.273849250879 - f64.const -0.429940402507782 - global.get $std/math/INEXACT - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1159 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 5291.779170005587 - f64.const -0.1592995822429657 - global.get $std/math/INEXACT - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1160 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 1.2272321957342842 - f64.const 0.23280741274356842 - global.get $std/math/INEXACT - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1161 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 1.083808541871197 - f64.const -0.3960916996002197 - global.get $std/math/INEXACT - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1162 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 1.1619803583175077 - f64.const 0.37748390436172485 - global.get $std/math/INEXACT - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1163 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1.3149236876276706 - f64.const 0.43587008118629456 - global.get $std/math/INEXACT - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1164 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 1.2393413245934533 - f64.const 0.10201606154441833 - global.get $std/math/INEXACT - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1165 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1168 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1169 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1170 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1171 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1172 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 1593.5216064453125 - f32.const 0.26242581009864807 - global.get $std/math/INEXACT - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1181 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 38.56174087524414 - f32.const -0.08168885856866837 - global.get $std/math/INEXACT - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1182 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const 2182.631103515625 - f32.const -0.02331414446234703 - global.get $std/math/INEXACT - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1183 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 343.2738037109375 - f32.const 0.20081493258476257 - global.get $std/math/INEXACT - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1184 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 5291.78173828125 - f32.const 0.36286723613739014 - global.get $std/math/INEXACT - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1185 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1.2272322177886963 - f32.const 0.32777416706085205 - global.get $std/math/INEXACT - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1186 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 1.0838085412979126 - f32.const -0.039848703891038895 - global.get $std/math/INEXACT - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1187 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1.161980390548706 - f32.const 0.15274477005004883 - global.get $std/math/INEXACT - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1188 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1.314923644065857 - f32.const -0.2387111485004425 - global.get $std/math/INEXACT - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1189 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 1.2393412590026855 - f32.const -0.45791932940483093 - global.get $std/math/INEXACT - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1190 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1196 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1197 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 3.137706068161745e-04 - f64.const -0.2599197328090668 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1209 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 77.11053017112141 - f64.const -0.02792675793170929 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1210 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const 2.290813384916323e-04 - f64.const -0.24974334239959717 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1211 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 1.4565661260931588e-03 - f64.const -0.4816822409629822 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1212 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 10583.558245524993 - f64.const 0.17696762084960938 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1213 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 1.9386384525571998 - f64.const -0.4964246451854706 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1214 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 0.6659078892838025 - f64.const -0.10608318448066711 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1215 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 1.7537559518626311 - f64.const -0.39162111282348633 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1216 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 2.1687528885129246 - f64.const -0.2996125817298889 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1217 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 0.5072437089402843 - f64.const 0.47261738777160645 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1218 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1221 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1222 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 2.718281828459045 - f64.const -0.3255307376384735 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1223 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0.36787944117144233 - f64.const 0.22389651834964752 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1224 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1225 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1226 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1227 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0397214889526365 - f64.const 2.828429155876411 - f64.const 0.18803080916404724 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1228 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0397214889526365 - f64.const 0.35355313670217847 - f64.const 0.2527272403240204 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1229 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0397210121154785 - f64.const 2.8284278071766122 - f64.const -0.4184139370918274 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1230 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0397214889526367 - f64.const 2.8284291558764116 - f64.const -0.22618377208709717 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1231 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MIN_VALUE - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1234 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MIN_VALUE - f64.neg - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1235 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4649454530587146735 - f64.reinterpret_i64 - i64.const 9218868437227405098 - f64.reinterpret_i64 - i64.const -4631092234375135232 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1237 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4649454530587146736 - f64.reinterpret_i64 - f64.const inf - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/OVERFLOW - i32.or - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1244 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4573606559926636463 - f64.reinterpret_i64 - global.get $~lib/builtins/f64.MIN_VALUE - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1245 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4573606559926636462 - f64.reinterpret_i64 - f64.const 0 - i64.const -4620693217682128896 - f64.reinterpret_i64 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1252 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4573929700241785646 - f64.reinterpret_i64 - i64.const 4503599627370620 - f64.reinterpret_i64 - i64.const 4598386411140284416 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1259 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4573929700241785645 - f64.reinterpret_i64 - i64.const 4503599627370108 - f64.reinterpret_i64 - i64.const 4503599627370108 - f64.reinterpret_i64 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1266 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4602685064124656555 - f64.reinterpret_i64 - i64.const 4610109149550689567 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1273 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4603836184166978885 - f64.reinterpret_i64 - i64.const 4611122094629841017 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1280 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4605718951180848880 - f64.reinterpret_i64 - i64.const 4612385506662149744 - f64.reinterpret_i64 - i64.const -4620693217682128896 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1287 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4605835761386121865 - f64.reinterpret_i64 - i64.const 4612453422537445296 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1293 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4610006203169397430 - f64.reinterpret_i64 - i64.const 4617415291835269761 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1299 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4610219797808568955 - f64.reinterpret_i64 - i64.const 4617693563882825047 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1305 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4619182163989041060 - f64.reinterpret_i64 - i64.const 4650062712266849886 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1312 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4622394943780502425 - f64.reinterpret_i64 - i64.const 4678652243157503230 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1319 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4622613550143616215 - f64.reinterpret_i64 - i64.const 4680943662238555301 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1326 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4622829325869063755 - f64.reinterpret_i64 - i64.const 4683793372338329074 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1333 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4645970351893354075 - f64.reinterpret_i64 - i64.const 7289148599681560140 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1340 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4647695036380671130 - f64.reinterpret_i64 - i64.const 7926454981994343700 - f64.reinterpret_i64 - i64.const -4620693217682128896 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1347 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4819432143425896336 - f64.reinterpret_i64 - i64.const 4607182418800017169 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1354 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4819256221565452171 - f64.reinterpret_i64 - i64.const 4607182418800017163 - f64.reinterpret_i64 - i64.const -4620693217682128896 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1361 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 3.1377049162983894e-04 - f32.const -0.030193336308002472 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1375 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 77.11051177978516 - f32.const -0.2875460684299469 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1376 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const 2.2908132814336568e-04 - f32.const 0.2237040400505066 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1377 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 1.4565663877874613e-03 - f32.const 0.36469703912734985 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1378 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 10583.5634765625 - f32.const 0.45962104201316833 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1379 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1.93863844871521 - f32.const 0.3568260967731476 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1380 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 0.6659078598022461 - f32.const -0.38294991850852966 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1381 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1.753756046295166 - f32.const 0.44355490803718567 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1382 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 2.168752908706665 - f32.const 0.24562469124794006 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1383 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 0.5072436928749084 - f32.const -0.3974292278289795 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1384 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1387 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1388 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 2.7182817459106445 - f32.const -0.3462330996990204 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1389 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0.3678794503211975 - f32.const 0.3070148527622223 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1390 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1391 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1392 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1393 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 88.72283172607422 - f32.const 340279851902147610656242e15 - f32.const -0.09067153930664062 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1394 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 88.72283935546875 - f32.const inf - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/OVERFLOW - i32.or - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1395 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -103.97207641601562 - f32.const 1.401298464324817e-45 - f32.const 0.49999967217445374 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1396 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -103.97208404541016 - f32.const 0 - f32.const -0.49999651312828064 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1397 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.3465735614299774 - f32.const 1.4142135381698608 - f32.const 0.13922421634197235 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1398 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.3465735912322998 - f32.const 1.4142135381698608 - f32.const -0.21432916820049286 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1399 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.3465736210346222 - f32.const 1.4142136573791504 - f32.const 0.43211743235588074 - global.get $std/math/INEXACT - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1400 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -0.9996862293931839 - f64.const -0.2760058343410492 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1412 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 76.11053017112141 - f64.const -0.02792675793170929 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1413 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -0.9997709186615084 - f64.const 0.10052496194839478 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1414 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -0.9985434338739069 - f64.const -0.27437829971313477 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1415 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 10582.558245524993 - f64.const 0.17696762084960938 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1416 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.9386384525571999 - f64.const 0.007150684483349323 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1417 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.3340921107161975 - f64.const -0.21216636896133423 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1418 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.7537559518626312 - f64.const 0.21675777435302734 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1419 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1.1687528885129248 - f64.const 0.4007748067378998 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1420 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.4927562910597158 - f64.const -0.05476519837975502 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1421 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1424 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1425 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1.7182818284590453 - f64.const 0.348938524723053 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1426 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0.6321205588285577 - f64.const 0.11194825917482376 - global.get $std/math/INEXACT - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1427 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1428 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1429 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1430 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507201e-308 - f64.const 2.225073858507201e-308 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1431 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.225073858507201e-308 - f64.const -2.225073858507201e-308 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1432 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -0.9996862411499023 - f32.const -0.19532723724842072 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1441 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 76.11051177978516 - f32.const -0.2875460684299469 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1442 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -0.9997709393501282 - f32.const -0.34686920046806335 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1443 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.9985434412956238 - f32.const -0.1281939446926117 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1444 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 10582.5634765625 - f32.const 0.45962104201316833 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1445 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.9386383891105652 - f32.const -0.28634780645370483 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1446 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.3340921103954315 - f32.const 0.23410017788410187 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1447 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.7537559866905212 - f32.const -0.11289017647504807 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1448 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1.168752908706665 - f32.const 0.4912493824958801 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1449 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.49275627732276917 - f32.const 0.20514154434204102 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1450 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1453 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1454 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1.718281865119934 - f32.const 0.3075338304042816 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1455 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0.6321205496788025 - f32.const 0.15350742638111115 - global.get $std/math/INEXACT - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1456 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1457 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1458 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1459 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -9 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1471 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 4 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1472 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -9 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1473 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -7 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1474 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 9 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1475 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1476 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1477 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1478 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1479 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1480 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1483 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1484 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1485 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1486 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1487 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1488 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1489 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1490 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1491 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1492 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -2 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1493 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1494 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1495 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1496 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1497 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -9 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1506 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1507 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -9 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1508 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -7 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1509 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1510 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1511 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1512 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1513 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1514 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1515 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1518 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1519 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1520 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1521 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1522 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1523 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1524 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1525 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1526 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1527 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -2 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1528 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1529 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1530 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1531 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1532 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const 9.25452742288464 - f64.const -0.31188681721687317 - global.get $std/math/INEXACT - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1544 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 9.893305808328252 - f64.const 0.4593673348426819 - global.get $std/math/INEXACT - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1545 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const 8.825301797432132 - f64.const -0.1701754331588745 - global.get $std/math/INEXACT - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1546 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const 7.970265885519092 - f64.const -0.3176782727241516 - global.get $std/math/INEXACT - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1547 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 10.441639651824575 - f64.const -0.2693633437156677 - global.get $std/math/INEXACT - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1548 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const 6.483936052542593 - f64.const 0.35618898272514343 - global.get $std/math/INEXACT - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1549 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 7.859063309581766 - f64.const 0.08044655621051788 - global.get $std/math/INEXACT - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1550 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const 7.717156764899584 - f64.const 0.05178084969520569 - global.get $std/math/INEXACT - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1551 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 2.104006123874314 - f64.const -0.0918039008975029 - global.get $std/math/INEXACT - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1552 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const 0.5596880129062913 - f64.const 0.1383407711982727 - global.get $std/math/INEXACT - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1553 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3 - f64.const 4 - f64.const 5 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1556 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -3 - f64.const 4 - f64.const 5 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1557 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4 - f64.const 3 - f64.const 5 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1558 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4 - f64.const -3 - f64.const 5 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1559 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -3 - f64.const -4 - f64.const 5 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1560 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const 0 - f64.const 1797693134862315708145274e284 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1561 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const -0 - f64.const 1797693134862315708145274e284 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1562 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const 0 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1563 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const -0 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1564 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1565 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1566 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1567 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1568 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 1 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1569 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.neg - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1570 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1571 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const inf - f64.neg - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1572 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1573 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1574 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const 9.254528045654297 - f32.const 0.2735958993434906 - global.get $std/math/INEXACT - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1583 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 9.893305778503418 - f32.const 0.4530770778656006 - global.get $std/math/INEXACT - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1584 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const 8.825302124023438 - f32.const 0.30755728483200073 - global.get $std/math/INEXACT - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1585 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const 7.970265865325928 - f32.const 0.06785223633050919 - global.get $std/math/INEXACT - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1586 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 10.44163990020752 - f32.const -0.26776307821273804 - global.get $std/math/INEXACT - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1587 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const 6.483936309814453 - f32.const 0.48381292819976807 - global.get $std/math/INEXACT - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1588 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 7.859063148498535 - f32.const 0.07413065433502197 - global.get $std/math/INEXACT - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1589 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const 7.717156887054443 - f32.const 0.4940592646598816 - global.get $std/math/INEXACT - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1590 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 2.104006052017212 - f32.const -0.287089467048645 - global.get $std/math/INEXACT - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1591 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const 0.5596880316734314 - f32.const 0.4191940724849701 - global.get $std/math/INEXACT - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1592 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3 - f32.const 4 - f32.const 5 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1595 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -3 - f32.const 4 - f32.const 5 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1596 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4 - f32.const 3 - f32.const 5 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1597 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4 - f32.const -3 - f32.const 5 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1598 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -3 - f32.const -4 - f32.const 5 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1599 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - f32.const 0 - f32.const 3402823466385288598117041e14 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1600 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - f32.const -0 - f32.const 3402823466385288598117041e14 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1601 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 0 - f32.const 1.401298464324817e-45 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1602 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const -0 - f32.const 1.401298464324817e-45 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1603 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1604 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1605 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1606 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1607 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 1 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1608 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1609 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1610 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1611 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1612 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1613 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1625 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 1.4690809584224322 - f64.const -0.3412533402442932 - global.get $std/math/INEXACT - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1626 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1627 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1628 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 2.2264658498795615 - f64.const 0.3638114035129547 - global.get $std/math/INEXACT - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1629 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const -0.4125110252365137 - f64.const -0.29108747839927673 - global.get $std/math/INEXACT - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1630 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1631 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const -0.5766810183195862 - f64.const -0.10983199626207352 - global.get $std/math/INEXACT - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1632 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const -0.2559866591263865 - f64.const -0.057990044355392456 - global.get $std/math/INEXACT - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1633 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1634 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1637 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1638 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1639 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1640 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1641 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1642 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1643 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1644 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1653 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1654 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1655 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1656 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1657 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1658 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1659 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1660 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1663 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1664 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1665 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1666 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1667 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1668 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1669 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1670 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1682 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 0.6380137537120029 - f64.const -0.2088824063539505 - global.get $std/math/INEXACT - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1683 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1684 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1685 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 0.9669418327487274 - f64.const -0.06120431795716286 - global.get $std/math/INEXACT - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1686 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const -0.17915126198447093 - f64.const 0.39090874791145325 - global.get $std/math/INEXACT - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1687 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1688 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const -0.25044938407454437 - f64.const -0.3046841621398926 - global.get $std/math/INEXACT - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1689 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const -0.11117359349943837 - f64.const -0.31503361463546753 - global.get $std/math/INEXACT - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1690 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1691 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1694 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1695 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1696 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1697 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1698 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1699 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1700 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1701 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1710 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 0.6380137205123901 - f32.const -0.20476758480072021 - global.get $std/math/INEXACT - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1711 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1712 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1713 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 0.9669418334960938 - f32.const -0.34273025393486023 - global.get $std/math/INEXACT - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1714 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const -0.1791512817144394 - f32.const -0.27078554034233093 - global.get $std/math/INEXACT - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1715 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1716 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const -0.25044935941696167 - f32.const 0.2126826047897339 - global.get $std/math/INEXACT - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1717 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const -0.1111735999584198 - f32.const 0.46515095233917236 - global.get $std/math/INEXACT - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1718 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1719 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1722 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1723 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1724 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1725 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1726 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1727 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1728 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1729 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1741 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 1.6762064170601734 - f64.const 0.46188199520111084 - global.get $std/math/INEXACT - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1742 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1743 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1744 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 2.3289404168523826 - f64.const -0.411114901304245 - global.get $std/math/INEXACT - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1745 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.5080132114992477 - f64.const -0.29306045174598694 - global.get $std/math/INEXACT - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1746 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.5218931811663979 - f64.const -0.25825726985931396 - global.get $std/math/INEXACT - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1747 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.4458132279488102 - f64.const -0.13274887204170227 - global.get $std/math/INEXACT - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1748 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.5733227294648414 - f64.const 0.02716583013534546 - global.get $std/math/INEXACT - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1749 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -1.1355782978128564 - f64.const 0.2713092863559723 - global.get $std/math/INEXACT - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1750 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1753 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1754 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -7.888609052210118e-31 - f64.const 1.7763568394002505e-15 - global.get $std/math/INEXACT - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1755 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0.6931471805599453 - f64.const -0.2088811695575714 - global.get $std/math/INEXACT - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1756 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1757 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1758 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1759 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1760 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1769 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 1.676206350326538 - f32.const -0.23014859855175018 - global.get $std/math/INEXACT - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1770 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1771 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1772 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 2.3289403915405273 - f32.const -0.29075589776039124 - global.get $std/math/INEXACT - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1773 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.5080131888389587 - f32.const -0.1386766880750656 - global.get $std/math/INEXACT - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1774 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.5218932032585144 - f32.const -0.08804433047771454 - global.get $std/math/INEXACT - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1775 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.44581323862075806 - f32.const -0.15101368725299835 - global.get $std/math/INEXACT - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1776 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.5733227133750916 - f32.const -0.10264533013105392 - global.get $std/math/INEXACT - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1777 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -1.1355782747268677 - f32.const -0.19879481196403503 - global.get $std/math/INEXACT - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1778 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1781 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1782 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -7.888609052210118e-31 - f32.const 3.308722450212111e-24 - global.get $std/math/INEXACT - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1783 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0.6931471824645996 - f32.const 0.031954795122146606 - global.get $std/math/INEXACT - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1784 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1785 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1786 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1787 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1788 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754942106924411e-38 - f32.const -1.1754942106924411e-38 - f32.const 4.930380657631324e-32 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1789 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1801 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.1194358133804485 - f64.const -0.10164877772331238 - global.get $std/math/INEXACT - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1802 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1803 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1804 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 3.2121112403298744 - f64.const -0.15739446878433228 - global.get $std/math/INEXACT - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1805 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const -0.5951276104207402 - f64.const 0.3321485221385956 - global.get $std/math/INEXACT - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1806 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1807 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const -0.8319748453044644 - f64.const 0.057555437088012695 - global.get $std/math/INEXACT - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1808 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const -0.36931068365537134 - f64.const -0.19838279485702515 - global.get $std/math/INEXACT - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1809 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1810 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1813 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1814 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1815 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1816 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1817 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1818 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1819 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1820 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1829 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.1194357872009277 - f32.const 0.18271538615226746 - global.get $std/math/INEXACT - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1830 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1831 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1832 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 3.212111234664917 - f32.const -0.3188050389289856 - global.get $std/math/INEXACT - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1833 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const -0.5951276421546936 - f32.const 0.34231460094451904 - global.get $std/math/INEXACT - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1834 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1835 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const -0.8319748044013977 - f32.const -0.33473604917526245 - global.get $std/math/INEXACT - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1836 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const -0.3693107068538666 - f32.const 0.3278401792049408 - global.get $std/math/INEXACT - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1837 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1838 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1841 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1842 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1843 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1844 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1845 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1846 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1847 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1848 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const 4.535662560676869 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1860 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 4.345239849338305 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1861 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -2.763607337379588 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1862 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const 4.567535276842744 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1863 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 9.267056966972586 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1864 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const 0.6620717923376739 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1865 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 7.858890253041697 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1866 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const 7.67640268511754 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1867 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 2.0119025790324803 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1868 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const 0.03223983060263804 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1869 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1872 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1873 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1874 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1875 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1876 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1877 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1878 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1879 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1880 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1881 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1882 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1883 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1884 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1885 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1886 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1887 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1888 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1889 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1890 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1891 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1892 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.neg - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1893 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1894 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1895 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1896 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1897 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.neg - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1898 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1899 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1900 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1901 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1902 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1903 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1904 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1905 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1906 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1907 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1908 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1909 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1910 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1911 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 2 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1912 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -0.5 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1913 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1914 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1915 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1916 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1917 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1918 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1919 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1920 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1921 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.neg - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1922 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.neg - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1923 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.neg - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1924 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1925 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const 0.5 - f64.const 1.75 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1926 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const 0.5 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1927 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const -0.5 - f64.const 1.75 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1928 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const -0.5 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1929 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const 4.535662651062012 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1938 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 4.345239639282227 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1939 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -2.7636072635650635 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1940 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const 4.567535400390625 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1941 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 9.267057418823242 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1942 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const 0.6620717644691467 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1943 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 7.858890056610107 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1944 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const 7.676402568817139 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1945 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 2.0119025707244873 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1946 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const 0.03223983198404312 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1947 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1950 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1951 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1952 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1953 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1954 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1955 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1956 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1957 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1958 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1959 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1960 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1961 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1962 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1963 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1964 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1965 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1966 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1967 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1968 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1969 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1970 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1971 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1972 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1973 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1974 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1975 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.neg - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1976 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1977 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1978 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1979 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1980 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1981 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1982 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1983 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1984 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1985 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1986 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1987 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1988 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1989 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 2 - f32.const 2 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1990 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -0.5 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1991 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1992 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1993 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1994 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1995 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1996 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1997 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1998 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 1999 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.neg - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2000 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.neg - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2001 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2002 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2003 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const 0.5 - f32.const 1.75 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2004 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const 0.5 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2005 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const -0.5 - f32.const 1.75 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2006 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const -0.5 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2007 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const -8.06684839057968 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2019 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const -8.88799136300345 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2020 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -8.38143342755525 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2021 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -6.531673581913484 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2022 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 4.811392084359796 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2023 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const -6.450045556060236 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2024 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 0.05215452675006225 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2025 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.792054511984896 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2026 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.615702673197924 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2027 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -0.5587586823609152 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2028 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2031 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2032 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2033 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2034 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2035 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2036 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2037 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 1 - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2038 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2039 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2040 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2041 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2042 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2043 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2044 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2045 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2046 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -1 - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2047 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2048 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2049 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2050 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2051 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2052 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2053 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2054 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2055 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2056 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2057 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2058 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2059 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2060 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2061 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 0 - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2062 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2063 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2064 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2065 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -0 - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2066 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2067 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2068 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2069 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2070 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 2 - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2071 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -0.5 - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2072 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2073 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2074 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2075 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2076 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2077 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2078 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2079 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2080 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2081 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2082 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2083 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2084 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const 0.5 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2085 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const 0.5 - f64.const -1.75 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2086 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const -0.5 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2087 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const -0.5 - f64.const -1.75 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2088 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const -8.066848754882812 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2097 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const -8.887990951538086 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2098 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -8.381433486938477 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2099 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -6.531673431396484 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2100 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 4.811392307281494 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2101 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const -6.450045585632324 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2102 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 0.052154526114463806 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2103 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.7920545339584351 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2104 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.6157026886940002 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2105 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -0.5587586760520935 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2106 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2109 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2110 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2111 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2112 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2114 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2115 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 1 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2116 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2117 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2118 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2119 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2120 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2121 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2122 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2123 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2124 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -1 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2125 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2126 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2127 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2128 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2129 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2130 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2131 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2132 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2133 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2134 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2135 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2136 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2138 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2139 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2140 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2141 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2142 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2143 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -0 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2144 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2145 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const 2 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2146 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2147 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2148 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 2 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2149 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -0.5 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2150 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2151 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2152 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2153 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2154 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2155 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2156 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2157 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2158 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2159 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2160 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2161 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2162 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const 0.5 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2163 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const 0.5 - f32.const -1.75 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2164 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const -0.5 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2165 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const -0.5 - f32.const -1.75 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2166 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const -3.531185829902812 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2180 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 4.345239849338305 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2181 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -0.09061141541648476 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2182 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -1.9641383050707404 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2183 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 4.45566488261279 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2184 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const -0.4913994250211714 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2185 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 0.035711240532359426 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2186 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.792054511984896 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2187 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.615702673197924 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2188 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -0.0106815621160685 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2189 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2192 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2196 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2197 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2198 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2199 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2200 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2201 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2202 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2203 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2204 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2205 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2206 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2207 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2208 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2209 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2210 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2211 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2212 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2213 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2214 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2215 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2216 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2217 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2218 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2219 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2220 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.neg - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2221 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2222 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2223 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2224 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2225 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.neg - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2226 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2227 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2228 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2229 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2230 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2231 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2232 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2233 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2234 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2235 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2236 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2237 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2238 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2239 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 2 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2240 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2241 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2242 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2243 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2244 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2245 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2246 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2247 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2248 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2249 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.neg - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2250 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.neg - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2251 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2252 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2253 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const 0.5 - f64.const 0.25 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2254 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const 0.5 - f64.const -0.25 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2255 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const -0.5 - f64.const 0.25 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2256 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const -0.5 - f64.const -0.25 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2257 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const -3.531186103820801 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2266 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 4.345239639282227 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2267 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -0.09061169624328613 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2268 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -1.9641380310058594 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2269 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 4.455665111541748 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2270 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const -0.49139970541000366 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2271 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 0.0357111394405365 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2272 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.7920545339584351 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2273 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.6157026886940002 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2274 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -0.010681532323360443 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2275 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2278 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2279 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2280 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2281 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2282 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2283 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const 1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2284 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const 1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2285 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2286 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2287 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2288 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2289 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2290 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2291 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2292 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2293 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2294 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2295 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2296 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2297 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2298 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2299 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2300 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2301 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2302 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2303 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2304 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2305 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2306 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2307 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2308 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2309 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2310 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2311 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.neg - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2312 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2313 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2314 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2315 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2316 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2317 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2318 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2319 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2320 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2321 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2322 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2323 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2324 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2325 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2326 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2327 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2328 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2329 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2330 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2331 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2332 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2333 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2334 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2335 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.neg - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2336 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.neg - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2337 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2338 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2339 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const 0.5 - f32.const 0.25 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2340 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const 0.5 - f32.const -0.25 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2341 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const -0.5 - f32.const 0.25 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2342 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const -0.5 - f32.const -0.25 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2343 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2355 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 2.1347118825587285e-06 - f64.const 0.3250160217285156 - global.get $std/math/INEXACT - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2356 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2357 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2358 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 44909.29941512966 - f64.const -0.26659080386161804 - global.get $std/math/INEXACT - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2359 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2360 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 1.1135177413458652 - f64.const -0.37168607115745544 - global.get $std/math/INEXACT - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2361 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2362 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.37690773521380183 - f64.const 0.32473301887512207 - global.get $std/math/INEXACT - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2363 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2364 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2367 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2368 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 3 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2369 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 2 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2370 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2371 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0.5 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2372 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2373 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2374 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0.5 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2375 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2376 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -2 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2377 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -3 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2378 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -4 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2379 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.neg - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2380 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2381 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2382 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 3 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2383 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 2 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2384 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2385 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0.5 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2386 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2387 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2388 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0.5 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2389 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2390 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -2 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2391 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -3 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2392 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -4 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2393 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.neg - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2394 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2395 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2396 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2397 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2398 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2399 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2400 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2401 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2402 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2403 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2404 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2405 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2406 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2407 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2408 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2409 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 2 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2410 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2411 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -2 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2412 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -3 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2413 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0.5 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2414 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2415 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2416 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2417 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 3 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2418 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0.5 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2419 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -0.5 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2420 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -3 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2421 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 0.5 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2422 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1.5 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2423 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 2 - f64.const 0.25 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2424 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 3 - f64.const -0.125 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2425 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2426 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const inf - f64.neg - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2427 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2428 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2429 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const inf - f64.neg - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2430 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2431 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2432 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const inf - f64.neg - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2433 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2434 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2435 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2436 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.neg - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2437 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 3 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2438 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2439 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2440 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0.5 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2441 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2442 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2443 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -2 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2444 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2445 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2446 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2447 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 3 - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2448 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 2 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2449 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 1 - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2450 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 0.5 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2451 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -0.5 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2452 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2453 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -2 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2454 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2455 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2456 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const 1 - f64.const -2 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2457 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2458 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2467 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 2.134714122803416e-06 - f32.const 0.1436440795660019 - global.get $std/math/INEXACT - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2468 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2469 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2470 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 44909.33203125 - f32.const -0.05356409028172493 - global.get $std/math/INEXACT - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2471 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2472 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 1.1135177612304688 - f32.const 0.19122089445590973 - global.get $std/math/INEXACT - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2473 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2474 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.3769077658653259 - f32.const 0.337149053812027 - global.get $std/math/INEXACT - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2475 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2476 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2479 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2480 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 3 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2481 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 2 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2482 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2483 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0.5 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2484 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2485 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2486 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0.5 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2487 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2488 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -2 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2489 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -3 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2490 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -4 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2491 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2492 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2493 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2494 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 3 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2495 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 2 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2496 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2497 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0.5 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2498 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2499 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2500 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0.5 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2501 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2502 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -2 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2503 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -3 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2504 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -4 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2505 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2506 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2507 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2508 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2509 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2510 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2511 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2512 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2513 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2514 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2515 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2516 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2517 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2518 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2519 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2520 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2521 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 2 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2522 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2523 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -2 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2524 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -3 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2525 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2526 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2527 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2528 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2529 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 3 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2530 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0.5 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2531 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -0.5 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2532 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -3 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2533 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2534 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2535 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 2 - f32.const 0.25 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2536 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 3 - f32.const -0.125 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2537 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2538 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2539 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2540 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2541 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2542 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2543 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2544 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2545 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2546 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2547 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2548 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2549 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 3 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2550 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2551 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2552 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0.5 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2553 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2554 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2555 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -2 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2556 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2557 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2558 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2559 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 3 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2560 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 2 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2561 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 1 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2562 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 0.5 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2563 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -0.5 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2564 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2565 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -2 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2566 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2567 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2568 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const 1 - f32.const -2 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2569 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2570 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - call $~lib/bindings/Math/random - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom - block $break|0 - i32.const 0 - local.set $0 - loop $loop|0 - local.get $0 - f64.convert_i32_s - f64.const 1e6 - f64.lt - i32.eqz - br_if $break|0 - call $~lib/math/NativeMath.random - local.set $1 - local.get $1 - f64.const 0 - f64.ge - if (result i32) - local.get $1 - f64.const 1 - f64.lt - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2579 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 - end - unreachable - end - call $~lib/bindings/Math/random - i64.reinterpret_f64 - local.set $2 - local.get $2 - call $~lib/math/NativeMath.seedRandom - block $break|1 - i32.const 0 - local.set $0 - loop $loop|1 - local.get $0 - f64.convert_i32_s - f64.const 1e6 - f64.lt - i32.eqz - br_if $break|1 - call $~lib/math/NativeMathf.random - local.set $3 - local.get $3 - f32.const 0 - f32.ge - if (result i32) - local.get $3 - f32.const 1 - f32.lt - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2587 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|1 - end - unreachable - end - f64.const -8.06684839057968 - f64.const -8 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2601 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 4 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2602 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -8 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2603 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -7 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2604 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 9 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2605 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2606 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2607 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2608 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2609 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2610 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2613 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2614 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2615 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2616 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2617 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2618 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2619 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2620 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2621 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 2 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2622 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2623 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2624 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2625 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2626 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2627 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2628 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2629 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -8 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2638 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2639 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -8 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2640 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -7 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2641 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2642 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2643 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2644 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2645 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2646 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2647 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2650 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2651 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2652 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2653 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2654 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2655 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2656 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2657 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2658 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 2 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2659 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2660 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2661 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2662 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2663 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2664 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2665 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2666 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2677 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2678 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2679 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2680 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2681 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2682 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2683 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2684 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2685 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2693 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2694 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2695 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2696 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2697 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2698 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2699 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2700 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2701 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $1 - local.get $1 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2707 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $1 - local.get $1 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2708 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - local.set $1 - local.get $1 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $1 - local.get $1 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2709 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - local.set $1 - local.get $1 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $1 - local.get $1 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2710 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - local.set $1 - local.get $1 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $1 - local.get $1 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2711 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.neg - local.set $1 - local.get $1 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $1 - local.get $1 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2712 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - local.set $1 - local.get $1 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $1 - local.get $1 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2713 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - local.set $1 - local.get $1 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $1 - local.get $1 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2714 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $3 - local.get $3 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2720 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $3 - local.get $3 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2721 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $3 - local.get $3 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2722 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $3 - local.get $3 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2723 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $3 - local.get $3 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2724 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.neg - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $3 - local.get $3 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2725 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $3 - local.get $3 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2726 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $3 - local.get $3 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2727 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const 1.0044767307740567 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2738 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 4.345239849338305 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2739 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -0.09061141541648476 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2740 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -1.9641383050707404 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2741 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const -0.35572720174700656 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2742 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const 0.17067236731650248 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2743 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const -0.016443286217702822 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2744 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.792054511984896 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2745 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.615702673197924 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2746 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -0.0106815621160685 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2747 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2750 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2751 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2752 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2753 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2754 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2755 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2756 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2757 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2758 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2759 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2760 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2761 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2762 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2763 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2764 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2765 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2766 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2767 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2768 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2769 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2770 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2771 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2772 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2773 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2774 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2775 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2776 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2777 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2778 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.neg - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2779 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2780 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2781 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2782 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2783 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.neg - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2784 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2785 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2786 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2787 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2788 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2789 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2790 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2791 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2792 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2793 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2794 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2795 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2796 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2797 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const 2 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2798 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2799 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2800 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2801 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2802 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2803 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2804 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2805 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2806 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2807 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.neg - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2808 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.neg - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2809 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2810 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2811 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const 0.5 - f64.const -0.25 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2812 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const 0.5 - f64.const 0.25 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2813 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const -0.5 - f64.const -0.25 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2814 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const -0.5 - f64.const 0.25 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2815 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8e-323 - f64.const inf - f64.const 8e-323 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2816 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const 1.004476547241211 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2825 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 4.345239639282227 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2826 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -0.09061169624328613 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2827 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -1.9641380310058594 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2828 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const -0.3557271957397461 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2829 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const 0.17067205905914307 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2830 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const -0.016443386673927307 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2831 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.7920545339584351 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2832 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.6157026886940002 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2833 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -0.010681532323360443 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2834 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2837 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2838 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2839 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2840 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2841 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2842 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const 1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2843 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const 1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2844 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2845 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2846 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2847 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2848 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2849 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2850 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2851 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2852 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2853 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2854 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2855 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2856 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2857 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2858 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2859 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2860 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2861 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2862 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2863 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2864 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2865 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2866 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2867 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2868 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2869 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2870 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.neg - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2871 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2872 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2873 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2874 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2875 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2876 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2877 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2878 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2879 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2880 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2881 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2882 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2883 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2884 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2885 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2886 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2887 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2888 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2889 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2890 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2891 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2892 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2893 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2894 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.neg - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 2895 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.neg - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1089 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.862645149230957e-09 + f32.const 1 + f32.const 1.4551915228366852e-11 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1092 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.862645149230957e-09 + f32.const 1 + f32.const 1.4551915228366852e-11 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1093 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754943508222875e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1094 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754943508222875e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1095 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1096 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1097 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1098 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.2611686178923354e-44 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1099 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.938735877055719e-39 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1100 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1101 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754940705625946e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754942106924411e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1103 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.175494490952134e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1104 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754946310819804e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1105 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509880009953429e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1106 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1107 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509895424236536e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1108 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.70197740328915e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1109 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.450580596923828e-09 + f32.const 1 + f32.const 2.3283064365386963e-10 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1110 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.000244140625 + f32.const 1 + f32.const 0.25 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.00048828125 + f32.const 0.9999998807907104 + f32.const -3.973643103449831e-08 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1112 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.0009765625 + f32.const 0.9999995231628418 + f32.const -6.357828397085541e-07 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.802596928649634e-45 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.2611686178923354e-44 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1115 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.938735877055719e-39 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1116 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5.877471754111438e-39 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754940705625946e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754942106924411e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.175494490952134e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754946310819804e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1121 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509880009953429e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1122 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.350988701644575e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1123 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509895424236536e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1124 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -4.70197740328915e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1125 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.450580596923828e-09 + f32.const 1 + f32.const 2.3283064365386963e-10 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1126 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.000244140625 + f32.const 1 + f32.const 0.25 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1127 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.00048828125 + f32.const 0.9999998807907104 + f32.const -3.973643103449831e-08 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1128 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.0009765625 + f32.const 0.9999995231628418 + f32.const -6.357828397085541e-07 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1129 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 255.99993896484375 + f32.const -0.03985174745321274 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1132 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5033165 + f32.const 0.8471871614456177 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1133 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 421657440 + f32.const 0.6728929281234741 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1134 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2147483392 + f32.const 0.9610780477523804 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1135 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 68719476736 + f32.const 0.1694190502166748 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1136 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 549755813888 + f32.const 0.20735950767993927 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f32.MAX_VALUE + f32.const 0.8530210256576538 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1138 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -255.99993896484375 + f32.const -0.03985174745321274 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5033165 + f32.const 0.8471871614456177 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -421657440 + f32.const 0.6728929281234741 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2147483392 + f32.const 0.9610780477523804 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -68719476736 + f32.const 0.1694190502166748 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1143 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -549755813888 + f32.const 0.20735950767993927 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1144 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f32.MAX_VALUE + f32.neg + f32.const 0.8530210256576538 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1145 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 1593.5209938862329 + f64.const -0.38098856806755066 + global.get $std/math/INEXACT + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 38.56174928426729 + f64.const -0.2712278366088867 + global.get $std/math/INEXACT + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1157 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const 2182.630979595893 + f64.const 0.0817827582359314 + global.get $std/math/INEXACT + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1158 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 343.273849250879 + f64.const -0.429940402507782 + global.get $std/math/INEXACT + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1159 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 5291.779170005587 + f64.const -0.1592995822429657 + global.get $std/math/INEXACT + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1160 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 1.2272321957342842 + f64.const 0.23280741274356842 + global.get $std/math/INEXACT + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1161 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const 1.083808541871197 + f64.const -0.3960916996002197 + global.get $std/math/INEXACT + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1162 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 1.1619803583175077 + f64.const 0.37748390436172485 + global.get $std/math/INEXACT + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1163 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1.3149236876276706 + f64.const 0.43587008118629456 + global.get $std/math/INEXACT + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1164 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const 1.2393413245934533 + f64.const 0.10201606154441833 + global.get $std/math/INEXACT + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1165 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2896 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1168 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1169 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2897 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1170 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1171 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2898 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1172 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 1593.5216064453125 + f32.const 0.26242581009864807 + global.get $std/math/INEXACT + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1181 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 38.56174087524414 + f32.const -0.08168885856866837 + global.get $std/math/INEXACT + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1182 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const 2182.631103515625 + f32.const -0.02331414446234703 + global.get $std/math/INEXACT + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1183 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 343.2738037109375 + f32.const 0.20081493258476257 + global.get $std/math/INEXACT + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1184 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 5291.78173828125 + f32.const 0.36286723613739014 + global.get $std/math/INEXACT + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1185 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 1.2272322177886963 + f32.const 0.32777416706085205 + global.get $std/math/INEXACT + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1186 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 1.0838085412979126 + f32.const -0.039848703891038895 + global.get $std/math/INEXACT + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1187 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 1.161980390548706 + f32.const 0.15274477005004883 + global.get $std/math/INEXACT + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1188 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1.314923644065857 + f32.const -0.2387111485004425 + global.get $std/math/INEXACT + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 1.2393412590026855 + f32.const -0.45791932940483093 + global.get $std/math/INEXACT + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1190 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const 0.5 - f32.const -0.25 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2899 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const 0.5 - f32.const 0.25 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2900 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1196 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const -0.5 - f32.const -0.25 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1197 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 3.137706068161745e-04 + f64.const -0.2599197328090668 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1209 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 77.11053017112141 + f64.const -0.02792675793170929 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1210 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const 2.290813384916323e-04 + f64.const -0.24974334239959717 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1211 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 1.4565661260931588e-03 + f64.const -0.4816822409629822 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1212 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 10583.558245524993 + f64.const 0.17696762084960938 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1213 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 1.9386384525571998 + f64.const -0.4964246451854706 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1214 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const 0.6659078892838025 + f64.const -0.10608318448066711 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1215 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 1.7537559518626311 + f64.const -0.39162111282348633 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1216 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 2.1687528885129246 + f64.const -0.2996125817298889 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1217 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const 0.5072437089402843 + f64.const 0.47261738777160645 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1218 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2901 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1221 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const -0.5 - f32.const 0.25 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1222 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 2.718281828459045 + f64.const -0.3255307376384735 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1223 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0.36787944117144233 + f64.const 0.22389651834964752 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1224 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2902 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1225 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const inf - f32.const 5.877471754111438e-39 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1226 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2903 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1227 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0397214889526365 + f64.const 2.828429155876411 + f64.const 0.18803080916404724 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1228 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0397214889526365 + f64.const 0.35355313670217847 + f64.const 0.2527272403240204 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1229 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0397210121154785 + f64.const 2.8284278071766122 + f64.const -0.4184139370918274 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1230 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0397214889526367 + f64.const 2.8284291558764116 + f64.const -0.22618377208709717 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1231 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MIN_VALUE + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1234 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MIN_VALUE + f64.neg + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1235 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4649454530587146735 + f64.reinterpret_i64 + i64.const 9218868437227405098 + f64.reinterpret_i64 + i64.const -4631092234375135232 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1237 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4649454530587146736 + f64.reinterpret_i64 + f64.const inf + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/OVERFLOW + i32.or + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1244 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -4573606559926636463 + f64.reinterpret_i64 + global.get $~lib/builtins/f64.MIN_VALUE + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1245 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -4573606559926636462 + f64.reinterpret_i64 + f64.const 0 + i64.const -4620693217682128896 + f64.reinterpret_i64 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1252 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -4573929700241785646 + f64.reinterpret_i64 + i64.const 4503599627370620 + f64.reinterpret_i64 + i64.const 4598386411140284416 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1259 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -4573929700241785645 + f64.reinterpret_i64 + i64.const 4503599627370108 + f64.reinterpret_i64 + i64.const 4503599627370108 + f64.reinterpret_i64 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1266 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4602685064124656555 + f64.reinterpret_i64 + i64.const 4610109149550689567 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1273 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4603836184166978885 + f64.reinterpret_i64 + i64.const 4611122094629841017 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1280 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4605718951180848880 + f64.reinterpret_i64 + i64.const 4612385506662149744 + f64.reinterpret_i64 + i64.const -4620693217682128896 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4605835761386121865 + f64.reinterpret_i64 + i64.const 4612453422537445296 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1293 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4610006203169397430 + f64.reinterpret_i64 + i64.const 4617415291835269761 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1299 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4610219797808568955 + f64.reinterpret_i64 + i64.const 4617693563882825047 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1305 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4619182163989041060 + f64.reinterpret_i64 + i64.const 4650062712266849886 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1312 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4622394943780502425 + f64.reinterpret_i64 + i64.const 4678652243157503230 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1319 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4622613550143616215 + f64.reinterpret_i64 + i64.const 4680943662238555301 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1326 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4622829325869063755 + f64.reinterpret_i64 + i64.const 4683793372338329074 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1333 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4645970351893354075 + f64.reinterpret_i64 + i64.const 7289148599681560140 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1340 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4647695036380671130 + f64.reinterpret_i64 + i64.const 7926454981994343700 + f64.reinterpret_i64 + i64.const -4620693217682128896 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1347 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -4819432143425896336 + f64.reinterpret_i64 + i64.const 4607182418800017169 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1354 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -4819256221565452171 + f64.reinterpret_i64 + i64.const 4607182418800017163 + f64.reinterpret_i64 + i64.const -4620693217682128896 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1361 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 3.1377049162983894e-04 + f32.const -0.030193336308002472 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1375 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 77.11051177978516 + f32.const -0.2875460684299469 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1376 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const 2.2908132814336568e-04 + f32.const 0.2237040400505066 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1377 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 1.4565663877874613e-03 + f32.const 0.36469703912734985 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1378 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 10583.5634765625 + f32.const 0.45962104201316833 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1379 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 1.93863844871521 + f32.const 0.3568260967731476 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1380 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 0.6659078598022461 + f32.const -0.38294991850852966 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1381 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 1.753756046295166 + f32.const 0.44355490803718567 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1382 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 2.168752908706665 + f32.const 0.24562469124794006 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1383 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 0.5072436928749084 + f32.const -0.3974292278289795 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1384 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -0.977429211139679 - f32.const 0.0801057294011116 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1387 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2941 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1388 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 2.7182817459106445 + f32.const -0.3462330996990204 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1389 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0.3678794503211975 + f32.const 0.3070148527622223 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1390 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -0.933354377746582 - f32.const 0.34475627541542053 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1391 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2942 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1392 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -0.8640924692153931 - f32.const -0.468659907579422 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1393 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 88.72283172607422 + f32.const 340279851902147610656242e15 + f32.const -0.09067153930664062 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1394 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 88.72283935546875 + f32.const inf + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/OVERFLOW + i32.or + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1395 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -103.97207641601562 + f32.const 1.401298464324817e-45 + f32.const 0.49999967217445374 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1396 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -103.97208404541016 + f32.const 0 + f32.const -0.49999651312828064 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1397 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.3465735614299774 + f32.const 1.4142135381698608 + f32.const 0.13922421634197235 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1398 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.3465735912322998 + f32.const 1.4142135381698608 + f32.const -0.21432916820049286 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1399 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.3465736210346222 + f32.const 1.4142136573791504 + f32.const 0.43211743235588074 + global.get $std/math/INEXACT + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1400 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -0.9996862293931839 + f64.const -0.2760058343410492 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1412 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 76.11053017112141 + f64.const -0.02792675793170929 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1413 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -0.9997709186615084 + f64.const 0.10052496194839478 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1414 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -0.9985434338739069 + f64.const -0.27437829971313477 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1415 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 10582.558245524993 + f64.const 0.17696762084960938 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1416 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.9386384525571999 + f64.const 0.007150684483349323 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1417 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.3340921107161975 + f64.const -0.21216636896133423 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1418 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.7537559518626312 + f64.const 0.21675777435302734 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1419 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1.1687528885129248 + f64.const 0.4007748067378998 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1420 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.4927562910597158 + f64.const -0.05476519837975502 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1421 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2943 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1424 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.24593880772590637 - f32.const -0.3955177664756775 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1425 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1.7182818284590453 + f64.const 0.348938524723053 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1426 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0.6321205588285577 + f64.const 0.11194825917482376 + global.get $std/math/INEXACT + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1427 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2944 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1428 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 0.1570674479007721 - f32.const -0.24006809294223785 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1429 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2945 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1430 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507201e-308 + f64.const 2.225073858507201e-308 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1431 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.225073858507201e-308 + f64.const -2.225073858507201e-308 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1432 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -0.9996862411499023 + f32.const -0.19532723724842072 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1441 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 76.11051177978516 + f32.const -0.2875460684299469 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1442 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -0.9997709393501282 + f32.const -0.34686920046806335 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1443 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.9985434412956238 + f32.const -0.1281939446926117 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1444 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 10582.5634765625 + f32.const 0.45962104201316833 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1445 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.9386383891105652 + f32.const -0.28634780645370483 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1446 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.3340921103954315 + f32.const 0.23410017788410187 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1447 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.7537559866905212 + f32.const -0.11289017647504807 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1448 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1.168752908706665 + f32.const 0.4912493824958801 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1449 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.49275627732276917 + f32.const 0.20514154434204102 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1450 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.6146844625473022 - f32.const -0.07707194238901138 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1453 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2946 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1454 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1.718281865119934 + f32.const 0.3075338304042816 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1455 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0.6321205496788025 + f32.const 0.15350742638111115 + global.get $std/math/INEXACT + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1456 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.39549243450164795 - f32.const -0.11720617115497589 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1457 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2947 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1458 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5326763391494751 - f32.const -0.16059114038944244 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1459 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -9 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1471 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 4 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1472 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -9 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1473 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -7 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1474 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 9 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1475 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1476 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1477 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1478 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1479 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1480 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2948 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1483 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.699110209941864 - f32.const 0.26384368538856506 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1484 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2949 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1485 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.627831220626831 - f32.const 0.005127954296767712 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1486 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2950 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1487 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1488 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2953 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1489 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1490 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1491 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1492 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -2 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1493 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1494 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1495 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1496 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1497 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -9 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1506 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 4 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1507 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -9 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1508 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -7 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1509 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 9 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1510 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1511 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1512 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1513 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1514 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1515 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1518 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2954 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1519 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1520 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2955 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1521 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1522 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2956 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1523 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1524 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1525 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1526 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1527 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -2 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1528 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1529 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1530 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1531 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1532 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const 9.25452742288464 + f64.const -0.31188681721687317 + global.get $std/math/INEXACT + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1544 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 9.893305808328252 + f64.const 0.4593673348426819 + global.get $std/math/INEXACT + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1545 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const 8.825301797432132 + f64.const -0.1701754331588745 + global.get $std/math/INEXACT + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1546 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const 7.970265885519092 + f64.const -0.3176782727241516 + global.get $std/math/INEXACT + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1547 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 10.441639651824575 + f64.const -0.2693633437156677 + global.get $std/math/INEXACT + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1548 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const 6.483936052542593 + f64.const 0.35618898272514343 + global.get $std/math/INEXACT + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1549 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 7.859063309581766 + f64.const 0.08044655621051788 + global.get $std/math/INEXACT + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1550 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const 7.717156764899584 + f64.const 0.05178084969520569 + global.get $std/math/INEXACT + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1551 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 2.104006123874314 + f64.const -0.0918039008975029 + global.get $std/math/INEXACT + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1552 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const 0.5596880129062913 + f64.const 0.1383407711982727 + global.get $std/math/INEXACT + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1553 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3 + f64.const 4 + f64.const 5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2957 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1556 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -3 + f64.const 4 + f64.const 5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.862645149230957e-09 - f32.const 1.862645149230957e-09 - f32.const 4.850638554015907e-12 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1557 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4 + f64.const 3 + f64.const 5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2960 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1558 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4 + f64.const -3 + f64.const 5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.862645149230957e-09 - f32.const -1.862645149230957e-09 - f32.const -4.850638554015907e-12 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1559 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -3 + f64.const -4 + f64.const 5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2961 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1560 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const 0 + f64.const 1797693134862315708145274e284 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754943508222875e-38 - f32.const 1.1754943508222875e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1561 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const -0 + f64.const 1797693134862315708145274e284 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2962 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1562 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const 0 + f64.const 5e-324 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754943508222875e-38 - f32.const -1.1754943508222875e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1563 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const -0 + f64.const 5e-324 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2963 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1564 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 1.401298464324817e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1565 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2964 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1566 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const -1.401298464324817e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1567 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2965 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1568 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 1 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.175494490952134e-38 - f32.const 1.175494490952134e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1569 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2966 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1570 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754946310819804e-38 - f32.const 1.1754946310819804e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1571 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2967 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1572 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509880009953429e-38 - f32.const 2.3509880009953429e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1573 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2968 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1574 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const 9.254528045654297 + f32.const 0.2735958993434906 + global.get $std/math/INEXACT + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1583 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 9.893305778503418 + f32.const 0.4530770778656006 + global.get $std/math/INEXACT + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1584 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const 8.825302124023438 + f32.const 0.30755728483200073 + global.get $std/math/INEXACT + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1585 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const 7.970265865325928 + f32.const 0.06785223633050919 + global.get $std/math/INEXACT + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1586 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 10.44163990020752 + f32.const -0.26776307821273804 + global.get $std/math/INEXACT + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1587 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const 6.483936309814453 + f32.const 0.48381292819976807 + global.get $std/math/INEXACT + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1588 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 7.859063148498535 + f32.const 0.07413065433502197 + global.get $std/math/INEXACT + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1589 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const 7.717156887054443 + f32.const 0.4940592646598816 + global.get $std/math/INEXACT + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1590 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 2.104006052017212 + f32.const -0.287089467048645 + global.get $std/math/INEXACT + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1591 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const 0.5596880316734314 + f32.const 0.4191940724849701 + global.get $std/math/INEXACT + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1592 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3 + f32.const 4 + f32.const 5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 2.350988701644575e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1595 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -3 + f32.const 4 + f32.const 5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2969 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1596 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4 + f32.const 3 + f32.const 5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509895424236536e-38 - f32.const 2.3509895424236536e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1597 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4 + f32.const -3 + f32.const 5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2970 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1598 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -3 + f32.const -4 + f32.const 5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.70197740328915e-38 - f32.const 4.70197740328915e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1599 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + f32.const 0 + f32.const 3402823466385288598117041e14 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2971 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1600 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + f32.const -0 + f32.const 3402823466385288598117041e14 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1175870895385742e-08 - f32.const 1.1175870895385742e-08 - f32.const 2.6193447411060333e-10 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1601 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 0 + f32.const 1.401298464324817e-45 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2972 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1602 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const -0 + f32.const 1.401298464324817e-45 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.4901161193847656e-08 - f32.const 1.4901161193847656e-08 - f32.const 3.1044086745701804e-10 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1603 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2973 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1604 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.000244140625 - f32.const 0.000244140625 - f32.const 0.0833333358168602 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1605 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2974 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1606 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.0003662109375 - f32.const 0.0003662109375 - f32.const 0.28125 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1607 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 1 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2975 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1608 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.neg + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.175494490952134e-38 - f32.const -1.175494490952134e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1609 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2976 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1610 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const inf + f32.neg + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754946310819804e-38 - f32.const -1.1754946310819804e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1611 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2977 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1612 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509880009953429e-38 - f32.const -2.3509880009953429e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1613 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1625 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 1.4690809584224322 + f64.const -0.3412533402442932 + global.get $std/math/INEXACT + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1626 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1627 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1628 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 2.2264658498795615 + f64.const 0.3638114035129547 + global.get $std/math/INEXACT + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1629 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const -0.4125110252365137 + f64.const -0.29108747839927673 + global.get $std/math/INEXACT + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1630 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1631 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const -0.5766810183195862 + f64.const -0.10983199626207352 + global.get $std/math/INEXACT + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1632 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const -0.2559866591263865 + f64.const -0.057990044355392456 + global.get $std/math/INEXACT + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1633 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1634 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1637 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1638 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1639 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2978 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1640 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1641 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.350988701644575e-38 - f32.const -2.350988701644575e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1642 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1643 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2979 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1644 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1653 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1654 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1655 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509895424236536e-38 - f32.const -2.3509895424236536e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1656 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1657 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2980 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1658 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1659 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -4.70197740328915e-38 - f32.const -4.70197740328915e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1660 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1663 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1664 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1665 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2981 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1666 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1667 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1175870895385742e-08 - f32.const -1.1175870895385742e-08 - f32.const -2.6193447411060333e-10 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1668 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1669 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2982 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1670 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1682 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 0.6380137537120029 + f64.const -0.2088824063539505 + global.get $std/math/INEXACT + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1683 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1684 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1685 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 0.9669418327487274 + f64.const -0.06120431795716286 + global.get $std/math/INEXACT + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1686 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const -0.17915126198447093 + f64.const 0.39090874791145325 + global.get $std/math/INEXACT + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1687 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1688 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const -0.25044938407454437 + f64.const -0.3046841621398926 + global.get $std/math/INEXACT + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1689 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const -0.11117359349943837 + f64.const -0.31503361463546753 + global.get $std/math/INEXACT + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1690 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1691 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1694 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1695 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1696 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.4901161193847656e-08 - f32.const -1.4901161193847656e-08 - f32.const -3.1044086745701804e-10 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1697 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1698 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2983 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1699 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1700 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.000244140625 - f32.const -0.000244140625 - f32.const -0.0833333358168602 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1701 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1710 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 0.6380137205123901 + f32.const -0.20476758480072021 + global.get $std/math/INEXACT + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1711 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1712 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1713 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 0.9669418334960938 + f32.const -0.34273025393486023 + global.get $std/math/INEXACT + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1714 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const -0.1791512817144394 + f32.const -0.27078554034233093 + global.get $std/math/INEXACT + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1715 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1716 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const -0.25044935941696167 + f32.const 0.2126826047897339 + global.get $std/math/INEXACT + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1717 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const -0.1111735999584198 + f32.const 0.46515095233917236 + global.get $std/math/INEXACT + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1718 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1719 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1722 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1723 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1724 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2984 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1725 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1726 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.0003662109375 - f32.const -0.0003662109375 - f32.const -0.28125 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1727 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1728 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2985 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1729 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1741 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 1.6762064170601734 + f64.const 0.46188199520111084 + global.get $std/math/INEXACT + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1742 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1743 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1744 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 2.3289404168523826 + f64.const -0.411114901304245 + global.get $std/math/INEXACT + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1745 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.5080132114992477 + f64.const -0.29306045174598694 + global.get $std/math/INEXACT + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1746 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.5218931811663979 + f64.const -0.25825726985931396 + global.get $std/math/INEXACT + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1747 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.4458132279488102 + f64.const -0.13274887204170227 + global.get $std/math/INEXACT + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1748 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.5733227294648414 + f64.const 0.02716583013534546 + global.get $std/math/INEXACT + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1749 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -1.1355782978128564 + f64.const 0.2713092863559723 + global.get $std/math/INEXACT + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1750 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 2.802596928649634e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1753 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2986 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1754 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -7.888609052210118e-31 + f64.const 1.7763568394002505e-15 + global.get $std/math/INEXACT + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1755 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0.6931471805599453 + f64.const -0.2088811695575714 + global.get $std/math/INEXACT + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1756 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1757 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.2611686178923354e-44 - f32.const 1.2611686178923354e-44 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1758 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1759 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2987 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1760 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1769 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 1.676206350326538 + f32.const -0.23014859855175018 + global.get $std/math/INEXACT + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1770 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1771 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1772 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 2.3289403915405273 + f32.const -0.29075589776039124 + global.get $std/math/INEXACT + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1773 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.5080131888389587 + f32.const -0.1386766880750656 + global.get $std/math/INEXACT + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1774 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.5218932032585144 + f32.const -0.08804433047771454 + global.get $std/math/INEXACT + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1775 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.44581323862075806 + f32.const -0.15101368725299835 + global.get $std/math/INEXACT + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1776 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.5733227133750916 + f32.const -0.10264533013105392 + global.get $std/math/INEXACT + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1777 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -1.1355782747268677 + f32.const -0.19879481196403503 + global.get $std/math/INEXACT + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1778 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.938735877055719e-39 - f32.const 2.938735877055719e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1781 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2988 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1782 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -7.888609052210118e-31 + f32.const 3.308722450212111e-24 + global.get $std/math/INEXACT + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1783 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0.6931471824645996 + f32.const 0.031954795122146606 + global.get $std/math/INEXACT + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1784 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1785 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const 5.877471754111438e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1786 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1787 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2989 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1788 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754942106924411e-38 + f32.const -1.1754942106924411e-38 + f32.const 4.930380657631324e-32 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1789 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1801 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 2.1194358133804485 + f64.const -0.10164877772331238 + global.get $std/math/INEXACT + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1802 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1803 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1804 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 3.2121112403298744 + f64.const -0.15739446878433228 + global.get $std/math/INEXACT + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1805 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const -0.5951276104207402 + f64.const 0.3321485221385956 + global.get $std/math/INEXACT + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1806 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1807 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const -0.8319748453044644 + f64.const 0.057555437088012695 + global.get $std/math/INEXACT + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1808 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const -0.36931068365537134 + f64.const -0.19838279485702515 + global.get $std/math/INEXACT + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1809 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1810 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1813 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1814 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1815 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754940705625946e-38 - f32.const 1.1754940705625946e-38 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1816 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1817 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2990 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1818 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1819 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754942106924411e-38 - f32.const 1.1754942106924411e-38 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1820 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1829 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.1194357872009277 + f32.const 0.18271538615226746 + global.get $std/math/INEXACT + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1830 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1831 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1832 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 3.212111234664917 + f32.const -0.3188050389289856 + global.get $std/math/INEXACT + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1833 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const -0.5951276421546936 + f32.const 0.34231460094451904 + global.get $std/math/INEXACT + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1834 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1835 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const -0.8319748044013977 + f32.const -0.33473604917526245 + global.get $std/math/INEXACT + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1836 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const -0.3693107068538666 + f32.const 0.3278401792049408 + global.get $std/math/INEXACT + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1837 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1838 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1841 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1842 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1843 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2991 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1844 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1845 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.802596928649634e-45 - f32.const -2.802596928649634e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1846 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1847 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 2992 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1848 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const 4.535662560676869 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.2611686178923354e-44 - f32.const -1.2611686178923354e-44 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1860 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 4.345239849338305 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2993 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1861 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -2.763607337379588 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.938735877055719e-39 - f32.const -2.938735877055719e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1862 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const 4.567535276842744 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2994 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1863 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 9.267056966972586 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5.877471754111438e-39 - f32.const -5.877471754111438e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1864 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const 0.6620717923376739 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2995 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1865 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 7.858890253041697 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754940705625946e-38 - f32.const -1.1754940705625946e-38 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1866 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const 7.67640268511754 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2996 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1867 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 2.0119025790324803 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754942106924411e-38 - f32.const -1.1754942106924411e-38 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1868 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const 0.03223983060263804 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 2997 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1869 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 255.99993896484375 - f32.const -0.9992055892944336 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1872 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3000 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1873 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5033165 - f32.const 0.5312945246696472 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1874 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3001 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1875 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 421657440 - f32.const -0.7397398948669434 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1876 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3002 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1877 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2147483392 - f32.const 0.2762770354747772 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1878 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3003 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1879 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 68719476736 - f32.const 0.9855440855026245 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1880 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3004 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1881 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 549755813888 - f32.const -0.9782648086547852 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1882 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -1 + f64.const 0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3005 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1883 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const -0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f32.MAX_VALUE - f32.const -0.5218765139579773 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1884 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3006 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1885 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -255.99993896484375 - f32.const 0.9992055892944336 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1886 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3007 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1887 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5033165 - f32.const -0.5312945246696472 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1888 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3008 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1889 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -421657440 - f32.const 0.7397398948669434 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1890 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3009 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1891 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2147483392 - f32.const -0.2762770354747772 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1892 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3010 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1893 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -68719476736 - f32.const -0.9855440855026245 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1894 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3011 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1895 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -549755813888 - f32.const 0.9782648086547852 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1896 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3012 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1897 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.neg + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f32.MAX_VALUE - f32.neg - f32.const 0.5218765139579773 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_sinf - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1898 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3013 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1899 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -1593.5206801156262 - f64.const -0.2138727605342865 - global.get $std/math/INEXACT - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1900 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3025 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1901 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 38.54878088685412 - f64.const 0.21537430584430695 - global.get $std/math/INEXACT - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1902 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3026 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1903 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2182.6307505145546 - f64.const 0.16213826835155487 - global.get $std/math/INEXACT - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1904 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3027 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1905 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -343.2723926847529 - f64.const 0.20479513704776764 - global.get $std/math/INEXACT - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1906 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3028 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1907 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 5291.7790755194055 - f64.const -0.48676517605781555 - global.get $std/math/INEXACT - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1908 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3029 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1909 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.7114062568229157 - f64.const -0.4584641456604004 - global.get $std/math/INEXACT - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1910 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3030 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1911 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 2 + f64.const 2 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.41790065258739445 - f64.const 0.37220045924186707 - global.get $std/math/INEXACT - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1912 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -0.5 + f64.const -0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3031 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1913 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5917755935451237 - f64.const 0.46178996562957764 - global.get $std/math/INEXACT - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1914 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3032 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1915 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.8538292008852542 - f64.const -0.07019051909446716 - global.get $std/math/INEXACT - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1916 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3033 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1917 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.732097615653169 - f64.const 0.26858529448509216 - global.get $std/math/INEXACT - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1918 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3034 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1919 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1920 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3037 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1921 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.neg + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1922 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.neg + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3038 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1923 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1924 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3039 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1925 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const 0.5 + f64.const 1.75 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1926 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const 0.5 + f64.const 0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3040 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1927 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const -0.5 + f64.const 1.75 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_sinh - i32.eqz - if + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1928 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const -0.5 + f64.const -0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3041 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1929 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const 4.535662651062012 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -1593.521240234375 - f32.const 0.1671663224697113 - global.get $std/math/INEXACT - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1938 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 4.345239639282227 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3050 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1939 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -2.7636072635650635 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 38.548770904541016 - f32.const -0.49340328574180603 - global.get $std/math/INEXACT - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1940 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const 4.567535400390625 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3051 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 9.267057418823242 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2182.630859375 - f32.const 0.0849970355629921 - global.get $std/math/INEXACT - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const 0.6620717644691467 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3052 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 7.858890056610107 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -343.2723388671875 - f32.const 0.0704190656542778 - global.get $std/math/INEXACT - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1944 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const 7.676402568817139 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3053 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1945 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 2.0119025707244873 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 5291.78125 - f32.const -0.44362515211105347 - global.get $std/math/INEXACT - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const 0.03223983198404312 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3054 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1947 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7114062309265137 - f32.const 0.058103885501623154 - global.get $std/math/INEXACT - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1950 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3055 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1951 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.4179006516933441 - f32.const 0.39349499344825745 - global.get $std/math/INEXACT - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1952 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3056 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1953 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5917755961418152 - f32.const -0.4183797240257263 - global.get $std/math/INEXACT - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1954 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3057 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1955 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.8538292050361633 - f32.const 0.45992106199264526 - global.get $std/math/INEXACT - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1956 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3058 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1957 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.7320976257324219 - f32.const -0.48159059882164 - global.get $std/math/INEXACT - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1958 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3059 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1959 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1960 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const -1 + f32.const 0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3062 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1961 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const -0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1962 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -1 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3063 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1963 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1964 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3064 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1965 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1966 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3065 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1967 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_sinhf - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1968 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3066 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1969 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1970 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3078 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1971 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.0845238903256313 - f64.const -0.07180261611938477 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1972 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3079 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1973 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1974 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3080 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1975 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.neg + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1976 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3081 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1977 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 3.0441841217266385 - f64.const -0.01546262577176094 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1978 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3082 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1979 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.8136251582267503 - f64.const -0.08618157356977463 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1980 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3083 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1981 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1982 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3084 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1983 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.7495063350104014 - f64.const -0.0981396734714508 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1984 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3085 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1985 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.879859248170583 - f64.const -0.37124353647232056 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1986 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3086 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1987 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1988 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3087 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1989 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 2 + f32.const 2 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1990 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -0.5 + f32.const -0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3090 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1991 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1992 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3091 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1993 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1994 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3092 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1995 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1996 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3093 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1997 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1998 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3094 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1999 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.neg + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2000 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.neg + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3095 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2001 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.neg + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2002 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3096 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2003 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const 0.5 + f32.const 1.75 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2004 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const 0.5 + f32.const 0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3097 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2005 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const -0.5 + f32.const 1.75 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-323 - f64.const 3.1434555694052576e-162 - f64.const 0.43537619709968567 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2006 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const -0.5 + f32.const -0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3098 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2007 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const -8.06684839057968 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5e-323 - f64.const 3.849931087076416e-162 - f64.const -0.45194002985954285 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2019 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const -8.88799136300345 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3099 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2020 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -8.38143342755525 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const 2.2227587494850775e-162 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2021 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const -6.531673581913484 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3100 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2022 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 4.811392084359796 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5e-324 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2023 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const -6.450045556060236 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3101 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2024 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 0.05215452675006225 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999999999999999 - f64.const 0.9999999999999999 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2025 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.792054511984896 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3102 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2026 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.615702673197924 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.9999999999999998 - f64.const 1.414213562373095 - f64.const -0.21107041835784912 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2027 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -0.5587586823609152 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3103 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2028 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000000000000002 - f64.const 1 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2031 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3104 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2032 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.0000000000000004 - f64.const 1.4142135623730951 - f64.const -0.27173060178756714 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2033 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1 + f64.const -0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3105 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2034 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000000000000002 - f64.const 1 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2035 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3106 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2036 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999999999999999 - f64.const 0.9999999999999999 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2037 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 1 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3107 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2038 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2039 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3108 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2040 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const 1340780792994259561100831e130 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2041 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3109 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2042 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 179769313486231490980915e285 - f64.const 134078079299425926338769e131 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2043 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3110 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2044 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862314111473026e284 - f64.const 1340780792994258965674548e130 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2045 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3111 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2046 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -1 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862313313136902e284 - f64.const 1340780792994258667961407e130 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2047 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3112 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2048 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862312514800778e284 - f64.const 1340780792994258370248265e130 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2049 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3113 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2050 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862311716464655e284 - f64.const 1340780792994258072535124e130 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2051 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3114 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2052 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862310918128531e284 - f64.const 1340780792994257774821982e130 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2053 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3115 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2054 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862310119792407e284 - f64.const 1340780792994257477108841e130 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2055 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3116 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2056 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862309321456283e284 - f64.const 1340780792994257179395699e130 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2057 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3117 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2058 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862308523120159e284 - f64.const 1340780792994256881682558e130 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2059 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3118 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2060 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862307724784036e284 - f64.const 1340780792994256583969417e130 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2061 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 0 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3119 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2062 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507203e-308 - f64.const 1.4916681462400417e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2063 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3120 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2064 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507205e-308 - f64.const 1.4916681462400423e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2065 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -0 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3121 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2066 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507207e-308 - f64.const 1.491668146240043e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2067 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const 2 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3122 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2068 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const -0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507209e-308 - f64.const 1.4916681462400437e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2069 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3123 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2070 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 2 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507211e-308 - f64.const 1.4916681462400443e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2071 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -0.5 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3124 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2072 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072127e-308 - f64.const 1.491668146240045e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2073 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3125 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2074 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072147e-308 - f64.const 1.4916681462400457e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2075 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3126 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2076 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072167e-308 - f64.const 1.4916681462400463e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2077 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3127 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2078 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072187e-308 - f64.const 1.491668146240047e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2079 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3128 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2080 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072207e-308 - f64.const 1.4916681462400476e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2081 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3129 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2082 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072226e-308 - f64.const 1.4916681462400483e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2083 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3130 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2084 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const 0.5 + f64.const 0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072246e-308 - f64.const 1.491668146240049e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2085 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const 0.5 + f64.const -1.75 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3131 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2086 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const -0.5 + f64.const -0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072266e-308 - f64.const 1.4916681462400496e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2087 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const -0.5 + f64.const -1.75 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3132 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2088 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const -8.066848754882812 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072286e-308 - f64.const 1.4916681462400503e-154 - f64.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2097 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const -8.887990951538086 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3133 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2098 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -8.381433486938477 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 92.35130391890645 - f64.const 9.609958580499006 - f64.const 0.4998137056827545 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2099 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -6.531673431396484 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3134 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2100 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 4.811392307281494 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 93.3599596388916 - f64.const 9.662295774757238 - f64.const -0.49979978799819946 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2101 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const -6.450045585632324 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3135 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 0.052154526114463806 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 95.42049628886124 - f64.const 9.76834153215689 - f64.const -0.49997270107269287 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2103 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.7920545339584351 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3136 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2104 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.6157026886940002 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 95.87916941885449 - f64.const 9.791790919890728 - f64.const 0.4998766779899597 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2105 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -0.5587586760520935 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3137 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2106 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 96.84804174884022 - f64.const 9.841140266698785 - f64.const 0.499801903963089 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2109 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3138 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2110 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 97.43639050883155 - f64.const 9.87098731175517 - f64.const 0.4997696280479431 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1 + f32.const -0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3139 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2112 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 97.50957979883047 - f64.const 9.874693909120955 - f64.const 0.49999818205833435 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3140 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 97.80496893882612 - f64.const 9.88963947466368 - f64.const -0.4999580681324005 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2115 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 1 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3141 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2116 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 98.2751822888192 - f64.const 9.913383997849534 - f64.const 0.49979931116104126 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3142 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 99.47293564880155 - f64.const 9.973611966023219 - f64.const -0.4999540448188782 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3143 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 100.57047130878539 - f64.const 10.028483001370914 - f64.const -0.49996453523635864 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2121 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3144 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2122 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 100.60954608878481 - f64.const 10.030431002144665 - f64.const 0.49975672364234924 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2123 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3145 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2124 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -1 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 100.67909109878379 - f64.const 10.033897104255344 - f64.const -0.4997771382331848 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2125 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3146 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2126 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 101.12268095877725 - f64.const 10.055977374615422 - f64.const 0.49988678097724915 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2127 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3147 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2128 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 101.3027691287746 - f64.const 10.064927676281366 - f64.const 0.4999105632305145 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2129 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3148 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2130 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.45932313565507e-307 - f64.const 4.9591563149945874e-154 - f64.const -0.4998999834060669 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2131 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3149 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2132 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.610957305180409e-307 - f64.const 7.490632353266584e-154 - f64.const -0.4999343752861023 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2133 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3150 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2134 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.8073887977408524e-307 - f64.const 7.62062254526548e-154 - f64.const -0.49989569187164307 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2135 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3151 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2136 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.026137080471427e-307 - f64.const 8.382205605013174e-154 - f64.const 0.49980640411376953 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3152 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2138 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8.438697769194972e-307 - f64.const 9.186238495268328e-154 - f64.const -0.4999065697193146 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 0 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3153 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1607792515836795e-306 - f64.const 1.0773946591586944e-153 - f64.const -0.49997684359550476 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3154 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.2827413827423193e-306 - f64.const 1.1325817333606962e-153 - f64.const -0.4999513030052185 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2143 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -0 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3155 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2144 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.7116604596087457e-306 - f64.const 1.3083044216117078e-153 - f64.const -0.49986395239830017 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2145 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const 2 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3156 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2146 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const -0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.038173251686994e-306 - f64.const 1.4276460526639628e-153 - f64.const 0.4998403787612915 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2147 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3157 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2148 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 2 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.171572060856931e-306 - f64.const 1.4736254818836879e-153 - f64.const 0.4999290406703949 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2149 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -0.5 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3158 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2150 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.4681399631804094e-306 - f64.const 1.5710314965589996e-153 - f64.const 0.49989044666290283 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2151 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3159 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2152 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.5175533964200588e-306 - f64.const 1.5866799918131124e-153 - f64.const -0.4997701048851013 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2153 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3160 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2154 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.6461505468829625e-306 - f64.const 1.6266992797941982e-153 - f64.const 0.4998672902584076 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2155 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3161 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.8167076367720413e-306 - f64.const 1.9536395872248397e-153 - f64.const 0.49983471632003784 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2157 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3162 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2158 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.5743220778562766e-306 - f64.const 2.1387664851161936e-153 - f64.const 0.49985939264297485 - global.get $std/math/INEXACT - call $std/math/test_sqrt - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2159 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3163 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2160 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2161 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3172 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2162 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const 0.5 + f32.const 0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.084523916244507 - f32.const 0.3200402557849884 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2163 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const 0.5 + f32.const -1.75 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3173 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2164 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const -0.5 + f32.const -0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2165 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const -0.5 + f32.const -1.75 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3174 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2166 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const -3.531185829902812 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2180 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 4.345239849338305 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3175 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2181 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -0.09061141541648476 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 3.0441842079162598 - f32.const 0.05022354796528816 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2182 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const -1.9641383050707404 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3176 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2183 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 4.45566488261279 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.813625156879425 - f32.const 0.2240506112575531 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2184 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const -0.4913994250211714 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3177 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2185 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 0.035711240532359426 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2186 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.792054511984896 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3178 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2187 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.615702673197924 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.7495063543319702 - f32.const 0.05895441770553589 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2188 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -0.0106815621160685 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3179 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.879859209060669 - f32.const -0.4874873757362366 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2192 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3180 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1 + f64.const -0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3181 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2196 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3184 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2197 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 1 + f64.const 0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2198 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const 1 + f64.const -0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3185 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2199 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2200 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3186 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2201 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2202 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2203 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2204 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3187 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2205 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2206 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -1 + f64.const 0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3188 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2207 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const -0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2208 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -1 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3189 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2209 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2210 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const -1 + f64.const 0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3190 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2211 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + f64.const -0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4 - f32.const 2 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2212 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const -1 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3191 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2213 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -1 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 5.293955920339377e-23 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2214 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2215 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2216 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3192 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2217 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2218 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2219 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.203895392974451e-45 - f32.const 6.483745598763743e-23 - f32.const 0.37388554215431213 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2220 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3193 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2221 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 3.743392066509216e-23 - f32.const -0.20303145051002502 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2222 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2223 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2224 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3194 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2225 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.neg + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2226 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3195 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2227 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2228 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2229 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2230 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2231 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - f32.const 18446742974197923840 - f32.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2232 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2233 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2234 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2235 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3196 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2236 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2237 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2238 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -3402823466385288598117041e14 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2239 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 2 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2240 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2241 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3197 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2242 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999998807907104 - f32.const 0.9999999403953552 - f32.const 2.980232594040899e-08 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2243 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3198 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2244 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999999403953552 - f32.const 0.9999999403953552 - f32.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2245 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3199 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.999999761581421 - f32.const 1.4142134189605713 - f32.const -0.4959246516227722 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2248 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2249 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.neg + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3200 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2250 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.neg + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.9999998807907104 - f32.const 1.4142135381698608 - f32.const 0.15052194893360138 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2251 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2252 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2253 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const 0.5 + f64.const 0.25 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3201 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2254 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const 0.5 + f64.const -0.25 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000001192092896 - f32.const 1 - f32.const -0.5 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2255 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const -0.5 + f64.const 0.25 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3202 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2256 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const -0.5 + f64.const -0.25 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.000000238418579 - f32.const 1.0000001192092896 - f32.const 5.960463766996327e-08 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2257 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const -3.531186103820801 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3203 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2266 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 4.345239639282227 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.000000238418579 - f32.const 1.4142136573791504 - f32.const 0.08986179530620575 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2267 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -0.09061169624328613 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3204 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2268 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -1.9641380310058594 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.000000476837158 - f32.const 1.41421377658844 - f32.const 0.3827550709247589 - global.get $std/math/INEXACT - call $std/math/test_sqrtf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2269 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 4.455665111541748 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3205 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2270 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const -0.49139970541000366 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.626595497131348 - f32.const 0.2455666959285736 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2271 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 0.0357111394405365 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3243 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2272 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.7920545339584351 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.6001901626586914 - f32.const 0.3652407228946686 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2273 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.6157026886940002 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3244 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2274 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -0.010681532323360443 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const 1.716740608215332 - f32.const 0.08169349282979965 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2275 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3245 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2278 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.2537320852279663 - f32.const 0.23186513781547546 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2279 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3246 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2280 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1 + f32.const -0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const -0.15904149413108826 - f32.const -0.009332014247775078 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2281 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3247 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2282 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7792918682098389 - f32.const -0.06759700924158096 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2283 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const 1 + f32.const 0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3248 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2284 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.5 + f32.const 1 + f32.const -0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.43059954047203064 - f32.const 0.005771996453404427 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2285 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3249 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2286 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.6294037103652954 - f32.const -0.16838163137435913 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2288 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2289 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3250 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2290 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.977757453918457 - f32.const 0.38969388604164124 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2291 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3251 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2292 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const -1 + f32.const 0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.8066186308860779 - f32.const 0.12294059991836548 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2293 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const -0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3252 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2294 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -1 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2295 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3255 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2296 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const -1 + f32.const 0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2297 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.5 + f32.const -1 + f32.const -0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3256 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2298 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const -1 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2299 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -1 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3257 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2300 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2301 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2302 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2303 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2304 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2305 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3258 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2306 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2307 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3259 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2308 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2309 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2310 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.862645149230957e-09 - f32.const 1.862645149230957e-09 - f32.const -9.701277108031814e-12 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2311 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.neg + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3262 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2312 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.862645149230957e-09 - f32.const -1.862645149230957e-09 - f32.const 9.701277108031814e-12 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2313 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2314 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2315 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2316 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2317 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3263 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2318 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2319 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2320 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2321 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754943508222875e-38 - f32.const 1.1754943508222875e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2322 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2323 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2324 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3264 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2325 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 2 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2326 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -0.5 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2327 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754943508222875e-38 - f32.const -1.1754943508222875e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2328 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3265 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2329 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 1.401298464324817e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2330 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3266 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2331 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const -1.401298464324817e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2332 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3267 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2333 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2334 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2335 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.neg + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.175494490952134e-38 - f32.const 1.175494490952134e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2336 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.neg + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3268 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2337 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2338 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2339 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const 0.5 + f32.const 0.25 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754946310819804e-38 - f32.const 1.1754946310819804e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2340 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const 0.5 + f32.const -0.25 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3269 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2341 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const -0.5 + f32.const 0.25 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509880009953429e-38 - f32.const 2.3509880009953429e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2342 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const -0.5 + f32.const -0.25 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3270 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2343 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2355 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 2.1347118825587285e-06 + f64.const 0.3250160217285156 + global.get $std/math/INEXACT + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2356 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2357 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2358 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 44909.29941512966 + f64.const -0.26659080386161804 + global.get $std/math/INEXACT + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2359 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2360 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 1.1135177413458652 + f64.const -0.37168607115745544 + global.get $std/math/INEXACT + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2361 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2362 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.37690773521380183 + f64.const 0.32473301887512207 + global.get $std/math/INEXACT + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2363 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2364 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 2.350988701644575e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2367 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3271 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2368 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 3 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509895424236536e-38 - f32.const 2.3509895424236536e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2369 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 2 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3272 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2370 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.70197740328915e-38 - f32.const 4.70197740328915e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2371 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0.5 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3273 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2372 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1175870895385742e-08 - f32.const 1.1175870895385742e-08 - f32.const -5.238689482212067e-10 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2373 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3274 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2374 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0.5 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2375 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2376 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -2 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2377 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -3 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2378 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -4 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2379 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.4901161193847656e-08 - f32.const 1.4901161193847656e-08 - f32.const -6.208817349140361e-10 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2380 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3275 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2381 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.000244140625 - f32.const 0.000244140625 - f32.const -0.1666666716337204 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2382 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 3 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3276 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2383 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 2 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.175494490952134e-38 - f32.const -1.175494490952134e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2384 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3277 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2385 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0.5 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754946310819804e-38 - f32.const -1.1754946310819804e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2386 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3278 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2387 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509880009953429e-38 - f32.const -2.3509880009953429e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2388 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0.5 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2389 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2390 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -2 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2391 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -3 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2392 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -4 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2393 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3279 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2394 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 2.350988701644575e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2395 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3280 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2396 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509895424236536e-38 - f32.const -2.3509895424236536e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2397 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3281 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2398 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -4.70197740328915e-38 - f32.const -4.70197740328915e-38 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2399 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3282 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2400 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1175870895385742e-08 - f32.const -1.1175870895385742e-08 - f32.const 5.238689482212067e-10 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2401 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3283 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2402 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.4901161193847656e-08 - f32.const -1.4901161193847656e-08 - f32.const 6.208817349140361e-10 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2403 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3284 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2404 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.000244140625 - f32.const -0.000244140625 - f32.const 0.1666666716337204 - global.get $std/math/INEXACT - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2405 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3285 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2406 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 2.802596928649634e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2407 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3286 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2408 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.2611686178923354e-44 - f32.const 1.2611686178923354e-44 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2409 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 2 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3287 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2410 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.938735877055719e-39 - f32.const 2.938735877055719e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2411 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -2 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3288 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2412 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -3 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const 5.877471754111438e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2413 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2414 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3289 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2415 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754940705625946e-38 - f32.const 1.1754940705625946e-38 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2416 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3290 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2417 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 3 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754942106924411e-38 - f32.const 1.1754942106924411e-38 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2418 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0.5 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3291 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2419 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -0.5 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.802596928649634e-45 - f32.const -2.802596928649634e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2420 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -3 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3292 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2421 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 0.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2422 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2423 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 2 + f64.const 0.25 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.2611686178923354e-44 - f32.const -1.2611686178923354e-44 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2424 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 3 + f64.const -0.125 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3293 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2425 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.938735877055719e-39 - f32.const -2.938735877055719e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2426 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3294 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2427 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5.877471754111438e-39 - f32.const -5.877471754111438e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2428 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3295 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2429 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754940705625946e-38 - f32.const -1.1754940705625946e-38 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2430 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3296 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2431 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754942106924411e-38 - f32.const -1.1754942106924411e-38 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_tanf - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2432 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3297 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2433 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -0.999999803096032 - f64.const 0.012793331407010555 - global.get $std/math/INEXACT - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2434 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3309 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2435 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 0.9996636978961307 - f64.const 0.1573508232831955 - global.get $std/math/INEXACT - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2436 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3310 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2437 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 3 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -0.9999998950434862 - f64.const 0.27985066175460815 - global.get $std/math/INEXACT - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2438 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3311 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2439 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -0.9999957568392429 - f64.const -0.44285574555397034 - global.get $std/math/INEXACT - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2440 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0.5 + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3312 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2441 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 0.9999999821447234 - f64.const 0.4462755024433136 - global.get $std/math/INEXACT - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2442 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3313 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2443 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -2 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.5796835018635275 - f64.const 0.4892043173313141 - global.get $std/math/INEXACT - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2444 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3314 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2445 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.3855853099901652 - f64.const 0.35993871092796326 - global.get $std/math/INEXACT - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2446 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3315 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2447 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 3 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5092819248700439 - f64.const -0.39436522126197815 - global.get $std/math/INEXACT - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2448 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 2 + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3316 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2449 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 1 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.6493374550318555 - f64.const -0.4899396002292633 - global.get $std/math/INEXACT - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2450 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 0.5 + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3317 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2451 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -0.5 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.590715084799841 - f64.const -0.0145387789234519 - global.get $std/math/INEXACT - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2452 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -1 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3318 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2453 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -2 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2454 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3321 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2455 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2456 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const 1 + f64.const -2 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3322 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2457 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -1 + f64.const -0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2458 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2467 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 2.134714122803416e-06 + f32.const 0.1436440795660019 + global.get $std/math/INEXACT + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2468 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2469 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2470 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 44909.33203125 + f32.const -0.05356409028172493 + global.get $std/math/INEXACT + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2471 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2472 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 1.1135177612304688 + f32.const 0.19122089445590973 + global.get $std/math/INEXACT + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2473 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2474 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.3769077658653259 + f32.const 0.337149053812027 + global.get $std/math/INEXACT + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2475 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2476 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3323 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2479 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2480 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 3 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3324 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2481 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 2 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_tanh - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2482 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3325 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2483 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0.5 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -0.9999998211860657 - f32.const -0.3034979999065399 - global.get $std/math/INEXACT - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2484 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3334 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2485 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 0.9996637105941772 - f32.const 0.2154078334569931 - global.get $std/math/INEXACT - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2486 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0.5 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2487 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2488 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -2 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2489 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -3 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2490 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -4 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2491 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.neg + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3335 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2492 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -0.9999998807907104 - f32.const 0.23912210762500763 - global.get $std/math/INEXACT - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2493 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3336 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2494 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 3 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.999995768070221 - f32.const -0.18844597041606903 - global.get $std/math/INEXACT - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2495 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 2 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2496 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3337 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2497 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0.5 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 1 - f32.const 0.1497807800769806 - global.get $std/math/INEXACT - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2498 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3338 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2499 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.5796834826469421 - f32.const -0.05590476095676422 - global.get $std/math/INEXACT - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2500 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0.5 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2501 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2502 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -2 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2503 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -3 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2504 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -4 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2505 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.neg + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3339 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2506 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.38558530807495117 - f32.const 0.349787175655365 - global.get $std/math/INEXACT - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2507 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3340 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2508 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5092819333076477 - f32.const -0.1528785079717636 - global.get $std/math/INEXACT - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2509 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3341 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2510 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.6493374705314636 - f32.const 0.4317026138305664 - global.get $std/math/INEXACT - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2511 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3342 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2512 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.5907150506973267 - f32.const 0.4079873859882355 - global.get $std/math/INEXACT - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2513 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3343 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2514 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2515 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3346 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2516 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2517 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3347 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2518 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2519 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3348 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2520 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2521 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 2 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3349 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2522 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_tanhf - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2523 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -2 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3350 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2524 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -3 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -8 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2525 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0.5 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2526 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3362 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2527 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 4 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2528 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3363 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2529 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 3 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -8 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2530 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0.5 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3364 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2531 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -0.5 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -6 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2532 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -3 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3365 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2533 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 0.5 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2534 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1.5 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2535 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 2 + f32.const 0.25 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 9 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2536 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 3 + f32.const -0.125 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3366 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2537 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2538 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const inf + f32.neg + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3367 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2539 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2540 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3368 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2541 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const inf + f32.neg + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2542 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3369 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2543 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2544 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3370 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2545 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2546 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3371 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2547 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2548 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3374 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2549 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 3 + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2550 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3375 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2551 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2552 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0.5 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3376 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2553 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2554 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3377 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2555 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -2 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2556 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3378 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2557 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2558 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3379 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2559 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 3 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2560 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 2 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3380 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2561 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 1 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2562 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 0.5 + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3381 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2563 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -0.5 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2564 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -1 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3382 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2565 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -2 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2566 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3383 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2567 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2568 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const 1 + f32.const -2 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3384 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2569 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -1 + f32.const -0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2570 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $~lib/bindings/Math/random + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom + global.get $~lib/heap/__heap_base + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + block $break|0 + i32.const 0 + local.set $0 + loop $loop|0 + local.get $0 + f64.convert_i32_s + f64.const 1e6 + f64.lt + i32.eqz + br_if $break|0 + call $~lib/math/NativeMath.random + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.set $1 + local.get $1 + f64.const 0 + f64.ge + if (result i32) + local.get $1 + f64.const 1 + f64.lt + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2579 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end + call $~lib/bindings/Math/random + i64.reinterpret_f64 + local.set $2 + local.get $2 + call $~lib/math/NativeMath.seedRandom + block $break|1 + i32.const 0 + local.set $0 + loop $loop|1 + local.get $0 + f64.convert_i32_s + f64.const 1e6 + f64.lt + i32.eqz + br_if $break|1 + call $~lib/math/NativeMathf.random + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + local.set $3 + local.get $3 + f32.const 0 + f32.ge + if (result i32) + local.get $3 + f32.const 1 + f32.lt + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2587 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|1 + end + unreachable + end + f64.const -8.06684839057968 + f64.const -8 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2601 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 4 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2602 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -8 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2603 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -7 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2604 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 9 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2605 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2606 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2607 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2608 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2609 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2610 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3385 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2613 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2614 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3386 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2615 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2616 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3387 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2617 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_trunc - i32.eqz - if + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2618 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3388 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2619 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2620 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2621 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 2 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2622 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2623 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2624 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2625 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2626 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2627 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2628 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2629 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -8 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2638 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 4 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2639 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -8 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2640 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -7 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2641 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 9 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2642 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2643 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2644 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2645 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2646 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2647 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -8 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2650 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3397 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2651 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2652 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3398 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2653 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -8 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2654 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3399 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2655 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -6 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2656 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2657 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2658 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 2 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2659 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2660 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2661 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2662 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2663 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2664 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2665 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2666 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3400 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2677 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2678 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3401 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2679 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2680 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3402 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2681 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2682 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3403 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2683 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2684 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3404 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2685 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2693 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3405 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2694 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2695 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3406 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2696 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2697 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3409 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2698 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2699 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3410 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2700 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2701 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + local.set $1 + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $1 + local.get $1 + f64.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3411 + i32.ne i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2707 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + local.set $1 + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $1 + local.get $1 + f64.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3412 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2708 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + local.set $1 + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $1 + local.get $1 + f64.eq + i32.and i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if + i32.ne i32.const 0 - i32.const 24 - i32.const 3413 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2709 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + local.set $1 + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $1 + local.get $1 + f64.eq + i32.and i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2710 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + local.set $1 + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $1 + local.get $1 + f64.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3414 + i32.ne i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2711 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.neg + local.set $1 + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $1 + local.get $1 + f64.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3415 + i32.ne i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2712 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + local.set $1 + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $1 + local.get $1 + f64.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3416 + i32.ne i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2713 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + local.set $1 + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $1 + local.get $1 + f64.eq + i32.and + i32.const 0 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2714 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + local.set $3 + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $3 + local.get $3 + f32.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3417 + i32.ne i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2720 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + local.set $3 + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $3 + local.get $3 + f32.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3418 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2721 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + local.set $3 + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $3 + local.get $3 + f32.eq + i32.and i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + i32.ne i32.const 0 - i32.const 24 - i32.const 3419 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2722 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + local.set $3 + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $3 + local.get $3 + f32.eq + i32.and i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2723 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + local.set $3 + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $3 + local.get $3 + f32.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3420 + i32.ne i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2724 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.neg + local.set $3 + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $3 + local.get $3 + f32.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3421 + i32.ne i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2725 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + local.set $3 + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $3 + local.get $3 + f32.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3422 + i32.ne i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_truncf - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2726 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + local.set $3 + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $3 + local.get $3 + f32.eq + i32.and i32.const 0 - i32.const 24 - i32.const 3423 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2727 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const 1.0044767307740567 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 4 - call $~lib/math/NativeMath.imul - f64.const 8 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2738 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 4.345239849338305 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3427 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2739 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -0.09061141541648476 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 8 - call $~lib/math/NativeMath.imul - f64.const -8 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2740 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const -1.9641383050707404 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3428 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2741 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const -0.35572720174700656 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -2 - call $~lib/math/NativeMath.imul - f64.const 4 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2742 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const 0.17067236731650248 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3429 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2743 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const -0.016443286217702822 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967295 - f64.const 5 - call $~lib/math/NativeMath.imul - f64.const -5 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2744 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.792054511984896 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3430 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2745 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.615702673197924 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967294 - f64.const 5 - call $~lib/math/NativeMath.imul - f64.const -10 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2746 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -0.0106815621160685 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3431 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2747 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+60 - f64.const 1.e+60 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2750 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3432 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2751 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+60 - f64.const -1.e+60 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2752 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1 + f64.const -0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3433 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2753 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.e+60 - f64.const -1.e+60 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2754 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3434 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2755 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 1 + f64.const -0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+24 - f64.const 100 - call $~lib/math/NativeMath.imul - f64.const -2147483648 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2756 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const 1 + f64.const 0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3435 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2757 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2758 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3436 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2759 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2760 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2761 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2762 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3437 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2763 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MAX_VALUE - global.get $~lib/builtins/f64.MAX_VALUE - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2764 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -1 + f64.const 0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3438 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2765 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const -0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2766 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -1 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3442 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2767 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2768 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const -1 + f64.const -0.5 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3443 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2769 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + f64.const 0.5 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2770 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const -1 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3444 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2771 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -1 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -128 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2772 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2773 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2774 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3445 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2775 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2776 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2777 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967295 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2778 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3446 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2779 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967295.5 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2780 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2781 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2782 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3447 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2783 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.neg + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967296 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2784 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3448 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2785 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2786 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2787 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2788 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2789 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967297 - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2790 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2791 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2792 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2793 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3449 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2794 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2795 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2796 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2797 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const 2 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2798 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2799 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3450 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2800 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2801 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3451 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2802 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MAX_SAFE_INTEGER - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2803 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3452 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2804 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MAX_SAFE_INTEGER - f64.neg - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2805 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2806 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2807 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.neg + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3453 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2808 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.neg + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MAX_VALUE - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2809 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2810 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2811 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const 0.5 + f64.const -0.25 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3454 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2812 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const 0.5 + f64.const 0.25 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MIN_VALUE - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2813 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const -0.5 + f64.const -0.25 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3455 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2814 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const -0.5 + f64.const 0.25 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MAX_VALUE - f64.neg - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2815 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8e-323 + f64.const inf + f64.const 8e-323 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3456 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2816 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const 1.004476547241211 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.EPSILON - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2825 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 4.345239639282227 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3457 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2826 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -0.09061169624328613 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2827 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -1.9641380310058594 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3461 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2828 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const -0.3557271957397461 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 1 - call $~lib/math/ipow64 - i64.const 0 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2829 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const 0.17067205905914307 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3462 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2830 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const -0.016443386673927307 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 2 - call $~lib/math/ipow64 - i64.const 0 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2831 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.7920545339584351 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3463 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2832 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.6157026886940002 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 3 - call $~lib/math/ipow64 - i64.const 0 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2833 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -0.010681532323360443 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3464 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2834 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2837 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3466 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2838 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 1 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2839 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1 + f32.const -0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3467 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2840 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 2 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2841 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3468 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2842 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const 1 + f32.const -0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 3 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2843 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.5 + f32.const 1 + f32.const 0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3469 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2844 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2845 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3471 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2846 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2847 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2848 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 1 - call $~lib/math/ipow64 - i64.const 2 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2849 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3472 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2850 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 2 - call $~lib/math/ipow64 - i64.const 4 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2851 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const -1 + f32.const 0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3473 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2852 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const -0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 3 - call $~lib/math/ipow64 - i64.const 8 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2853 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3474 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2854 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2855 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const -1 + f32.const -0.5 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3476 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2856 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.5 + f32.const -1 + f32.const 0.5 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 1 - call $~lib/math/ipow64 - i64.const -1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2857 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const -1 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3477 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2858 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -1 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 2 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2859 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2860 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2861 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3478 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2862 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2863 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2864 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 3 - call $~lib/math/ipow64 - i64.const -1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2865 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3479 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2866 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2867 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2868 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2869 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3481 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2870 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.neg + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 1 - call $~lib/math/ipow64 - i64.const -2 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2871 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3482 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2872 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2873 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2874 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2875 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2876 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 2 - call $~lib/math/ipow64 - i64.const 4 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2877 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2878 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2879 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2880 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3483 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2881 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2882 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2883 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 3 - call $~lib/math/ipow64 - i64.const -8 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2884 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const 2 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2885 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -0.5 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2886 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3484 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2887 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 40 - call $~lib/math/ipow64 - i64.const -6289078614652622815 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2888 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3486 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2889 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 41 - call $~lib/math/ipow64 - i64.const -420491770248316829 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2890 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3487 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2891 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 42 - call $~lib/math/ipow64 - i64.const -1261475310744950487 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2892 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2893 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2894 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.neg + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3488 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2895 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.neg + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 43 - call $~lib/math/ipow64 - i64.const -3784425932234851461 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2896 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2897 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2898 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const 0.5 + f32.const -0.25 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3489 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2899 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const 0.5 + f32.const 0.25 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 63 - call $~lib/math/ipow64 - i64.const -3237885987332494933 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2900 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const -0.5 + f32.const -0.25 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3490 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2901 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const -0.5 + f32.const 0.25 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 64 - call $~lib/math/ipow64 - i64.const 8733086111712066817 - i64.eq - i32.eqz - if + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2902 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const inf + f32.const 5.877471754111438e-39 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3491 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2903 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -0.977429211139679 + f32.const 0.0801057294011116 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -0.933354377746582 + f32.const 0.34475627541542053 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -0.8640924692153931 + f32.const -0.468659907579422 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.24593880772590637 + f32.const -0.3955177664756775 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2944 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 0.1570674479007721 + f32.const -0.24006809294223785 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2945 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.6146844625473022 + f32.const -0.07707194238901138 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.39549243450164795 + f32.const -0.11720617115497589 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2947 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5326763391494751 + f32.const -0.16059114038944244 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2948 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.699110209941864 + f32.const 0.26384368538856506 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2949 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.627831220626831 + f32.const 0.005127954296767712 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2950 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 128 - call $~lib/math/ipow64 - i64.const -9204772141784466943 - i64.eq - i32.eqz - if + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2953 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3492 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2954 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2955 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2956 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 57055 - i32.const 3 - call $~lib/math/ipow64 - i64.const 339590 - i32.const 3 - call $~lib/math/ipow64 - i64.add - i64.const 39347712995520375 - i64.eq - i32.eqz - if + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2957 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.862645149230957e-09 + f32.const 1.862645149230957e-09 + f32.const 4.850638554015907e-12 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2960 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.862645149230957e-09 + f32.const -1.862645149230957e-09 + f32.const -4.850638554015907e-12 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2961 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754943508222875e-38 + f32.const 1.1754943508222875e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2962 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754943508222875e-38 + f32.const -1.1754943508222875e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2963 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 1.401298464324817e-45 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2964 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const -1.401298464324817e-45 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2965 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.175494490952134e-38 + f32.const 1.175494490952134e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2966 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754946310819804e-38 + f32.const 1.1754946310819804e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2967 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509880009953429e-38 + f32.const 2.3509880009953429e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2968 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 2.350988701644575e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2969 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509895424236536e-38 + f32.const 2.3509895424236536e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2970 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.70197740328915e-38 + f32.const 4.70197740328915e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2971 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1175870895385742e-08 + f32.const 1.1175870895385742e-08 + f32.const 2.6193447411060333e-10 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2972 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.4901161193847656e-08 + f32.const 1.4901161193847656e-08 + f32.const 3.1044086745701804e-10 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2973 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.000244140625 + f32.const 0.000244140625 + f32.const 0.0833333358168602 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2974 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.0003662109375 + f32.const 0.0003662109375 + f32.const 0.28125 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2975 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.175494490952134e-38 + f32.const -1.175494490952134e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2976 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754946310819804e-38 + f32.const -1.1754946310819804e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2977 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509880009953429e-38 + f32.const -2.3509880009953429e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2978 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.350988701644575e-38 + f32.const -2.350988701644575e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2979 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509895424236536e-38 + f32.const -2.3509895424236536e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2980 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -4.70197740328915e-38 + f32.const -4.70197740328915e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2981 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1175870895385742e-08 + f32.const -1.1175870895385742e-08 + f32.const -2.6193447411060333e-10 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2982 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.4901161193847656e-08 + f32.const -1.4901161193847656e-08 + f32.const -3.1044086745701804e-10 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2983 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.000244140625 + f32.const -0.000244140625 + f32.const -0.0833333358168602 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2984 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.0003662109375 + f32.const -0.0003662109375 + f32.const -0.28125 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2985 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 2.802596928649634e-45 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2986 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.2611686178923354e-44 + f32.const 1.2611686178923354e-44 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2987 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.938735877055719e-39 + f32.const 2.938735877055719e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2988 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const 5.877471754111438e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2989 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754940705625946e-38 + f32.const 1.1754940705625946e-38 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2990 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754942106924411e-38 + f32.const 1.1754942106924411e-38 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2991 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.802596928649634e-45 + f32.const -2.802596928649634e-45 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2992 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.2611686178923354e-44 + f32.const -1.2611686178923354e-44 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2993 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.938735877055719e-39 + f32.const -2.938735877055719e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2994 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5.877471754111438e-39 + f32.const -5.877471754111438e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2995 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754940705625946e-38 + f32.const -1.1754940705625946e-38 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2996 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754942106924411e-38 + f32.const -1.1754942106924411e-38 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2997 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 255.99993896484375 + f32.const -0.9992055892944336 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3000 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5033165 + f32.const 0.5312945246696472 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3001 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 421657440 + f32.const -0.7397398948669434 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3002 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2147483392 + f32.const 0.2762770354747772 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3003 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 68719476736 + f32.const 0.9855440855026245 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3004 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 549755813888 + f32.const -0.9782648086547852 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3005 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f32.MAX_VALUE + f32.const -0.5218765139579773 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3006 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -255.99993896484375 + f32.const 0.9992055892944336 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3007 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5033165 + f32.const -0.5312945246696472 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3008 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -421657440 + f32.const 0.7397398948669434 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3009 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2147483392 + f32.const -0.2762770354747772 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3010 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -68719476736 + f32.const -0.9855440855026245 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3011 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -549755813888 + f32.const 0.9782648086547852 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3012 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f32.MAX_VALUE + f32.neg + f32.const 0.5218765139579773 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3013 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -1593.5206801156262 + f64.const -0.2138727605342865 + global.get $std/math/INEXACT + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3025 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 38.54878088685412 + f64.const 0.21537430584430695 + global.get $std/math/INEXACT + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3026 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2182.6307505145546 + f64.const 0.16213826835155487 + global.get $std/math/INEXACT + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3027 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -343.2723926847529 + f64.const 0.20479513704776764 + global.get $std/math/INEXACT + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3028 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 5291.7790755194055 + f64.const -0.48676517605781555 + global.get $std/math/INEXACT + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3029 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.7114062568229157 + f64.const -0.4584641456604004 + global.get $std/math/INEXACT + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3030 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.41790065258739445 + f64.const 0.37220045924186707 + global.get $std/math/INEXACT + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3031 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5917755935451237 + f64.const 0.46178996562957764 + global.get $std/math/INEXACT + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3032 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.8538292008852542 + f64.const -0.07019051909446716 + global.get $std/math/INEXACT + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3033 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.732097615653169 + f64.const 0.26858529448509216 + global.get $std/math/INEXACT + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3034 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3494 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3037 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.eq - i32.eqz - if + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3038 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3498 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3039 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.eq - i32.eqz - if + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3040 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3499 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3041 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -1593.521240234375 + f32.const 0.1671663224697113 + global.get $std/math/INEXACT + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3050 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 38.548770904541016 + f32.const -0.49340328574180603 + global.get $std/math/INEXACT + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3051 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2182.630859375 + f32.const 0.0849970355629921 + global.get $std/math/INEXACT + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3052 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -343.2723388671875 + f32.const 0.0704190656542778 + global.get $std/math/INEXACT + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3053 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 5291.78125 + f32.const -0.44362515211105347 + global.get $std/math/INEXACT + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3054 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7114062309265137 + f32.const 0.058103885501623154 + global.get $std/math/INEXACT + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3055 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.4179006516933441 + f32.const 0.39349499344825745 + global.get $std/math/INEXACT + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3056 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5917755961418152 + f32.const -0.4183797240257263 + global.get $std/math/INEXACT + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3057 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.8538292050361633 + f32.const 0.45992106199264526 + global.get $std/math/INEXACT + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3058 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.7320976257324219 + f32.const -0.48159059882164 + global.get $std/math/INEXACT + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3059 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 1 - call $~lib/math/ipow32f - call $~lib/number/isNaN - i32.eqz - if + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3062 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3500 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3063 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const -1 - call $~lib/math/ipow32f - call $~lib/number/isNaN - i32.eqz - if + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3064 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3501 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3065 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 2 - call $~lib/math/ipow32f - call $~lib/number/isNaN - i32.eqz - if + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3066 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3078 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 2.0845238903256313 + f64.const -0.07180261611938477 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3079 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3080 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3081 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 3.0441841217266385 + f64.const -0.01546262577176094 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3082 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.8136251582267503 + f64.const -0.08618157356977463 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3083 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3084 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.7495063350104014 + f64.const -0.0981396734714508 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3085 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.879859248170583 + f64.const -0.37124353647232056 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3086 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3087 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3502 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3090 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.eq - i32.eqz - if + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3091 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3092 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3503 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3093 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 1 - call $~lib/math/ipow32f - f32.const inf - f32.eq - i32.eqz - if + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3094 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3504 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3095 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3096 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4 + f64.const 2 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.eq - i32.eqz - if + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3097 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-323 + f64.const 3.1434555694052576e-162 + f64.const 0.43537619709968567 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3098 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5e-323 + f64.const 3.849931087076416e-162 + f64.const -0.45194002985954285 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3099 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const 2.2227587494850775e-162 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3505 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3100 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5e-324 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3101 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999999999999999 + f64.const 0.9999999999999999 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.9999999999999998 + f64.const 1.414213562373095 + f64.const -0.21107041835784912 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3103 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000000000000002 + f64.const 1 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3104 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.0000000000000004 + f64.const 1.4142135623730951 + f64.const -0.27173060178756714 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3105 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000000000000002 + f64.const 1 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3106 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999999999999999 + f64.const 0.9999999999999999 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3107 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3108 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const 1340780792994259561100831e130 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3109 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 179769313486231490980915e285 + f64.const 134078079299425926338769e131 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3110 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862314111473026e284 + f64.const 1340780792994258965674548e130 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862313313136902e284 + f64.const 1340780792994258667961407e130 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3112 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862312514800778e284 + f64.const 1340780792994258370248265e130 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862311716464655e284 + f64.const 1340780792994258072535124e130 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862310918128531e284 + f64.const 1340780792994257774821982e130 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3115 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862310119792407e284 + f64.const 1340780792994257477108841e130 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3116 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862309321456283e284 + f64.const 1340780792994257179395699e130 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862308523120159e284 + f64.const 1340780792994256881682558e130 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862307724784036e284 + f64.const 1340780792994256583969417e130 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507203e-308 + f64.const 1.4916681462400417e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507205e-308 + f64.const 1.4916681462400423e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3121 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507207e-308 + f64.const 1.491668146240043e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3122 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507209e-308 + f64.const 1.4916681462400437e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3123 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507211e-308 + f64.const 1.4916681462400443e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3124 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072127e-308 + f64.const 1.491668146240045e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3125 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072147e-308 + f64.const 1.4916681462400457e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3126 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072167e-308 + f64.const 1.4916681462400463e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3127 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072187e-308 + f64.const 1.491668146240047e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3128 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072207e-308 + f64.const 1.4916681462400476e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3129 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072226e-308 + f64.const 1.4916681462400483e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3130 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072246e-308 + f64.const 1.491668146240049e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3131 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072266e-308 + f64.const 1.4916681462400496e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3132 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072286e-308 + f64.const 1.4916681462400503e-154 + f64.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3133 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 92.35130391890645 + f64.const 9.609958580499006 + f64.const 0.4998137056827545 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3134 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 93.3599596388916 + f64.const 9.662295774757238 + f64.const -0.49979978799819946 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3135 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 95.42049628886124 + f64.const 9.76834153215689 + f64.const -0.49997270107269287 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3136 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 95.87916941885449 + f64.const 9.791790919890728 + f64.const 0.4998766779899597 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 96.84804174884022 + f64.const 9.841140266698785 + f64.const 0.499801903963089 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3138 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 97.43639050883155 + f64.const 9.87098731175517 + f64.const 0.4997696280479431 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 97.50957979883047 + f64.const 9.874693909120955 + f64.const 0.49999818205833435 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 97.80496893882612 + f64.const 9.88963947466368 + f64.const -0.4999580681324005 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 98.2751822888192 + f64.const 9.913383997849534 + f64.const 0.49979931116104126 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 99.47293564880155 + f64.const 9.973611966023219 + f64.const -0.4999540448188782 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3143 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 100.57047130878539 + f64.const 10.028483001370914 + f64.const -0.49996453523635864 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3144 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 100.60954608878481 + f64.const 10.030431002144665 + f64.const 0.49975672364234924 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3145 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 100.67909109878379 + f64.const 10.033897104255344 + f64.const -0.4997771382331848 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3146 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 101.12268095877725 + f64.const 10.055977374615422 + f64.const 0.49988678097724915 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3147 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 101.3027691287746 + f64.const 10.064927676281366 + f64.const 0.4999105632305145 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3148 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.45932313565507e-307 + f64.const 4.9591563149945874e-154 + f64.const -0.4998999834060669 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3149 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.610957305180409e-307 + f64.const 7.490632353266584e-154 + f64.const -0.4999343752861023 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3150 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.8073887977408524e-307 + f64.const 7.62062254526548e-154 + f64.const -0.49989569187164307 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3151 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.026137080471427e-307 + f64.const 8.382205605013174e-154 + f64.const 0.49980640411376953 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3152 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8.438697769194972e-307 + f64.const 9.186238495268328e-154 + f64.const -0.4999065697193146 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3153 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1607792515836795e-306 + f64.const 1.0773946591586944e-153 + f64.const -0.49997684359550476 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3154 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.2827413827423193e-306 + f64.const 1.1325817333606962e-153 + f64.const -0.4999513030052185 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3155 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.7116604596087457e-306 + f64.const 1.3083044216117078e-153 + f64.const -0.49986395239830017 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.038173251686994e-306 + f64.const 1.4276460526639628e-153 + f64.const 0.4998403787612915 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3157 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.171572060856931e-306 + f64.const 1.4736254818836879e-153 + f64.const 0.4999290406703949 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3158 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.4681399631804094e-306 + f64.const 1.5710314965589996e-153 + f64.const 0.49989044666290283 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3159 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.5175533964200588e-306 + f64.const 1.5866799918131124e-153 + f64.const -0.4997701048851013 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3160 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.6461505468829625e-306 + f64.const 1.6266992797941982e-153 + f64.const 0.4998672902584076 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3161 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.8167076367720413e-306 + f64.const 1.9536395872248397e-153 + f64.const 0.49983471632003784 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3162 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.5743220778562766e-306 + f64.const 2.1387664851161936e-153 + f64.const 0.49985939264297485 + global.get $std/math/INEXACT + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3163 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3172 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.084523916244507 + f32.const 0.3200402557849884 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3173 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3174 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3175 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 3.0441842079162598 + f32.const 0.05022354796528816 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3176 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.813625156879425 + f32.const 0.2240506112575531 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3177 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3178 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.7495063543319702 + f32.const 0.05895441770553589 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3179 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.879859209060669 + f32.const -0.4874873757362366 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3180 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3181 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - i32.const 1 - call $~lib/math/ipow32f - f32.const inf - f32.neg - f32.eq - i32.eqz - if + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3184 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3506 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3185 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3186 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - i32.const 2 - call $~lib/math/ipow32f - f32.const inf - f32.eq - i32.eqz - if + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3187 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3507 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3188 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.eq - i32.eqz - if + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3190 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4 + f32.const 2 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3508 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3191 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 5.293955920339377e-23 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f32.MAX_VALUE - i32.const 2 - call $~lib/math/ipow32f - f32.const inf - f32.eq - i32.eqz - if + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3192 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.203895392974451e-45 + f32.const 6.483745598763743e-23 + f32.const 0.37388554215431213 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 3.743392066509216e-23 + f32.const -0.20303145051002502 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + f32.const 18446742974197923840 + f32.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3196 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -3402823466385288598117041e14 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3197 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999998807907104 + f32.const 0.9999999403953552 + f32.const 2.980232594040899e-08 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3198 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999999403953552 + f32.const 0.9999999403953552 + f32.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3199 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.999999761581421 + f32.const 1.4142134189605713 + f32.const -0.4959246516227722 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3200 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.9999998807907104 + f32.const 1.4142135381698608 + f32.const 0.15052194893360138 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3201 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000001192092896 + f32.const 1 + f32.const -0.5 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3202 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.000000238418579 + f32.const 1.0000001192092896 + f32.const 5.960463766996327e-08 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3203 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.000000238418579 + f32.const 1.4142136573791504 + f32.const 0.08986179530620575 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3204 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.000000476837158 + f32.const 1.41421377658844 + f32.const 0.3827550709247589 + global.get $std/math/INEXACT + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3205 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.626595497131348 + f32.const 0.2455666959285736 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3243 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.6001901626586914 + f32.const 0.3652407228946686 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3244 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const 1.716740608215332 + f32.const 0.08169349282979965 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3245 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.2537320852279663 + f32.const 0.23186513781547546 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const -0.15904149413108826 + f32.const -0.009332014247775078 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7792918682098389 + f32.const -0.06759700924158096 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3248 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.43059954047203064 + f32.const 0.005771996453404427 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3249 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.6294037103652954 + f32.const -0.16838163137435913 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3250 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.977757453918457 + f32.const 0.38969388604164124 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3251 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.8066186308860779 + f32.const 0.12294059991836548 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3252 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3509 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3255 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f32.MIN_VALUE - i32.const 2 - call $~lib/math/ipow32f - f32.const 0 - f32.eq - i32.eqz - if + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3256 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3257 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3258 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3510 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3259 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.862645149230957e-09 + f32.const 1.862645149230957e-09 + f32.const -9.701277108031814e-12 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3262 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.862645149230957e-09 + f32.const -1.862645149230957e-09 + f32.const 9.701277108031814e-12 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3263 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754943508222875e-38 + f32.const 1.1754943508222875e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3264 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754943508222875e-38 + f32.const -1.1754943508222875e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3265 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 1.401298464324817e-45 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3266 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const -1.401298464324817e-45 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3267 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.175494490952134e-38 + f32.const 1.175494490952134e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3268 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754946310819804e-38 + f32.const 1.1754946310819804e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3269 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509880009953429e-38 + f32.const 2.3509880009953429e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3270 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 2.350988701644575e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3271 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509895424236536e-38 + f32.const 2.3509895424236536e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3272 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.70197740328915e-38 + f32.const 4.70197740328915e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3273 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1175870895385742e-08 + f32.const 1.1175870895385742e-08 + f32.const -5.238689482212067e-10 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3274 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.4901161193847656e-08 + f32.const 1.4901161193847656e-08 + f32.const -6.208817349140361e-10 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3275 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.000244140625 + f32.const 0.000244140625 + f32.const -0.1666666716337204 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3276 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.175494490952134e-38 + f32.const -1.175494490952134e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3277 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754946310819804e-38 + f32.const -1.1754946310819804e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3278 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509880009953429e-38 + f32.const -2.3509880009953429e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3279 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 2.350988701644575e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3280 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509895424236536e-38 + f32.const -2.3509895424236536e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3281 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -4.70197740328915e-38 + f32.const -4.70197740328915e-38 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3282 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1175870895385742e-08 + f32.const -1.1175870895385742e-08 + f32.const 5.238689482212067e-10 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3283 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.4901161193847656e-08 + f32.const -1.4901161193847656e-08 + f32.const 6.208817349140361e-10 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3284 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.000244140625 + f32.const -0.000244140625 + f32.const 0.1666666716337204 + global.get $std/math/INEXACT + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3285 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 2.802596928649634e-45 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3286 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.2611686178923354e-44 + f32.const 1.2611686178923354e-44 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.938735877055719e-39 + f32.const 2.938735877055719e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3288 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const 5.877471754111438e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3289 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754940705625946e-38 + f32.const 1.1754940705625946e-38 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3290 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754942106924411e-38 + f32.const 1.1754942106924411e-38 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3291 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.802596928649634e-45 + f32.const -2.802596928649634e-45 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3292 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.2611686178923354e-44 + f32.const -1.2611686178923354e-44 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3293 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.938735877055719e-39 + f32.const -2.938735877055719e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3294 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5.877471754111438e-39 + f32.const -5.877471754111438e-39 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3295 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754940705625946e-38 + f32.const -1.1754940705625946e-38 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3296 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754942106924411e-38 + f32.const -1.1754942106924411e-38 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3297 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -0.999999803096032 + f64.const 0.012793331407010555 + global.get $std/math/INEXACT + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3309 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 0.9996636978961307 + f64.const 0.1573508232831955 + global.get $std/math/INEXACT + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3310 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -0.9999998950434862 + f64.const 0.27985066175460815 + global.get $std/math/INEXACT + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3311 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -0.9999957568392429 + f64.const -0.44285574555397034 + global.get $std/math/INEXACT + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3312 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 0.9999999821447234 + f64.const 0.4462755024433136 + global.get $std/math/INEXACT + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3313 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.5796835018635275 + f64.const 0.4892043173313141 + global.get $std/math/INEXACT + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3314 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.3855853099901652 + f64.const 0.35993871092796326 + global.get $std/math/INEXACT + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3315 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5092819248700439 + f64.const -0.39436522126197815 + global.get $std/math/INEXACT + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3316 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.6493374550318555 + f64.const -0.4899396002292633 + global.get $std/math/INEXACT + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3317 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.590715084799841 + f64.const -0.0145387789234519 + global.get $std/math/INEXACT + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3318 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f32.MAX_VALUE - i32.const -1 - call $~lib/math/ipow32f - f32.const 2.938735877055719e-39 - f32.eq - i32.eqz - if + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3321 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3511 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3322 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 10 - i32.const 36 - call $~lib/math/ipow32f - f32.const 1000000040918478759629753e12 - f32.eq - i32.eqz - if + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3323 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const -1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3512 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3324 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 10 - i32.const -36 - call $~lib/math/ipow32f - f32.const 9.999999462560281e-37 - f32.eq - i32.eqz - if + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3325 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -0.9999998211860657 + f32.const -0.3034979999065399 + global.get $std/math/INEXACT + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3334 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 0.9996637105941772 + f32.const 0.2154078334569931 + global.get $std/math/INEXACT + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3335 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -0.9999998807907104 + f32.const 0.23912210762500763 + global.get $std/math/INEXACT + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3336 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.999995768070221 + f32.const -0.18844597041606903 + global.get $std/math/INEXACT + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3337 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 1 + f32.const 0.1497807800769806 + global.get $std/math/INEXACT + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3338 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.5796834826469421 + f32.const -0.05590476095676422 + global.get $std/math/INEXACT + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3339 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.38558530807495117 + f32.const 0.349787175655365 + global.get $std/math/INEXACT + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3340 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5092819333076477 + f32.const -0.1528785079717636 + global.get $std/math/INEXACT + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3341 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.6493374705314636 + f32.const 0.4317026138305664 + global.get $std/math/INEXACT + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3342 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.5907150506973267 + f32.const 0.4079873859882355 + global.get $std/math/INEXACT + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3343 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3513 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3346 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq - i32.eqz - if + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3347 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3517 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3348 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const -1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq - i32.eqz - if + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3349 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3518 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3350 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -8 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3362 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 4 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3363 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -8 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3364 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -6 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3365 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 9 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3366 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3367 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3368 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3369 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3370 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3371 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 1 - call $~lib/math/ipow64f - call $~lib/number/isNaN - i32.eqz - if + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3374 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3519 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3375 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const -1 - call $~lib/math/ipow64f - call $~lib/number/isNaN - i32.eqz - if + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3376 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3520 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3377 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 2 - call $~lib/math/ipow64f - call $~lib/number/isNaN - i32.eqz - if + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3378 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - i32.const 24 - i32.const 3521 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3379 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq - i32.eqz - if + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3380 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3381 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3382 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3383 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3384 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3385 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3386 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3387 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3388 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -8 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3397 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 4 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3398 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -8 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3399 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -6 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3400 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 9 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3401 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3402 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3403 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3404 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3405 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3406 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3522 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3409 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 1 - call $~lib/math/ipow64f - f64.const inf - f64.eq - i32.eqz - if + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3410 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3523 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3411 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq - i32.eqz - if + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3412 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3524 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3413 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - i32.const 1 - call $~lib/math/ipow64f - f64.const inf - f64.neg - f64.eq - i32.eqz - if + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3414 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3525 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3415 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3416 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3417 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3418 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3419 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3420 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3421 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3422 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3423 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 4 + call $~lib/math/NativeMath.imul + f64.const 8 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3427 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 8 + call $~lib/math/NativeMath.imul + f64.const -8 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3428 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -2 + call $~lib/math/NativeMath.imul + f64.const 4 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3429 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967295 + f64.const 5 + call $~lib/math/NativeMath.imul + f64.const -5 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3430 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967294 + f64.const 5 + call $~lib/math/NativeMath.imul + f64.const -10 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3431 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+60 + f64.const 1.e+60 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3432 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+60 + f64.const -1.e+60 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3433 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.e+60 + f64.const -1.e+60 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3434 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+24 + f64.const 100 + call $~lib/math/NativeMath.imul + f64.const -2147483648 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3435 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3436 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3437 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + global.get $~lib/builtins/f64.MAX_VALUE + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3438 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3442 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + call $~lib/math/NativeMath.clz32 + f64.const 31 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3443 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3444 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -128 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3445 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967295 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3446 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967295.5 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3447 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967296 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3448 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967297 + call $~lib/math/NativeMath.clz32 + f64.const 31 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3449 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3450 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3451 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_SAFE_INTEGER + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3452 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_SAFE_INTEGER + f64.neg + call $~lib/math/NativeMath.clz32 + f64.const 31 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3453 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3454 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MIN_VALUE + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3455 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + f64.neg + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3456 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.EPSILON + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3457 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - i32.const 2 - call $~lib/math/ipow64f - f64.const inf - f64.eq - i32.eqz - if + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3461 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i32.const 1 + call $~lib/math/ipow64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3462 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i32.const 2 + call $~lib/math/ipow64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3463 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i32.const 3 + call $~lib/math/ipow64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3464 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 i32.const 0 - i32.const 24 - i32.const 3526 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3466 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i32.const 1 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3467 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i32.const 2 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3468 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i32.const 3 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3469 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq - i32.eqz - if + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3471 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i32.const 1 + call $~lib/math/ipow64 + i64.const 2 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3472 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i32.const 2 + call $~lib/math/ipow64 + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3473 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i32.const 3 + call $~lib/math/ipow64 + i64.const 8 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3474 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 i32.const 0 - i32.const 24 - i32.const 3527 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3476 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 1 + call $~lib/math/ipow64 + i64.const -1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3477 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 2 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3478 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 3 + call $~lib/math/ipow64 + i64.const -1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3479 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MAX_VALUE - i32.const 2 - call $~lib/math/ipow64f - f64.const inf - f64.eq - i32.eqz - if + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3481 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 + i32.const 1 + call $~lib/math/ipow64 + i64.const -2 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3482 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 + i32.const 2 + call $~lib/math/ipow64 + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3483 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 + i32.const 3 + call $~lib/math/ipow64 + i64.const -8 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3484 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 40 + call $~lib/math/ipow64 + i64.const -6289078614652622815 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3486 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 41 + call $~lib/math/ipow64 + i64.const -420491770248316829 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3487 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 42 + call $~lib/math/ipow64 + i64.const -1261475310744950487 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3488 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 43 + call $~lib/math/ipow64 + i64.const -3784425932234851461 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3489 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 63 + call $~lib/math/ipow64 + i64.const -3237885987332494933 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3490 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 64 + call $~lib/math/ipow64 + i64.const 8733086111712066817 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3491 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i32.const 128 + call $~lib/math/ipow64 + i64.const -9204772141784466943 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3492 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 57055 + i32.const 3 + call $~lib/math/ipow64 + i64.const 339590 + i32.const 3 + call $~lib/math/ipow64 + i64.add + i64.const 39347712995520375 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3494 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 i32.const 0 - i32.const 24 - i32.const 3528 + call $~lib/math/ipow32f + f32.const 1 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3498 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MIN_VALUE - i32.const 2 - call $~lib/math/ipow64f - f64.const 0 - f64.eq - i32.eqz - if + call $~lib/math/ipow32f + f32.const 1 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3499 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + i32.const 1 + call $~lib/math/ipow32f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3500 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + i32.const -1 + call $~lib/math/ipow32f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3501 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + i32.const 2 + call $~lib/math/ipow32f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3502 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf i32.const 0 - i32.const 24 - i32.const 3529 + call $~lib/math/ipow32f + f32.const 1 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3503 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + i32.const 1 + call $~lib/math/ipow32f + f32.const inf + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3504 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MAX_VALUE - i32.const -1 - call $~lib/math/ipow64f - f64.const 5.562684646268003e-309 - f64.eq - i32.eqz - if + call $~lib/math/ipow32f + f32.const 1 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3505 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + i32.const 1 + call $~lib/math/ipow32f + f32.const inf + f32.neg + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3506 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.neg + i32.const 2 + call $~lib/math/ipow32f + f32.const inf + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3507 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 i32.const 0 - i32.const 24 - i32.const 3530 + call $~lib/math/ipow32f + f32.const 1 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3508 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f32.MAX_VALUE + i32.const 2 + call $~lib/math/ipow32f + f32.const inf + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3509 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f32.MIN_VALUE + i32.const 2 + call $~lib/math/ipow32f + f32.const 0 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3510 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f32.MAX_VALUE + i32.const -1 + call $~lib/math/ipow32f + f32.const 2.938735877055719e-39 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3511 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 10 + i32.const 36 + call $~lib/math/ipow32f + f32.const 1000000040918478759629753e12 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3512 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 10 + i32.const -36 + call $~lib/math/ipow32f + f32.const 9.999999462560281e-37 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3513 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 10 - i32.const 127 - call $~lib/math/ipow64f - f64.const 1000000000000000195419867e103 - f64.eq - i32.eqz - if + call $~lib/math/ipow64f + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3517 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 i32.const 0 - i32.const 24 - i32.const 3531 + call $~lib/math/ipow64f + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3518 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + i32.const 1 + call $~lib/math/ipow64f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3519 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + i32.const -1 + call $~lib/math/ipow64f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3520 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + i32.const 2 + call $~lib/math/ipow64f + call $~lib/number/isNaN + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3521 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 10 - i32.const -127 - call $~lib/math/ipow64f - f64.const 9.999999999999998e-128 - f64.eq - i32.eqz - if + call $~lib/math/ipow64f + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3522 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + i32.const 1 + call $~lib/math/ipow64f + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3523 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg i32.const 0 - i32.const 24 - i32.const 3532 + call $~lib/math/ipow64f + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3524 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + i32.const 1 + call $~lib/math/ipow64f + f64.const inf + f64.neg + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3525 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + i32.const 2 + call $~lib/math/ipow64f + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3526 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 i32.const 0 - call $~lib/builtins/abort - unreachable + call $~lib/math/ipow64f + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3527 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + i32.const 2 + call $~lib/math/ipow64f + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3528 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MIN_VALUE + i32.const 2 + call $~lib/math/ipow64f + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3529 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + i32.const -1 + call $~lib/math/ipow64f + f64.const 5.562684646268003e-309 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3530 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 10 + i32.const 127 + call $~lib/math/ipow64f + f64.const 1000000000000000195419867e103 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3531 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 10 + i32.const -127 + call $~lib/math/ipow64f + f64.const 9.999999999999998e-128 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3532 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end + i32.const 288 + i32.const 24 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 166 ;) (type $FUNCSIG$v) + (func $start (; 170 ;) (type $FUNCSIG$v) call $start:std/math ) - (func $null (; 167 ;) (type $FUNCSIG$v) + (func $null (; 171 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/mod.untouched.wat b/tests/compiler/std/mod.untouched.wat index 857bd9e05d..70b70bb0b5 100644 --- a/tests/compiler/std/mod.untouched.wat +++ b/tests/compiler/std/mod.untouched.wat @@ -15,6 +15,7 @@ (data (i32.const 8) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $std/mod/js i32 (i32.const 1)) (export "memory" (memory $0)) (export "mod" (func $std/mod/mod)) diff --git a/tests/compiler/std/new.untouched.wat b/tests/compiler/std/new.untouched.wat index 7126f53af1..cf66c75f09 100644 --- a/tests/compiler/std/new.untouched.wat +++ b/tests/compiler/std/new.untouched.wat @@ -6,6 +6,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $std/new/AClass.aStaticField (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) diff --git a/tests/compiler/std/object-literal.untouched.wat b/tests/compiler/std/object-literal.untouched.wat index 7bae147431..86429079e9 100644 --- a/tests/compiler/std/object-literal.untouched.wat +++ b/tests/compiler/std/object-literal.untouched.wat @@ -11,6 +11,7 @@ (data (i32.const 48) "*\00\00\00\01\00\00\00\01\00\00\00*\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/heap/__heap_base i32 (i32.const 108)) diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index 67d1b8502b..df085377f2 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -12,6 +12,7 @@ (data (i32.const 8) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $std/operator-overloading/a1 (mut i32) (i32.const 0)) diff --git a/tests/compiler/std/pointer.untouched.wat b/tests/compiler/std/pointer.untouched.wat index cc13408cc6..555179ddcf 100644 --- a/tests/compiler/std/pointer.untouched.wat +++ b/tests/compiler/std/pointer.untouched.wat @@ -13,6 +13,7 @@ (data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $std/pointer/one (mut i32) (i32.const 0)) (global $std/pointer/two (mut i32) (i32.const 0)) (global $std/pointer/add (mut i32) (i32.const 0)) diff --git a/tests/compiler/std/polyfills.untouched.wat b/tests/compiler/std/polyfills.untouched.wat index b6c4f1406e..801ac02ad2 100644 --- a/tests/compiler/std/polyfills.untouched.wat +++ b/tests/compiler/std/polyfills.untouched.wat @@ -8,6 +8,7 @@ (data (i32.const 8) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00s\00t\00d\00/\00p\00o\00l\00y\00f\00i\00l\00l\00s\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $~lib/polyfills/bswap (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) diff --git a/tests/compiler/std/set.optimized.wat b/tests/compiler/std/set.optimized.wat index a9d9e3bb29..cb89419872 100644 --- a/tests/compiler/std/set.optimized.wat +++ b/tests/compiler/std/set.optimized.wat @@ -5,8 +5,8 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iij (func (param i32 i64) (result i32))) (type $FUNCSIG$ij (func (param i64) (result i32))) (type $FUNCSIG$iiji (func (param i32 i64 i32) (result i32))) @@ -19,20 +19,23 @@ (type $FUNCSIG$vid (func (param i32 f64))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 160) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 208) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\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 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 360) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s") - (data (i32.const 400) "\0d\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\004\04\00\00\00\00\00\004\00\00\00\00\00\00\00T\04\00\00\00\00\00\00T\00\00\00\00\00\00\00\94\04\00\00\00\00\00\00\94\00\00\00\00\00\00\00\14\05\00\00\00\00\00\00\14\01\00\00\00\00\00\00\94\0c\00\00\00\00\00\00\14\0d") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 140) "\01\00\00\00\01") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\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 208) "(\00\00\00\01\00\00\00\01\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 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 352) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s") + (data (i32.const 392) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (data (i32.const 440) "\0f\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\004\04\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\004\00\00\00\00\00\00\00T\04\00\00\00\00\00\00T\00\00\00\00\00\00\00\94\04\00\00\00\00\00\00\94\00\00\00\00\00\00\00\14\05\00\00\00\00\00\00\14\01\00\00\00\00\00\00\94\0c\00\00\00\00\00\00\14\0d") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) @@ -624,10 +627,10 @@ if unreachable end - i32.const 512 + i32.const 576 i32.const 0 i32.store - i32.const 2080 + i32.const 2144 i32.const 0 i32.store i32.const 0 @@ -641,7 +644,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 512 + i32.const 576 i32.add i32.const 0 i32.store offset=4 @@ -660,7 +663,7 @@ i32.add i32.const 2 i32.shl - i32.const 512 + i32.const 576 i32.add i32.const 0 i32.store offset=96 @@ -678,1074 +681,1159 @@ br $loop|0 end end - i32.const 512 - i32.const 2096 + i32.const 576 + i32.const 2160 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 512 + i32.const 576 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const -16 + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $0 - i32.const 16 + if + i32.const 0 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 16 + i32.const 564 i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - local.get $1 - i32.const 4 - i32.shr_u - local.set $1 - i32.const 0 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - local.get $1 - i32.add - i32.const 1 - i32.sub - local.set $1 - end - local.get $1 - i32.const 31 - local.get $1 - i32.clz - i32.sub - local.tee $2 - i32.const 4 - i32.sub - i32.shr_u + if + local.get $0 i32.const 16 - i32.xor - local.set $1 - local.get $2 - i32.const 7 i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load local.tee $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $1 - i32.const 16 - i32.lt_u - else - i32.const 0 - end - i32.eqz + i32.const 1 + i32.and if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end + local.get $1 local.get $2 - i32.const 2 - i32.shl + i32.const 1 + i32.or + i32.store local.get $0 - i32.add - i32.load offset=4 - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.get $2 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - local.get $0 - i32.load - i32.const -1 - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $1 - i32.ctz - local.tee $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.ctz - local.get $1 - i32.const 4 - i32.shl - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - else - i32.const 0 - end - end - ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - memory.size - local.tee $2 local.get $1 - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.tee $1 - local.get $2 + call $~lib/rt/tlsf/insertBlock local.get $1 - i32.gt_s - select - memory.grow - i32.const 0 - i32.lt_s + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 440 + i32.load + i32.gt_u if - local.get $1 - memory.grow i32.const 0 - i32.lt_s - if - unreachable - end + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 - local.get $2 - i32.const 16 - i32.shl - memory.size - i32.const 16 + i32.const 3 i32.shl - call $~lib/rt/tlsf/addMemory + i32.const 444 + i32.add + i32.load ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $4 - i32.const 32 - i32.ge_u - if - local.get $1 - local.get $3 - i32.const 2 - i32.and + block $~lib/util/memory/memmove|inlined.0 local.get $2 - i32.or - i32.store + local.set $3 + local.get $0 local.get $1 - i32.const 16 - i32.add - local.get $2 - i32.add - local.tee $1 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store + i32.eq + br_if $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const -2 - i32.and - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - local.get $1 - i32.const 16 - i32.add - local.get $1 - i32.load - i32.const -4 - i32.and - i32.add - i32.load - i32.const -3 - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.tee $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz - if - local.get $0 - local.get $3 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $3 - call $~lib/rt/tlsf/searchBlock - local.tee $2 - i32.eqz + i32.lt_u if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $continue|0 + local.get $0 + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $4 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $4 + i32.load8_u + i32.store8 + br $continue|0 + end + end + loop $continue|1 + local.get $3 + i32.const 8 + i32.lt_u + i32.eqz + if + local.get $0 + local.get $1 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $continue|1 + end + end + end + loop $continue|2 + local.get $3 + if + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $4 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $4 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $continue|3 + local.get $0 + local.get $3 + i32.add + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + end + loop $continue|4 + local.get $3 + i32.const 8 + i32.lt_u + i32.eqz + if + local.get $0 + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + i32.add + local.get $1 + local.get $3 + i32.add + i64.load + i64.store + br $continue|4 + end + end + end + loop $continue|5 + local.get $3 + if + local.get $0 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + end end end - local.get $2 - i32.load - i32.const -4 - i32.and - local.get $3 - i32.lt_u + ) + (func $~lib/rt/tlsf/__free (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz if i32.const 0 i32.const 24 - i32.const 479 + i32.const 561 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 + i32.const 15 + i32.and + i32.eqz i32.const 0 - i32.store offset=4 - local.get $2 - local.get $1 - i32.store offset=12 local.get $0 - local.get $2 - call $~lib/rt/tlsf/removeBlock + select + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/tlsf/ROOT local.get $0 - local.get $2 - local.get $3 - call $~lib/rt/tlsf/prepareBlock - local.get $2 - call $~lib/rt/rtrace/onalloc - local.get $2 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/pure/growRoots (; 15 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) (local $2 i32) - global.get $~lib/rt/tlsf/ROOT + (local $3 i32) + global.get $~lib/rt/pure/CUR + global.get $~lib/rt/pure/ROOTS + local.tee $1 + i32.sub local.tee $2 - if (result i32) - local.get $2 - else - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - end + i32.const 1 + i32.shl + local.tee $0 + i32.const 256 local.get $0 - call $~lib/rt/tlsf/allocateBlock + i32.const 256 + i32.gt_u + select + local.tee $3 + i32.const 0 + call $~lib/rt/tlsf/__alloc local.tee $0 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onfree + local.get $0 local.get $1 - i32.store offset=8 + local.get $2 + call $~lib/memory/memory.copy + local.get $1 + if + local.get $1 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onalloc + local.get $1 + call $~lib/rt/tlsf/__free + end local.get $0 - i32.const 16 + global.set $~lib/rt/pure/ROOTS + local.get $0 + local.get $2 i32.add + global.set $~lib/rt/pure/CUR + local.get $0 + local.get $3 + i32.add + global.set $~lib/rt/pure/END ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/appendRoot (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - local.get $0 - i32.load offset=4 + global.get $~lib/rt/pure/CUR local.tee $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne + global.get $~lib/rt/pure/END + i32.ge_u if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable + call $~lib/rt/pure/growRoots + global.get $~lib/rt/pure/CUR + local.set $1 end + local.get $1 local.get $0 + i32.store local.get $1 - i32.const 1 + i32.const 4 i32.add - i32.store offset=4 + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 268435455 + i32.and + local.set $1 local.get $0 - call $~lib/rt/rtrace/onincrement + call $~lib/rt/rtrace/ondecrement local.get $0 i32.load i32.const 1 i32.and if i32.const 0 - i32.const 128 - i32.const 107 + i32.const 72 + i32.const 115 i32.const 13 call $~lib/builtins/abort unreachable end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 508 - i32.gt_u + local.get $1 + i32.const 1 + i32.eq if local.get $0 i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/memory/memory.fill (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - block $~lib/util/memory/memset|inlined.0 - local.get $1 - i32.eqz - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 0 - i32.store8 - local.get $0 - local.get $1 i32.add i32.const 1 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 2 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 1 - i32.add - i32.const 0 - i32.store8 - local.get $0 - i32.const 2 - i32.add - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - local.tee $2 - i32.const 2 - i32.sub - i32.const 0 - i32.store8 + call $~lib/rt/__visit_members local.get $2 - i32.const 3 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 6 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 3 - i32.add - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - i32.const 4 - i32.sub - i32.const 0 - i32.store8 - local.get $1 - i32.const 8 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $1 - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.tee $1 - i32.sub - local.get $0 - local.get $1 - i32.add - local.tee $0 - i32.const 0 - i32.store - i32.const -4 + i32.const -2147483648 i32.and - local.tee $1 - local.get $0 - i32.add - i32.const 4 - i32.sub - i32.const 0 - i32.store - local.get $1 - i32.const 8 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 4 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 8 - i32.add - i32.const 0 - i32.store - local.get $0 + if + local.get $0 + i32.const -2147483648 + i32.store offset=4 + else + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + end + else local.get $1 - i32.add - local.tee $2 - i32.const 12 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 8 - i32.sub i32.const 0 - i32.store - local.get $1 - i32.const 24 i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 12 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 16 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 20 - i32.add - i32.const 0 - i32.store - local.get $0 - i32.const 24 - i32.add - i32.const 0 - i32.store + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end local.get $0 - local.get $1 - i32.add - local.tee $2 - i32.const 28 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 24 - i32.sub - i32.const 0 - i32.store - local.get $2 - i32.const 20 - i32.sub - i32.const 0 - i32.store - local.get $2 + i32.load offset=8 + call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 - i32.sub - i32.const 0 - i32.store - local.get $0 - i32.const 4 i32.and - i32.const 24 - i32.add - local.tee $2 - local.get $0 - i32.add - local.set $0 - local.get $1 - local.get $2 - i32.sub - local.set $1 - loop $continue|0 + if + local.get $0 local.get $1 - i32.const 32 - i32.ge_u - if - local.get $0 - i64.const 0 - i64.store - local.get $0 - i32.const 8 - i32.add - i64.const 0 - i64.store - local.get $0 - i32.const 16 - i32.add - i64.const 0 - i64.store - local.get $0 - i32.const 24 - i32.add - i64.const 0 - i64.store - local.get $1 - i32.const 32 - i32.sub - local.set $1 - local.get $0 - i32.const 32 - i32.add - local.set $0 - br $continue|0 + i32.const 1 + i32.sub + local.get $2 + i32.const -268435456 + i32.and + i32.or + i32.store offset=4 + else + local.get $0 + local.get $1 + i32.const 1 + i32.sub + i32.const -1342177280 + i32.or + i32.store offset=4 + local.get $2 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot end end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/rt/pure/__release (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 1073741808 + i32.const 564 i32.gt_u if - i32.const 176 - i32.const 224 - i32.const 56 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement end - local.get $0 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.tee $1 - local.get $0 - call $~lib/memory/memory.fill - local.get $1 - call $~lib/rt/pure/__retain ) - (func $~lib/rt/tlsf/freeBlock (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/error/Error#constructor (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 - i32.load - local.tee $2 - i32.const 1 - i32.and + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 end - local.get $1 - local.get $2 - i32.const 1 - i32.or + local.get $0 + i32.const 120 + call $~lib/rt/pure/__retain i32.store local.get $0 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/rt/tlsf/insertBlock + i32.store offset=8 local.get $1 - call $~lib/rt/rtrace/onfree + call $~lib/rt/pure/__release + local.get $0 ) - (func $~lib/rt/__typeinfo (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 400 - i32.load - i32.gt_u + i32.const 1073741808 + i32.ge_u if - i32.const 280 - i32.const 336 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 - i32.const 3 - i32.shl - i32.const 404 + i32.const 15 i32.add - i32.load + i32.const -16 + i32.and + local.tee $0 + i32.const 16 + local.get $0 + i32.const 16 + i32.gt_u + select ) - (func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $2 - local.set $3 - local.get $0 + (func $~lib/rt/tlsf/searchBlock (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) local.get $1 - i32.eq - br_if $~lib/util/memory/memmove|inlined.0 - local.get $0 + i32.const 4 + i32.shr_u + local.set $1 + i32.const 0 + else local.get $1 + i32.const 536870904 i32.lt_u if + i32.const 1 + i32.const 27 local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $continue|0 - local.get $0 - i32.const 7 - i32.and - if - local.get $3 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $4 - i32.load8_u - i32.store8 - br $continue|0 - end - end - loop $continue|1 - local.get $3 - i32.const 8 - i32.lt_u - i32.eqz - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - br $continue|1 - end - end - end - loop $continue|2 - local.get $3 - if - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $4 - i32.load8_u - i32.store8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $continue|2 - end - end - else + i32.clz + i32.sub + i32.shl local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $continue|3 - local.get $0 - local.get $3 - i32.add - i32.const 7 - i32.and - if - local.get $3 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $1 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - end - loop $continue|4 - local.get $3 - i32.const 8 - i32.lt_u - i32.eqz - if - local.get $0 - local.get $3 - i32.const 8 - i32.sub - local.tee $3 - i32.add - local.get $1 - local.get $3 - i32.add - i64.load - i64.store - br $continue|4 - end - end - end - loop $continue|5 - local.get $3 - if - local.get $0 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $1 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end + i32.add + i32.const 1 + i32.sub + local.set $1 end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $1 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $1 + i32.const 16 + i32.lt_u + else + i32.const 0 end - ) - (func $~lib/rt/tlsf/__free (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT i32.eqz if i32.const 0 i32.const 24 - i32.const 561 + i32.const 337 i32.const 13 call $~lib/builtins/abort unreachable end + local.get $2 + i32.const 2 + i32.shl local.get $0 - i32.const 15 + i32.add + i32.load offset=4 + i32.const -1 + local.get $1 + i32.shl i32.and - i32.eqz + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.tee $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.ctz + local.get $1 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + i32.const 0 + end + end + ) + (func $~lib/rt/tlsf/growMemory (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + memory.size + local.tee $2 + local.get $1 + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $1 + local.get $2 + local.get $1 + i32.gt_s + select + memory.grow i32.const 0 + i32.lt_s + if + local.get $1 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end local.get $0 - select - i32.eqz + local.get $2 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + ) + (func $~lib/rt/tlsf/prepareBlock (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and if i32.const 0 i32.const 24 - i32.const 562 - i32.const 2 + i32.const 364 + i32.const 13 call $~lib/builtins/abort unreachable end - global.get $~lib/rt/tlsf/ROOT - local.get $0 - i32.const 16 + local.get $3 + i32.const -4 + i32.and + local.get $2 i32.sub - call $~lib/rt/tlsf/freeBlock + local.tee $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $3 + i32.const 2 + i32.and + local.get $2 + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + local.tee $1 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const -2 + i32.and + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + i32.load + i32.const -3 + i32.and + i32.store + end ) - (func $~lib/rt/pure/growRoots (; 23 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/allocateBlock (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/pure/CUR - global.get $~lib/rt/pure/ROOTS - local.tee $1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - local.tee $0 - i32.const 256 - local.get $0 - i32.const 256 - i32.gt_u - select - local.tee $3 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.tee $0 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onfree - local.get $0 local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end local.get $2 - call $~lib/memory/memory.copy - local.get $1 + i32.load + i32.const -4 + i32.and + local.get $3 + i32.lt_u if - local.get $1 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onalloc - local.get $1 - call $~lib/rt/tlsf/__free + i32.const 0 + i32.const 24 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable end - local.get $0 - global.set $~lib/rt/pure/ROOTS + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + local.get $1 + i32.store offset=12 local.get $0 local.get $2 - i32.add - global.set $~lib/rt/pure/CUR + call $~lib/rt/tlsf/removeBlock local.get $0 + local.get $2 local.get $3 - i32.add - global.set $~lib/rt/pure/END + call $~lib/rt/tlsf/prepareBlock + local.get $2 + call $~lib/rt/rtrace/onalloc + local.get $2 ) - (func $~lib/rt/pure/appendRoot (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - global.get $~lib/rt/pure/CUR - local.tee $1 - global.get $~lib/rt/pure/END - i32.ge_u + (func $~lib/rt/tlsf/__alloc (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/rt/tlsf/ROOT + local.tee $2 + if (result i32) + local.get $2 + else + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + end + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $0 + global.get $~lib/error if - call $~lib/rt/pure/growRoots - global.get $~lib/rt/pure/CUR - local.set $1 + i32.const 0 + return end - local.get $1 local.get $0 - i32.store local.get $1 - i32.const 4 + i32.store offset=8 + local.get $0 + i32.const 16 i32.add - global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/error/RangeError#constructor (; 26 ;) (type $FUNCSIG$i) (result i32) + (local $0 i32) (local $1 i32) (local $2 i32) - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 268435455 - i32.and - local.set $1 - local.get $0 - call $~lib/rt/rtrace/ondecrement + i32.const 320 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + i32.const 320 + call $~lib/error/Error#constructor + local.tee $0 local.get $0 i32.load - i32.const 1 - i32.and + local.tee $2 + i32.const 280 + i32.ne if - i32.const 0 - i32.const 128 - i32.const 115 - i32.const 13 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release end - local.get $1 - i32.const 1 - i32.eq - if + i32.const 280 + i32.store + i32.const 320 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/memory/memory.fill (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + block $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.eqz + br_if $~lib/util/memory/memset|inlined.0 local.get $0 - i32.const 16 + i32.const 0 + i32.store8 + local.get $0 + local.get $1 i32.add i32.const 1 - call $~lib/rt/__visit_members + i32.sub + i32.const 0 + i32.store8 + local.get $1 + i32.const 2 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 1 + i32.add + i32.const 0 + i32.store8 + local.get $0 + i32.const 2 + i32.add + i32.const 0 + i32.store8 + local.get $0 + local.get $1 + i32.add + local.tee $2 + i32.const 2 + i32.sub + i32.const 0 + i32.store8 local.get $2 - i32.const -2147483648 + i32.const 3 + i32.sub + i32.const 0 + i32.store8 + local.get $1 + i32.const 6 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 3 + i32.add + i32.const 0 + i32.store8 + local.get $0 + local.get $1 + i32.add + i32.const 4 + i32.sub + i32.const 0 + i32.store8 + local.get $1 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.const 0 + local.get $0 + i32.sub + i32.const 3 i32.and - if - local.get $0 - i32.const -2147483648 - i32.store offset=4 - else - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - end - else + local.tee $1 + i32.sub + local.get $0 + local.get $1 + i32.add + local.tee $0 + i32.const 0 + i32.store + i32.const -4 + i32.and + local.tee $1 + local.get $0 + i32.add + i32.const 4 + i32.sub + i32.const 0 + i32.store + local.get $1 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 4 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 8 + i32.add + i32.const 0 + i32.store + local.get $0 local.get $1 + i32.add + local.tee $2 + i32.const 12 + i32.sub + i32.const 0 + i32.store + local.get $2 + i32.const 8 + i32.sub i32.const 0 + i32.store + local.get $1 + i32.const 24 i32.le_u - if - i32.const 0 - i32.const 128 - i32.const 124 - i32.const 15 - call $~lib/builtins/abort - unreachable - end + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 12 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 16 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 20 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 24 + i32.add + i32.const 0 + i32.store local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo + local.get $1 + i32.add + local.tee $2 + i32.const 28 + i32.sub + i32.const 0 + i32.store + local.get $2 + i32.const 24 + i32.sub + i32.const 0 + i32.store + local.get $2 + i32.const 20 + i32.sub + i32.const 0 + i32.store + local.get $2 i32.const 16 + i32.sub + i32.const 0 + i32.store + local.get $0 + i32.const 4 i32.and - if - local.get $0 - local.get $1 - i32.const 1 - i32.sub - local.get $2 - i32.const -268435456 - i32.and - i32.or - i32.store offset=4 - else - local.get $0 + i32.const 24 + i32.add + local.tee $2 + local.get $0 + i32.add + local.set $0 + local.get $1 + local.get $2 + i32.sub + local.set $1 + loop $continue|0 local.get $1 - i32.const 1 - i32.sub - i32.const -1342177280 - i32.or - i32.store offset=4 - local.get $2 - i32.const -2147483648 - i32.and - i32.eqz + i32.const 32 + i32.ge_u if local.get $0 - call $~lib/rt/pure/appendRoot + i64.const 0 + i64.store + local.get $0 + i32.const 8 + i32.add + i64.const 0 + i64.store + local.get $0 + i32.const 16 + i32.add + i64.const 0 + i64.store + local.get $0 + i32.const 24 + i32.add + i64.const 0 + i64.store + local.get $1 + i32.const 32 + i32.sub + local.set $1 + local.get $0 + i32.const 32 + i32.add + local.set $0 + br $continue|0 end end end ) - (func $~lib/rt/pure/__release (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 - i32.const 508 + i32.const 1073741808 i32.gt_u if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $1 + global.get $~lib/error + if + i32.const 0 + return end + local.get $1 + local.get $0 + call $~lib/memory/memory.fill + local.get $1 + call $~lib/rt/pure/__retain ) - (func $~lib/set/Set#clear (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.load call $~lib/rt/pure/__release local.get $0 @@ -1757,7 +1845,11 @@ i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.load offset=8 call $~lib/rt/pure/__release local.get $0 @@ -1773,7 +1865,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 28 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 30 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 i32.const 3 @@ -1799,16 +1891,21 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash8 (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash8 (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const -2128831035 i32.xor i32.const 16777619 i32.mul ) - (func $~lib/set/Set#find (; 30 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 32 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -1853,7 +1950,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1866,7 +1963,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1882,6 +1979,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -1892,6 +1993,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.tee $2 @@ -1992,7 +2097,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2036,6 +2141,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -2079,7 +2188,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -2142,11 +2251,15 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 35 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 37 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -2157,7 +2270,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -2166,6 +2279,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -2177,7 +2294,7 @@ br $loop|0 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -2192,7 +2309,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -2211,7 +2328,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort @@ -2220,6 +2337,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -2231,7 +2352,7 @@ br $loop|1 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -2246,7 +2367,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -2265,7 +2386,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort @@ -2274,12 +2395,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort @@ -2300,7 +2425,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -2318,7 +2443,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort @@ -2327,13 +2452,17 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort @@ -2342,12 +2471,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -2368,7 +2501,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort @@ -2376,11 +2509,15 @@ end local.get $1 call $~lib/set/Set#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -2389,10 +2526,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#constructor (; 36 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 38 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -2415,9 +2552,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/set/Set#has (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -2428,7 +2570,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2444,6 +2586,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -2454,6 +2600,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.tee $2 @@ -2554,7 +2704,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2596,6 +2746,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -2639,7 +2793,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 42 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -2700,11 +2854,15 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 41 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 43 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -2715,7 +2873,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -2724,6 +2882,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -2735,7 +2897,7 @@ br $loop|0 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -2750,7 +2912,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -2769,7 +2931,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort @@ -2778,6 +2940,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -2789,7 +2955,7 @@ br $loop|1 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -2804,7 +2970,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -2823,7 +2989,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort @@ -2832,12 +2998,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort @@ -2858,7 +3028,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -2876,7 +3046,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort @@ -2885,13 +3055,17 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort @@ -2900,12 +3074,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -2926,7 +3104,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort @@ -2934,11 +3112,15 @@ end local.get $1 call $~lib/set/Set#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -2947,10 +3129,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#constructor (; 42 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 44 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 5 + i32.const 7 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -2973,9 +3155,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash16 (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash16 (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -2990,7 +3177,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/set/Set#find (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -3035,7 +3222,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -3048,7 +3235,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 46 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3064,6 +3251,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -3074,6 +3265,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.tee $2 @@ -3174,7 +3369,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 47 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3218,6 +3413,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -3261,7 +3460,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -3324,11 +3523,15 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 49 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 51 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -3339,7 +3542,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -3348,6 +3551,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -3359,7 +3566,7 @@ br $loop|0 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -3374,7 +3581,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -3393,7 +3600,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort @@ -3402,6 +3609,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -3413,7 +3624,7 @@ br $loop|1 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -3428,7 +3639,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -3447,7 +3658,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort @@ -3456,12 +3667,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort @@ -3482,7 +3697,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -3500,7 +3715,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort @@ -3509,13 +3724,17 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort @@ -3524,12 +3743,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -3550,7 +3773,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort @@ -3558,11 +3781,15 @@ end local.get $1 call $~lib/set/Set#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -3571,10 +3798,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#constructor (; 50 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 52 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 6 + i32.const 8 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -3597,9 +3824,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/set/Set#has (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -3610,7 +3842,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3626,6 +3858,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -3636,6 +3872,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.tee $2 @@ -3736,7 +3976,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3778,6 +4018,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -3821,7 +4065,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 56 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -3882,11 +4126,15 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 55 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 57 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -3897,7 +4145,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -3906,6 +4154,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -3917,7 +4169,7 @@ br $loop|0 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -3932,7 +4184,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -3951,7 +4203,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort @@ -3960,6 +4212,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -3971,7 +4227,7 @@ br $loop|1 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -3986,7 +4242,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -4005,7 +4261,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort @@ -4014,12 +4270,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort @@ -4040,7 +4300,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -4058,7 +4318,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort @@ -4067,13 +4327,17 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort @@ -4082,12 +4346,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -4108,7 +4376,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort @@ -4116,11 +4384,15 @@ end local.get $1 call $~lib/set/Set#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -4129,10 +4401,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#constructor (; 56 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 58 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 7 + i32.const 9 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -4155,9 +4427,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash32 (; 57 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -4188,7 +4465,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/set/Set#find (; 58 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -4231,7 +4508,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 61 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -4240,7 +4517,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 60 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4256,6 +4533,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -4266,6 +4547,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.tee $2 @@ -4366,7 +4651,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 61 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4406,6 +4691,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -4449,7 +4738,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -4508,11 +4797,15 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 63 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 65 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -4523,7 +4816,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -4532,6 +4825,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -4543,7 +4840,7 @@ br $loop|0 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -4558,7 +4855,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -4577,7 +4874,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort @@ -4586,6 +4883,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -4597,7 +4898,7 @@ br $loop|1 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -4612,7 +4913,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -4631,7 +4932,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort @@ -4640,12 +4941,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort @@ -4666,7 +4971,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -4684,7 +4989,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort @@ -4693,13 +4998,17 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort @@ -4708,12 +5017,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -4734,7 +5047,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort @@ -4742,11 +5055,15 @@ end local.get $1 call $~lib/set/Set#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -4755,10 +5072,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#constructor (; 64 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 66 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 8 + i32.const 10 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -4781,13 +5098,22 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $std/set/testNumeric (; 65 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 67 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i32.const 100 @@ -4798,7 +5124,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -4807,6 +5133,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -4818,7 +5148,7 @@ br $loop|0 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -4833,7 +5163,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -4852,7 +5182,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort @@ -4861,6 +5191,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -4872,7 +5206,7 @@ br $loop|1 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -4887,7 +5221,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -4906,7 +5240,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort @@ -4915,12 +5249,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort @@ -4941,7 +5279,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -4959,7 +5297,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort @@ -4968,13 +5306,17 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort @@ -4983,12 +5325,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -5009,7 +5355,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort @@ -5017,11 +5363,15 @@ end local.get $1 call $~lib/set/Set#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -5030,12 +5380,16 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#clear (; 66 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 68 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.load call $~lib/rt/pure/__release local.get $0 @@ -5047,7 +5401,11 @@ i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.load offset=8 call $~lib/rt/pure/__release local.get $0 @@ -5063,10 +5421,10 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 67 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 69 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 9 + i32.const 11 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -5089,9 +5447,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash64 (; 68 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/hash/hash64 (; 70 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i32.wrap_i64 @@ -5157,7 +5520,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/set/Set#find (; 69 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 71 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -5200,7 +5563,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 70 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#has (; 72 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) local.get $0 local.get $1 local.get $1 @@ -5209,7 +5572,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 71 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 73 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5225,6 +5588,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -5235,6 +5602,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.tee $2 @@ -5335,7 +5706,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 72 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#add (; 74 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5375,6 +5746,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -5418,7 +5793,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 73 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#delete (; 75 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) local.get $0 @@ -5478,11 +5853,15 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 74 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 76 ;) (type $FUNCSIG$v) (local $0 i64) (local $1 i32) call $~lib/set/Set#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i64.const 100 @@ -5493,7 +5872,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -5502,6 +5881,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -5513,7 +5896,7 @@ br $loop|0 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -5528,7 +5911,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -5547,7 +5930,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort @@ -5556,6 +5939,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -5567,7 +5954,7 @@ br $loop|1 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -5582,7 +5969,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -5601,7 +5988,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort @@ -5610,12 +5997,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort @@ -5636,7 +6027,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -5654,7 +6045,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort @@ -5663,13 +6054,17 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort @@ -5678,12 +6073,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -5704,7 +6103,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort @@ -5712,11 +6111,15 @@ end local.get $1 call $~lib/set/Set#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -5725,10 +6128,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#constructor (; 75 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 77 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 10 + i32.const 12 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -5751,13 +6154,22 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $std/set/testNumeric (; 76 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 78 ;) (type $FUNCSIG$v) (local $0 i64) (local $1 i32) call $~lib/set/Set#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 i64.const 100 @@ -5768,7 +6180,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -5777,6 +6189,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -5788,7 +6204,7 @@ br $loop|0 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -5803,7 +6219,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -5822,7 +6238,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort @@ -5831,6 +6247,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -5842,7 +6262,7 @@ br $loop|1 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -5857,7 +6277,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -5876,7 +6296,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort @@ -5885,12 +6305,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort @@ -5911,7 +6335,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -5929,7 +6353,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort @@ -5938,13 +6362,17 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort @@ -5953,12 +6381,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -5979,7 +6411,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort @@ -5987,11 +6419,15 @@ end local.get $1 call $~lib/set/Set#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -6000,10 +6436,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#constructor (; 77 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 79 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 11 + i32.const 13 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -6026,9 +6462,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/set/Set#find (; 78 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 80 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -6071,7 +6512,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 79 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/set/Set#has (; 81 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) local.get $0 local.get $1 local.get $1 @@ -6081,7 +6522,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 80 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6097,6 +6538,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -6107,6 +6552,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.tee $2 @@ -6208,7 +6657,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 81 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) + (func $~lib/set/Set#add (; 83 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6249,6 +6698,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -6292,7 +6745,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 82 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) + (func $~lib/set/Set#delete (; 84 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) local.get $0 @@ -6353,11 +6806,15 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 83 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 85 ;) (type $FUNCSIG$v) (local $0 f32) (local $1 i32) call $~lib/set/Set#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 f32.const 100 @@ -6368,7 +6825,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -6377,6 +6834,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -6388,7 +6849,7 @@ br $loop|0 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -6403,7 +6864,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -6422,7 +6883,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort @@ -6431,6 +6892,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -6442,7 +6907,7 @@ br $loop|1 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -6457,7 +6922,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -6476,7 +6941,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort @@ -6485,12 +6950,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort @@ -6511,7 +6980,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -6529,7 +6998,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort @@ -6538,13 +7007,17 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort @@ -6553,12 +7026,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -6579,7 +7056,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort @@ -6587,11 +7064,15 @@ end local.get $1 call $~lib/set/Set#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -6600,10 +7081,10 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#constructor (; 84 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 86 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 12 + i32.const 14 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.tee $0 @@ -6626,9 +7107,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/set/Set#find (; 85 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 87 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -6671,7 +7157,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 86 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/set/Set#has (; 88 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) local.get $0 local.get $1 local.get $1 @@ -6681,7 +7167,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 87 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 89 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6697,6 +7183,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $3 f64.convert_i32_s f64.const 2.6666666666666665 @@ -6707,6 +7197,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.tee $2 @@ -6808,7 +7302,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 88 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) + (func $~lib/set/Set#add (; 90 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6849,6 +7343,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -6892,7 +7390,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 89 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) + (func $~lib/set/Set#delete (; 91 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (local $2 i32) (local $3 i32) local.get $0 @@ -6953,11 +7451,15 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 90 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 92 ;) (type $FUNCSIG$v) (local $0 f64) (local $1 i32) call $~lib/set/Set#constructor local.set $1 + global.get $~lib/error + if + return + end loop $loop|0 local.get $0 f64.const 100 @@ -6968,7 +7470,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort @@ -6977,6 +7479,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -6988,7 +7494,7 @@ br $loop|0 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort @@ -7003,7 +7509,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -7022,7 +7528,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort @@ -7031,6 +7537,10 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has @@ -7042,7 +7552,7 @@ br $loop|1 else i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort @@ -7057,7 +7567,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -7076,7 +7586,7 @@ i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort @@ -7085,12 +7595,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort @@ -7111,7 +7625,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -7129,7 +7643,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort @@ -7138,13 +7652,17 @@ local.get $1 local.get $0 call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort @@ -7153,12 +7671,16 @@ local.get $1 local.get $0 call $~lib/set/Set#delete + global.get $~lib/error + if + return + end local.get $1 local.get $0 call $~lib/set/Set#has if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort @@ -7179,7 +7701,7 @@ i32.ne if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort @@ -7187,11 +7709,15 @@ end local.get $1 call $~lib/set/Set#clear + global.get $~lib/error + if + return + end local.get $1 i32.load offset=20 if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort @@ -7200,19 +7726,51 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $start (; 91 ;) (type $FUNCSIG$v) + (func $start:std/set (; 93 ;) (type $FUNCSIG$v) call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + call $std/set/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/set/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/set/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/set/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/set/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/set/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/set/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/set/testNumeric + global.get $~lib/error + br_if $uncaughtError + call $std/set/testNumeric + global.get $~lib/error + br_if $uncaughtError + return + end + i32.const 408 + i32.const 368 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $~lib/rt/pure/markGray (; 92 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $start (; 94 ;) (type $FUNCSIG$v) + call $start:std/set + ) + (func $~lib/rt/pure/markGray (; 95 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -7236,7 +7794,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 93 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 96 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -7249,7 +7807,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 94 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 97 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -7283,7 +7841,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 95 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 98 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -7316,9 +7874,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 96 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 99 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 508 + i32.const 564 i32.lt_u if return @@ -7351,6 +7909,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -7361,7 +7923,7 @@ i32.le_u if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -7394,7 +7956,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -7419,28 +7981,56 @@ br $break|0 end i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/rt/__visit_members (; 97 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 100 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $folding-inner0 block $switch$1$default - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $folding-inner0 $switch$1$case$6 $switch$1$case$6 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 local.tee $0 if local.get $0 @@ -7455,12 +8045,16 @@ i32.load local.get $1 call $~lib/rt/pure/__visit - local.get $0 - i32.load offset=8 - local.get $1 - call $~lib/rt/pure/__visit + global.get $~lib/error + i32.eqz + if + local.get $0 + i32.load offset=8 + local.get $1 + call $~lib/rt/pure/__visit + end ) - (func $null (; 98 ;) (type $FUNCSIG$v) + (func $null (; 101 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/set.untouched.wat b/tests/compiler/std/set.untouched.wat index 81a775de6b..1c7659784c 100644 --- a/tests/compiler/std/set.untouched.wat +++ b/tests/compiler/std/set.untouched.wat @@ -5,8 +5,8 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iij (func (param i32 i64) (result i32))) (type $FUNCSIG$ij (func (param i64) (result i32))) (type $FUNCSIG$iiji (func (param i32 i64 i32) (result i32))) @@ -18,29 +18,32 @@ (type $FUNCSIG$iidi (func (param i32 f64 i32) (result i32))) (type $FUNCSIG$vid (func (param i32 f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (memory $0 1) (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 56) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 160) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 208) "&\00\00\00\01\00\00\00\01\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") - (data (i32.const 264) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 360) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00") - (data (i32.const 400) "\0d\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\004\04\00\00\00\00\00\004\00\00\00\00\00\00\00T\04\00\00\00\00\00\00T\00\00\00\00\00\00\00\94\04\00\00\00\00\00\00\94\00\00\00\00\00\00\00\14\05\00\00\00\00\00\00\14\01\00\00\00\00\00\00\94\0c\00\00\00\00\00\00\14\0d\00\00\00\00\00\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 136) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 152) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 208) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 264) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 304) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 352) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00") + (data (i32.const 392) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") + (data (i32.const 440) "\0f\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\004\04\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\004\00\00\00\00\00\00\00T\04\00\00\00\00\00\00T\00\00\00\00\00\00\00\94\04\00\00\00\00\00\00\94\00\00\00\00\00\00\00\14\05\00\00\00\00\00\00\14\01\00\00\00\00\00\00\94\0c\00\00\00\00\00\00\14\0d\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 400)) - (global $~lib/heap/__heap_base i32 (i32.const 508)) + (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 440)) + (global $~lib/heap/__heap_base i32 (i32.const 564)) (export "memory" (memory $0)) (start $start) (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -896,1011 +899,275 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/pure/increment (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - (local $2 i32) local.get $0 - i32.const 1073741808 - i32.ge_u + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz if + i32.const 0 i32.const 72 - i32.const 24 - i32.const 447 - i32.const 29 + i32.const 104 + i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 - i32.const 15 + local.get $1 + i32.const 1 i32.add - i32.const 15 - i32.const -1 - i32.xor + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 i32.and - local.tee $1 - i32.const 16 - local.tee $2 - local.get $1 - local.get $2 - i32.gt_u - select - ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (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 $8 i32) - (local $9 i32) - local.get $1 - i32.const 256 - i32.lt_u + i32.eqz + i32.eqz if i32.const 0 - local.set $2 - local.get $1 - i32.const 4 - i32.shr_u - local.set $3 - else - local.get $1 - i32.const 536870904 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.const 27 - local.get $1 - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $1 - end - local.set $4 - i32.const 31 - local.get $4 - i32.clz - i32.sub - local.set $2 - local.get $4 - local.get $2 - i32.const 4 - i32.sub - i32.shr_u - i32.const 1 - i32.const 4 - i32.shl - i32.xor - local.set $3 - local.get $2 - i32.const 8 - i32.const 1 - i32.sub - i32.sub - local.set $2 + i32.const 72 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable end - local.get $2 - i32.const 23 - i32.lt_u - if (result i32) - local.get $3 + ) + (func $~lib/rt/pure/__retain (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 i32.const 16 - i32.lt_u - else - i32.const 0 + i32.sub + call $~lib/rt/pure/increment end + local.get $0 + ) + (func $~lib/rt/tlsf/freeBlock (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz i32.eqz if i32.const 0 i32.const 24 - i32.const 337 - i32.const 13 + i32.const 531 + i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $5 + local.get $1 local.get $2 - local.set $4 - local.get $5 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.shl - i32.and - local.set $6 - i32.const 0 - local.set $7 - local.get $6 - i32.eqz + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u if - local.get $0 - i32.load i32.const 0 - i32.const -1 - i32.xor - local.get $2 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - i32.const 0 - local.set $7 - else - local.get $5 - i32.ctz - local.set $2 - local.get $0 - local.set $8 + i32.const 168 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $break|0 + loop $continue|0 local.get $2 - local.set $4 - local.get $8 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load offset=4 - local.set $6 - local.get $6 - i32.eqz - if + if (result i32) + local.get $1 + i32.const 3 + i32.and + else i32.const 0 - i32.const 24 - i32.const 350 - i32.const 17 - call $~lib/builtins/abort - unreachable end + i32.eqz + br_if $break|0 local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl + local.tee $5 + i32.const 1 i32.add - i32.load offset=96 - local.set $7 + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 end - else - local.get $0 - local.set $9 - local.get $2 - local.set $8 - local.get $6 - i32.ctz - local.set $4 - local.get $9 - local.get $8 - i32.const 4 - i32.shl - local.get $4 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load offset=96 - local.set $7 + unreachable end - local.get $7 - ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - memory.size - local.set $2 - local.get $1 - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor + local.get $0 + i32.const 3 i32.and - i32.const 16 - i32.shr_u - local.set $3 - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $6 - local.get $6 - memory.grow i32.const 0 - i32.lt_s + i32.eq if - local.get $3 - memory.grow - i32.const 0 - i32.lt_s - if + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|1 + end unreachable end - end - memory.size - local.set $7 - local.get $0 - local.get $2 - i32.const 16 - i32.shl - local.get $7 - i32.const 16 - i32.shl - call $~lib/rt/tlsf/addMemory - drop - ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.load - local.set $3 - local.get $2 - i32.const 15 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 364 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $4 - local.get $4 - i32.const 32 - i32.ge_u - if - local.get $1 local.get $2 - local.get $3 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 i32.const 2 i32.and - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.get $2 - i32.add - local.set $5 - local.get $5 - local.get $4 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $5 - call $~lib/rt/tlsf/insertBlock - else - local.get $1 - local.get $3 - i32.const 1 - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $1 - local.set $5 - local.get $5 - i32.const 16 - i32.add - local.get $5 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - i32.load - i32.const 2 - i32.const -1 - i32.xor - i32.and - i32.store - end - ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - call $~lib/rt/tlsf/prepareSize - local.set $2 - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - call $~lib/rt/tlsf/growMemory - local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 477 - i32.const 15 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 479 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $0 - local.get $3 - call $~lib/rt/tlsf/removeBlock - local.get $0 - local.get $3 - local.get $2 - call $~lib/rt/tlsf/prepareBlock - local.get $3 - call $~lib/rt/rtrace/onalloc - local.get $3 - ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/rt/tlsf/ROOT - local.set $2 - local.get $2 - i32.eqz - if - call $~lib/rt/tlsf/initializeRoot - global.get $~lib/rt/tlsf/ROOT - local.set $2 - end - local.get $2 - local.get $0 - call $~lib/rt/tlsf/allocateBlock - local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/memory/memory.fill (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - block $~lib/util/memory/memset|inlined.0 - local.get $0 - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 1 - i32.sub - local.get $4 - i32.store8 - local.get $3 - i32.const 2 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.get $4 - i32.store8 - local.get $5 - i32.const 2 - i32.add - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 2 - i32.sub - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 3 - i32.sub - local.get $4 - i32.store8 - local.get $3 - i32.const 6 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 3 - i32.add - local.get $4 - i32.store8 - local.get $5 - local.get $3 - i32.add - i32.const 4 - i32.sub - local.get $4 - i32.store8 - local.get $3 - i32.const 8 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - i32.const 0 - local.get $5 - i32.sub - i32.const 3 - i32.and - local.set $6 - local.get $5 - local.get $6 - i32.add - local.set $5 - local.get $3 - local.get $6 - i32.sub - local.set $3 - local.get $3 - i32.const -4 - i32.and - local.set $3 - i32.const -1 - i32.const 255 - i32.div_u - local.get $4 - i32.const 255 - i32.and - i32.mul - local.set $7 - local.get $5 - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 4 - i32.sub - local.get $7 - i32.store - local.get $3 - i32.const 8 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 4 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 8 - i32.add - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 12 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 8 - i32.sub - local.get $7 - i32.store - local.get $3 - i32.const 24 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - i32.const 12 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 16 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 20 - i32.add - local.get $7 - i32.store - local.get $5 - i32.const 24 - i32.add - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 28 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 24 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 20 - i32.sub - local.get $7 - i32.store - local.get $5 - local.get $3 - i32.add - i32.const 16 - i32.sub - local.get $7 - i32.store - i32.const 24 - local.get $5 - i32.const 4 - i32.and - i32.add - local.set $6 - local.get $5 - local.get $6 - i32.add - local.set $5 - local.get $3 - local.get $6 - i32.sub - local.set $3 - local.get $7 - i64.extend_i32_u - local.get $7 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - local.set $8 - block $break|0 - loop $continue|0 - local.get $3 - i32.const 32 - i32.ge_u - i32.eqz - br_if $break|0 - local.get $5 - local.get $8 - i64.store - local.get $5 - i32.const 8 - i32.add - local.get $8 - i64.store - local.get $5 - i32.const 16 - i32.add - local.get $8 - i64.store - local.get $5 - i32.const 24 - i32.add - local.get $8 - i64.store - local.get $3 - i32.const 32 - i32.sub - local.set $3 - local.get $5 - i32.const 32 - i32.add - local.set $5 - br $continue|0 - end - unreachable - end - end - ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 1073741808 - i32.gt_u - if - i32.const 176 - i32.const 224 - i32.const 56 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $2 - local.get $2 - i32.const 0 - local.get $1 - call $~lib/memory/memory.fill - local.get $2 - call $~lib/rt/pure/__retain - ) - (func $~lib/rt/tlsf/freeBlock (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $1 - i32.load - local.set $2 - local.get $2 - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 531 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $1 - call $~lib/rt/tlsf/insertBlock - local.get $1 - call $~lib/rt/rtrace/onfree - ) - (func $~lib/rt/__typeinfo (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 - local.get $0 - local.get $1 - i32.load - i32.gt_u - if - i32.const 280 - i32.const 336 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - i32.add - local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load - ) - (func $~lib/util/memory/memcpy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $break|0 - loop $continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - i32.eqz - br_if $break|0 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $continue|0 - end - unreachable - end - local.get $0 - i32.const 3 - i32.and - i32.const 0 - i32.eq - if - block $break|1 - loop $continue|1 - local.get $2 - i32.const 16 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.const 8 - i32.add - i32.load - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $continue|1 - end - unreachable - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.const 4 - i32.add - local.set $1 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.get $1 - i32.load16_u - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - end + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end local.get $2 i32.const 1 i32.and @@ -2316,7 +1583,236 @@ end end local.get $2 - i32.const 16 + i32.const 16 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 8 i32.and if local.get $0 @@ -2431,6 +1927,11 @@ local.get $5 i32.load8_u i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if local.get $0 local.tee $5 i32.const 1 @@ -2487,6 +1988,11 @@ local.get $5 i32.load8_u i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if local.get $0 local.tee $5 i32.const 1 @@ -2515,6 +2021,11 @@ local.get $5 i32.load8_u i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if local.get $0 local.tee $5 i32.const 1 @@ -2529,708 +2040,1302 @@ local.get $5 i32.load8_u i32.store8 + end + ) + (func $~lib/memory/memory.copy (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + local.get $4 + i32.eq + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $4 + local.get $3 + i32.add + local.get $5 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $5 + local.get $3 + i32.add + local.get $4 + i32.le_u + end + if + local.get $5 + local.get $4 + local.get $3 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $4 + i32.lt_u + if + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + block $break|0 + loop $continue|0 + local.get $5 + i32.const 7 + i32.and + i32.eqz + br_if $break|0 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $5 + local.tee $6 + i32.const 1 + i32.add + local.set $5 + local.get $6 + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.load8_u + i32.store8 + br $continue|0 + end + unreachable + end + block $break|1 + loop $continue|1 + local.get $3 + i32.const 8 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $5 + local.get $4 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $4 + i32.const 8 + i32.add + local.set $4 + br $continue|1 + end + unreachable + end + end + block $break|2 + loop $continue|2 + local.get $3 + i32.eqz + br_if $break|2 + local.get $5 + local.tee $6 + i32.const 1 + i32.add + local.set $5 + local.get $6 + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|2 + end + unreachable + end + else + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + block $break|3 + loop $continue|3 + local.get $5 + local.get $3 + i32.add + i32.const 7 + i32.and + i32.eqz + br_if $break|3 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + unreachable + end + block $break|4 + loop $continue|4 + local.get $3 + i32.const 8 + i32.ge_u + i32.eqz + br_if $break|4 + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + local.get $3 + i32.add + local.get $4 + local.get $3 + i32.add + i64.load + i64.store + br $continue|4 + end + unreachable + end + end + block $break|5 + loop $continue|5 + local.get $3 + i32.eqz + br_if $break|5 + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + unreachable + end + end + end + ) + (func $~lib/rt/tlsf/__free (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.ne + if (result i32) local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/pure/growRoots (; 16 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/rt/pure/ROOTS + local.set $0 + global.get $~lib/rt/pure/CUR + local.get $0 + i32.sub + local.set $1 + local.get $1 + i32.const 2 + i32.mul + local.tee $2 + i32.const 64 + i32.const 2 + i32.shl + local.tee $3 local.get $2 - i32.const 8 - i32.and + local.get $3 + i32.gt_u + select + local.set $4 + local.get $4 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $5 + local.get $5 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onfree + local.get $5 + local.get $0 + local.get $1 + call $~lib/memory/memory.copy + local.get $0 if local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onalloc local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add + call $~lib/rt/tlsf/__free + end + local.get $5 + global.set $~lib/rt/pure/ROOTS + local.get $5 + local.get $1 + i32.add + global.set $~lib/rt/pure/CUR + local.get $5 + local.get $4 + i32.add + global.set $~lib/rt/pure/END + ) + (func $~lib/rt/pure/appendRoot (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + global.get $~lib/rt/pure/CUR + local.set $1 + local.get $1 + global.get $~lib/rt/pure/END + i32.ge_u + if + call $~lib/rt/pure/growRoots + global.get $~lib/rt/pure/CUR local.set $1 - local.get $5 - i32.load8_u - i32.store8 end - local.get $2 + local.get $1 + local.get $0 + i32.store + local.get $1 i32.const 4 + i32.add + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.and + local.set $2 + local.get $0 + call $~lib/rt/rtrace/ondecrement + local.get $0 + i32.load + i32.const 1 i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.eq if local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 + i32.const 16 i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 i32.const 1 - i32.add - local.set $0 - local.get $5 + call $~lib/rt/__visit_members local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const -2147483648 + i32.and + i32.eqz + if + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + else + local.get $0 + i32.const -2147483648 + i32.const 0 + i32.or + i32.const 0 + i32.or + i32.store offset=4 + end + else + local.get $2 + i32.const 0 + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.load offset=8 + call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.and + i32.eqz + if + local.get $0 + i32.const -2147483648 + i32.const 805306368 + i32.or + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + else + local.get $0 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + end + end + ) + (func $~lib/rt/pure/__release (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if local.get $0 - local.tee $5 - i32.const 1 - i32.add + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end + end + ) + (func $~lib/error/Error#constructor (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain local.set $0 - local.get $5 + end + local.get $0 + i32.const 120 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 152 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/rt/tlsf/prepareSize (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.const 16 + local.tee $2 + local.get $1 + local.get $2 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 22 ;) (type $FUNCSIG$iii) (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 $8 i32) + (local $9 i32) + local.get $1 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $2 + local.get $1 + i32.const 4 + i32.shr_u + local.set $3 + else local.get $1 - local.tee $5 + i32.const 536870904 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $1 + end + local.set $4 + i32.const 31 + local.get $4 + i32.clz + i32.sub + local.set $2 + local.get $4 + local.get $2 + i32.const 4 + i32.sub + i32.shr_u i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 4 + i32.shl + i32.xor + local.set $3 + local.get $2 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $2 + end + local.get $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $3 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.set $5 local.get $2 + local.set $4 + local.get $5 + local.get $4 i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 0 + i32.const -1 + i32.xor + local.get $3 + i32.shl i32.and + local.set $6 + i32.const 0 + local.set $7 + local.get $6 + i32.eqz if local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $2 i32.const 1 i32.add - local.set $1 + i32.shl + i32.and + local.set $5 local.get $5 - i32.load8_u - i32.store8 + i32.eqz + if + i32.const 0 + local.set $7 + else + local.get $5 + i32.ctz + local.set $2 + local.get $0 + local.set $8 + local.get $2 + local.set $4 + local.get $8 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $6 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + else local.get $0 - local.tee $5 - i32.const 1 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 + i32.const 2 + i32.shl i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.load offset=96 + local.set $7 + end + local.get $7 + ) + (func $~lib/rt/tlsf/growMemory (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + memory.size + local.set $2 + local.get $1 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $6 + local.get $6 + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end end + memory.size + local.set $7 + local.get $0 local.get $2 - i32.const 1 + i32.const 16 + i32.shl + local.get $7 + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 i32.and + i32.eqz + i32.eqz if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 0 + i32.const 24 + i32.const 364 + i32.const 13 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/memory/memory.copy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.set $5 + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.sub + local.set $4 + local.get $4 + i32.const 32 + i32.ge_u + if local.get $1 - local.set $4 local.get $2 - local.set $3 - local.get $5 - local.get $4 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $4 local.get $3 + i32.const 2 + i32.and + i32.or + i32.store + local.get $1 + i32.const 16 i32.add - local.get $5 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $5 - local.get $3 - i32.add - local.get $4 - i32.le_u - end - if - local.get $5 - local.get $4 - local.get $3 - call $~lib/util/memory/memcpy - br $~lib/util/memory/memmove|inlined.0 - end + local.get $2 + i32.add + local.set $5 local.get $5 local.get $4 - i32.lt_u - if - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - block $break|0 - loop $continue|0 - local.get $5 - i32.const 7 - i32.and - i32.eqz - br_if $break|0 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $3 - i32.const 1 - i32.sub - local.set $3 - local.get $5 - local.tee $6 - i32.const 1 - i32.add - local.set $5 - local.get $6 - local.get $4 - local.tee $6 - i32.const 1 - i32.add - local.set $4 - local.get $6 - i32.load8_u - i32.store8 - br $continue|0 - end - unreachable - end - block $break|1 - loop $continue|1 - local.get $3 - i32.const 8 - i32.ge_u - i32.eqz - br_if $break|1 - local.get $5 - local.get $4 - i64.load - i64.store - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - i32.const 8 - i32.add - local.set $5 - local.get $4 - i32.const 8 - i32.add - local.set $4 - br $continue|1 - end - unreachable - end - end - block $break|2 - loop $continue|2 - local.get $3 - i32.eqz - br_if $break|2 - local.get $5 - local.tee $6 - i32.const 1 - i32.add - local.set $5 - local.get $6 - local.get $4 - local.tee $6 - i32.const 1 - i32.add - local.set $4 - local.get $6 - i32.load8_u - i32.store8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $continue|2 - end - unreachable - end - else - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $5 - local.get $3 - i32.add - i32.const 7 - i32.and - i32.eqz - br_if $break|3 - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - unreachable - end - block $break|4 - loop $continue|4 - local.get $3 - i32.const 8 - i32.ge_u - i32.eqz - br_if $break|4 - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - local.get $3 - i32.add - local.get $4 - local.get $3 - i32.add - i64.load - i64.store - br $continue|4 - end - unreachable - end - end - block $break|5 - loop $continue|5 - local.get $3 - i32.eqz - br_if $break|5 - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - unreachable - end - end + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $5 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const 1 + i32.const -1 + i32.xor + i32.and + i32.store + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + i32.load + i32.const 2 + i32.const -1 + i32.xor + i32.and + i32.store end ) - (func $~lib/rt/tlsf/__free (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) - global.get $~lib/rt/tlsf/ROOT - i32.eqz + (func $~lib/rt/tlsf/allocateBlock (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $2 + global.get $~lib/error if i32.const 0 - i32.const 24 - i32.const 561 - i32.const 13 - call $~lib/builtins/abort - unreachable + return end + local.get $2 + local.set $3 local.get $0 - i32.const 0 - i32.ne - if (result i32) + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if local.get $0 - i32.const 15 - i32.and + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz - else - i32.const 0 + if + i32.const 0 + i32.const 24 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end end + local.get $4 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $3 + i32.ge_u i32.eqz if i32.const 0 i32.const 24 - i32.const 562 - i32.const 2 + i32.const 479 + i32.const 13 call $~lib/builtins/abort unreachable end - global.get $~lib/rt/tlsf/ROOT + local.get $4 + i32.const 0 + i32.store offset=4 + local.get $4 + local.get $1 + i32.store offset=12 local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/tlsf/freeBlock + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $4 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $4 + call $~lib/rt/rtrace/onalloc + local.get $4 ) - (func $~lib/rt/pure/growRoots (; 24 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/tlsf/__alloc (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - global.get $~lib/rt/pure/ROOTS - local.set $0 - global.get $~lib/rt/pure/CUR - local.get $0 - i32.sub - local.set $1 - local.get $1 - i32.const 2 - i32.mul - local.tee $2 - i32.const 64 - i32.const 2 - i32.shl - local.tee $3 + global.get $~lib/rt/tlsf/ROOT + local.set $2 local.get $2 - local.get $3 - i32.gt_u - select - local.set $4 - local.get $4 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $5 - local.get $5 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onfree - local.get $5 - local.get $0 - local.get $1 - call $~lib/memory/memory.copy - local.get $0 + i32.eqz if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/rtrace/onalloc - local.get $0 - call $~lib/rt/tlsf/__free + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + local.set $2 end - local.get $5 - global.set $~lib/rt/pure/ROOTS - local.get $5 - local.get $1 - i32.add - global.set $~lib/rt/pure/CUR - local.get $5 - local.get $4 - i32.add - global.set $~lib/rt/pure/END - ) - (func $~lib/rt/pure/appendRoot (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - global.get $~lib/rt/pure/CUR - local.set $1 - local.get $1 - global.get $~lib/rt/pure/END - i32.ge_u + local.get $2 + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error if - call $~lib/rt/pure/growRoots - global.get $~lib/rt/pure/CUR - local.set $1 + i32.const 0 + return end + local.get $3 + local.set $4 + local.get $4 local.get $1 - local.get $0 - i32.store - local.get $1 - i32.const 4 + i32.store offset=8 + local.get $4 + i32.const 16 i32.add - global.set $~lib/rt/pure/CUR ) - (func $~lib/rt/pure/decrement (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) + (func $~lib/error/RangeError#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $0 - i32.load offset=4 - local.set $1 + (local $3 i32) local.get $1 - i32.const 268435455 - i32.and - local.set $2 + call $~lib/rt/pure/__retain + drop local.get $0 - call $~lib/rt/rtrace/ondecrement + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 local.get $0 + local.tee $2 + i32.const 280 + local.tee $3 + local.get $2 i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz + local.tee $2 + i32.ne if - i32.const 0 - i32.const 128 - i32.const 115 - i32.const 13 - call $~lib/builtins/abort - unreachable + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - i32.const 1 - i32.eq - if + local.get $3 + i32.store + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/memory/memory.fill (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + block $~lib/util/memory/memset|inlined.0 local.get $0 - i32.const 16 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $4 + i32.store8 + local.get $5 + local.get $3 i32.add i32.const 1 - call $~lib/rt/__visit_members - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 2 + i32.le_u if - global.get $~lib/rt/tlsf/ROOT - local.get $0 - call $~lib/rt/tlsf/freeBlock - else - local.get $0 - i32.const -2147483648 - i32.const 0 - i32.or - i32.const 0 - i32.or - i32.store offset=4 + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.get $4 + i32.store8 + local.get $5 + i32.const 2 + i32.add + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 2 + i32.sub + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 3 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 6 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + i32.const 3 + i32.add + local.get $4 + i32.store8 + local.get $5 + local.get $3 + i32.add + i32.const 4 + i32.sub + local.get $4 + i32.store8 + local.get $3 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 end - else - local.get $2 i32.const 0 - i32.gt_u - i32.eqz + local.get $5 + i32.sub + i32.const 3 + i32.and + local.set $6 + local.get $5 + local.get $6 + i32.add + local.set $5 + local.get $3 + local.get $6 + i32.sub + local.set $3 + local.get $3 + i32.const -4 + i32.and + local.set $3 + i32.const -1 + i32.const 255 + i32.div_u + local.get $4 + i32.const 255 + i32.and + i32.mul + local.set $7 + local.get $5 + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 4 + i32.sub + local.get $7 + i32.store + local.get $3 + i32.const 8 + i32.le_u if - i32.const 0 - i32.const 128 - i32.const 124 - i32.const 15 - call $~lib/builtins/abort - unreachable + br $~lib/util/memory/memset|inlined.0 end - local.get $0 - i32.load offset=8 - call $~lib/rt/__typeinfo + local.get $5 + i32.const 4 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 8 + i32.add + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 12 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 8 + i32.sub + local.get $7 + i32.store + local.get $3 + i32.const 24 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + i32.const 12 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 16 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 20 + i32.add + local.get $7 + i32.store + local.get $5 + i32.const 24 + i32.add + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 28 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 24 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add + i32.const 20 + i32.sub + local.get $7 + i32.store + local.get $5 + local.get $3 + i32.add i32.const 16 + i32.sub + local.get $7 + i32.store + i32.const 24 + local.get $5 + i32.const 4 i32.and - i32.eqz - if - local.get $0 - i32.const -2147483648 - i32.const 805306368 - i32.or - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 - local.get $1 - i32.const -2147483648 - i32.and - i32.eqz - if - local.get $0 - call $~lib/rt/pure/appendRoot + i32.add + local.set $6 + local.get $5 + local.get $6 + i32.add + local.set $5 + local.get $3 + local.get $6 + i32.sub + local.set $3 + local.get $7 + i64.extend_i32_u + local.get $7 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $8 + block $break|0 + loop $continue|0 + local.get $3 + i32.const 32 + i32.ge_u + i32.eqz + br_if $break|0 + local.get $5 + local.get $8 + i64.store + local.get $5 + i32.const 8 + i32.add + local.get $8 + i64.store + local.get $5 + i32.const 16 + i32.add + local.get $8 + i64.store + local.get $5 + i32.const 24 + i32.add + local.get $8 + i64.store + local.get $3 + i32.const 32 + i32.sub + local.set $3 + local.get $5 + i32.const 32 + i32.add + local.set $5 + br $continue|0 end - else - local.get $0 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.const 1 - i32.sub - i32.or - i32.store offset=4 + unreachable end end ) - (func $~lib/rt/pure/__release (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/heap/__heap_base + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.const 1073741808 i32.gt_u if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + i32.const 0 + return end + local.get $2 + local.set $3 + local.get $3 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $3 + call $~lib/rt/pure/__retain ) - (func $~lib/set/Set#clear (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -3238,6 +3343,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -3254,6 +3365,12 @@ i32.const 0 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -3270,7 +3387,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -3300,16 +3417,21 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash8 (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash8 (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const -2128831035 local.get $0 i32.xor i32.const 16777619 i32.mul ) - (func $~lib/set/Set#find (; 31 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -3361,7 +3483,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -3380,7 +3502,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3402,53 +3524,65 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 8 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=4 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load8_s i32.store8 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load8_s local.set $11 local.get $11 @@ -3458,7 +3592,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -3469,34 +3603,34 @@ i32.load i32.store offset=4 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 8 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 8 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -3506,7 +3640,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -3522,18 +3656,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3585,6 +3719,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -3628,11 +3766,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3705,68 +3843,84 @@ local.get $0 local.get $4 call $~lib/set/Set#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/set/testNumeric (; 37 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 39 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/set/Set#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -3774,56 +3928,60 @@ end block $break|1 i32.const 50 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -3831,58 +3989,64 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -3890,98 +4054,112 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#clear (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -3989,6 +4167,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -4005,6 +4189,12 @@ i32.const 0 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -4021,12 +4211,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -4051,9 +4241,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/set/Set#find (; 40 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -4103,7 +4298,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -4120,7 +4315,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 42 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4142,53 +4337,65 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 8 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=4 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load8_u i32.store8 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load8_u local.set $11 local.get $11 @@ -4198,7 +4405,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -4209,34 +4416,34 @@ i32.load i32.store offset=4 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 8 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 8 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -4246,7 +4453,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -4262,18 +4469,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 43 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4323,6 +4530,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -4366,11 +4577,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4441,68 +4652,84 @@ local.get $0 local.get $4 call $~lib/set/Set#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/set/testNumeric (; 46 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 48 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/set/Set#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -4510,56 +4737,60 @@ end block $break|1 i32.const 50 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -4567,58 +4798,64 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -4626,98 +4863,112 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#clear (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 49 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -4725,6 +4976,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -4741,6 +4998,12 @@ i32.const 0 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -4757,12 +5020,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 5 + i32.const 7 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -4787,9 +5050,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash16 (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash16 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -4811,7 +5079,7 @@ local.set $1 local.get $1 ) - (func $~lib/set/Set#find (; 50 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -4863,7 +5131,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -4882,7 +5150,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4904,53 +5172,65 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 8 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=4 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load16_s i32.store16 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load16_s local.set $11 local.get $11 @@ -4960,7 +5240,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -4971,34 +5251,34 @@ i32.load i32.store offset=4 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 8 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 8 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -5008,7 +5288,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -5024,18 +5304,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5087,6 +5367,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -5130,11 +5414,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 54 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 56 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5207,68 +5491,84 @@ local.get $0 local.get $4 call $~lib/set/Set#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/set/testNumeric (; 56 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 58 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/set/Set#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -5276,56 +5576,60 @@ end block $break|1 i32.const 50 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -5333,58 +5637,64 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -5392,98 +5702,112 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#clear (; 57 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 59 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -5491,6 +5815,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -5507,6 +5837,12 @@ i32.const 0 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -5523,12 +5859,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 6 + i32.const 8 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -5553,9 +5889,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/set/Set#find (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -5605,7 +5946,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -5622,7 +5963,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 61 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5644,53 +5985,65 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 8 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=4 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load16_u i32.store16 block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load16_u local.set $11 local.get $11 @@ -5700,7 +6053,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -5711,34 +6064,34 @@ i32.load i32.store offset=4 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 8 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 8 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -5748,7 +6101,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -5764,18 +6117,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5825,6 +6178,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -5868,11 +6225,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 63 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 65 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 64 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5943,68 +6300,84 @@ local.get $0 local.get $4 call $~lib/set/Set#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/set/testNumeric (; 65 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 67 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/set/Set#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -6012,56 +6385,60 @@ end block $break|1 i32.const 50 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -6069,58 +6446,64 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -6128,98 +6511,112 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#clear (; 66 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 68 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -6227,6 +6624,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -6243,6 +6646,12 @@ i32.const 0 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -6259,12 +6668,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 67 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 7 + i32.const 9 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -6289,9 +6698,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash32 (; 68 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 70 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -6333,7 +6747,7 @@ local.set $1 local.get $1 ) - (func $~lib/set/Set#find (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 71 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -6381,7 +6795,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 72 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -6396,7 +6810,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 71 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 73 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6418,53 +6832,65 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 8 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=4 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load i32.store block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load local.set $11 local.get $11 @@ -6474,7 +6900,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -6485,34 +6911,34 @@ i32.load i32.store offset=4 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 8 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 8 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -6522,7 +6948,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -6538,18 +6964,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 72 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 74 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6597,6 +7023,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -6640,11 +7070,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 73 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 75 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 74 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 76 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6713,68 +7143,84 @@ local.get $0 local.get $4 call $~lib/set/Set#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/set/testNumeric (; 75 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 77 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/set/Set#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -6782,56 +7228,60 @@ end block $break|1 i32.const 50 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -6839,58 +7289,64 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -6898,98 +7354,112 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_s i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#clear (; 76 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 78 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -6997,6 +7467,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -7013,6 +7489,12 @@ i32.const 0 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -7029,12 +7511,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 77 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 79 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 8 + i32.const 10 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -7059,9 +7541,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/set/Set#find (; 78 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 80 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -7109,7 +7596,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 79 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 81 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -7124,7 +7611,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 80 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7146,53 +7633,65 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 8 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=4 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load i32.store block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i32.load local.set $11 local.get $11 @@ -7202,7 +7701,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -7213,34 +7712,34 @@ i32.load i32.store offset=4 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 8 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 8 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -7250,7 +7749,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -7266,18 +7765,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 81 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 83 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7325,6 +7824,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -7368,11 +7871,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 82 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 84 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 83 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 85 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7441,68 +7944,84 @@ local.get $0 local.get $4 call $~lib/set/Set#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/set/testNumeric (; 84 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 86 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 call $~lib/set/Set#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i32.const 0 - local.set $1 + local.set $0 loop $loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -7510,56 +8029,60 @@ end block $break|1 i32.const 50 - local.set $1 + local.set $0 loop $loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -7567,58 +8090,64 @@ end block $break|2 i32.const 0 - local.set $1 + local.set $0 loop $loop|2 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -7626,98 +8155,112 @@ end block $break|3 i32.const 0 - local.set $1 + local.set $0 loop $loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_u i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/set/Set#add local.get $0 + call $~lib/set/Set#add + global.get $~lib/error + if + return + end local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#delete + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 drop - local.get $0 local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#clear (; 85 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 87 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -7725,6 +8268,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -7741,6 +8290,12 @@ i32.const 0 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -7757,12 +8312,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 86 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 88 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 9 + i32.const 11 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -7787,9 +8342,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/util/hash/hash64 (; 87 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/hash/hash64 (; 89 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7877,7 +8437,7 @@ local.set $3 local.get $3 ) - (func $~lib/set/Set#find (; 88 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 90 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -7925,7 +8485,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 89 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#has (; 91 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) local.get $0 local.get $1 @@ -7940,7 +8500,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 90 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 92 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7963,53 +8523,65 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 16 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 16 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i64.load i64.store block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i64.load local.set $11 local.get $11 @@ -8019,7 +8591,7 @@ local.get $1 i32.and local.set $12 - local.get $3 + local.get $4 local.get $12 i32.const 4 i32.mul @@ -8030,34 +8602,34 @@ i32.load i32.store offset=8 local.get $13 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 16 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 16 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -8067,7 +8639,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $12 local.get $10 i32.load offset=8 @@ -8083,18 +8655,18 @@ local.get $12 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 91 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#add (; 93 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -8143,6 +8715,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -8186,11 +8762,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 92 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 94 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 93 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#delete (; 95 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) (local $4 i32) @@ -8260,68 +8836,84 @@ local.get $0 local.get $4 call $~lib/set/Set#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/set/testNumeric (; 94 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 96 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 i64) + (local $1 i32) + (local $2 i64) i32.const 0 call $~lib/set/Set#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i64.const 0 - local.set $1 + local.set $2 loop $loop|0 - local.get $1 + local.get $2 i64.const 100 i64.lt_s i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -8329,56 +8921,60 @@ end block $break|1 i64.const 50 - local.set $1 + local.set $2 loop $loop|1 - local.get $1 + local.get $2 i64.const 100 i64.lt_s i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -8386,58 +8982,64 @@ end block $break|2 i64.const 0 - local.set $1 + local.set $2 loop $loop|2 - local.get $1 + local.get $2 i64.const 50 i64.lt_s i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -8445,98 +9047,112 @@ end block $break|3 i64.const 0 - local.set $1 + local.set $2 loop $loop|3 - local.get $1 + local.get $2 i64.const 50 i64.lt_s i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#clear (; 95 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 97 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -8544,6 +9160,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -8560,6 +9182,12 @@ i32.const 0 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -8576,12 +9204,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 96 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 98 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 10 + i32.const 12 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -8606,9 +9234,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/set/Set#find (; 97 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 99 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -8656,7 +9289,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 98 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#has (; 100 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) local.get $0 local.get $1 @@ -8671,7 +9304,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 99 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 101 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8694,53 +9327,65 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 16 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 16 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i64.load i64.store block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 i64.load local.set $11 local.get $11 @@ -8750,7 +9395,7 @@ local.get $1 i32.and local.set $12 - local.get $3 + local.get $4 local.get $12 i32.const 4 i32.mul @@ -8761,34 +9406,34 @@ i32.load i32.store offset=8 local.get $13 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 16 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 16 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -8798,7 +9443,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $12 local.get $10 i32.load offset=8 @@ -8814,18 +9459,18 @@ local.get $12 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 100 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#add (; 102 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -8874,6 +9519,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -8917,11 +9566,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 101 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 103 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 102 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#delete (; 104 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) (local $4 i32) @@ -8991,68 +9640,84 @@ local.get $0 local.get $4 call $~lib/set/Set#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/set/testNumeric (; 103 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 105 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 i64) + (local $1 i32) + (local $2 i64) i32.const 0 call $~lib/set/Set#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 i64.const 0 - local.set $1 + local.set $2 loop $loop|0 - local.get $1 + local.get $2 i64.const 100 i64.lt_u i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -9060,56 +9725,60 @@ end block $break|1 i64.const 50 - local.set $1 + local.set $2 loop $loop|1 - local.get $1 + local.get $2 i64.const 100 i64.lt_u i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -9117,58 +9786,64 @@ end block $break|2 i64.const 0 - local.set $1 + local.set $2 loop $loop|2 - local.get $1 + local.get $2 i64.const 50 i64.lt_u i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -9176,98 +9851,112 @@ end block $break|3 i64.const 0 - local.set $1 + local.set $2 loop $loop|3 - local.get $1 + local.get $2 i64.const 50 i64.lt_u i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#clear (; 104 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 106 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -9275,6 +9964,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -9291,6 +9986,12 @@ i32.const 0 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -9307,12 +10008,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 105 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 107 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 11 + i32.const 13 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -9337,9 +10038,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/set/Set#find (; 106 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 108 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -9387,7 +10093,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 107 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/set/Set#has (; 109 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (local $2 f32) local.get $0 local.get $1 @@ -9403,7 +10109,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 108 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 110 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9426,53 +10132,65 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 8 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=4 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 f32.load f32.store block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 f32.load local.set $11 local.get $11 @@ -9483,7 +10201,7 @@ local.get $1 i32.and local.set $12 - local.get $3 + local.get $4 local.get $12 i32.const 4 i32.mul @@ -9494,34 +10212,34 @@ i32.load i32.store offset=4 local.get $13 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 8 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 8 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -9531,7 +10249,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $12 local.get $10 i32.load offset=8 @@ -9547,18 +10265,18 @@ local.get $12 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 109 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) + (func $~lib/set/Set#add (; 111 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (local $2 f32) (local $3 i32) (local $4 i32) @@ -9608,6 +10326,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -9651,11 +10373,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 110 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 112 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 111 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/set/Set#delete (; 113 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (local $2 f32) (local $3 i32) (local $4 i32) @@ -9726,68 +10448,84 @@ local.get $0 local.get $4 call $~lib/set/Set#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/set/testNumeric (; 112 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 114 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 f32) + (local $1 i32) + (local $2 f32) i32.const 0 call $~lib/set/Set#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 f32.const 0 - local.set $1 + local.set $2 loop $loop|0 - local.get $1 + local.get $2 f32.const 100 f32.lt i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f32.const 1 f32.add - local.set $1 + local.set $2 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -9795,56 +10533,60 @@ end block $break|1 f32.const 50 - local.set $1 + local.set $2 loop $loop|1 - local.get $1 + local.get $2 f32.const 100 f32.lt i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f32.const 1 f32.add - local.set $1 + local.set $2 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -9852,58 +10594,64 @@ end block $break|2 f32.const 0 - local.set $1 + local.set $2 loop $loop|2 - local.get $1 + local.get $2 f32.const 50 f32.lt i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f32.const 1 f32.add - local.set $1 + local.set $2 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -9911,98 +10659,112 @@ end block $break|3 f32.const 0 - local.set $1 + local.set $2 loop $loop|3 - local.get $1 + local.get $2 f32.const 50 f32.lt i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f32.const 1 f32.add - local.set $1 + local.set $2 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#clear (; 113 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 115 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -10010,6 +10772,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -10026,6 +10794,12 @@ i32.const 0 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -10042,12 +10816,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 114 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 116 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 12 + i32.const 14 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 @@ -10072,9 +10846,14 @@ i32.store offset=20 local.get $0 call $~lib/set/Set#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/set/Set#find (; 115 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 117 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -10122,7 +10901,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 116 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/set/Set#has (; 118 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 f64) local.get $0 local.get $1 @@ -10138,7 +10917,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 117 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 119 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10161,53 +10940,65 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 16 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 16 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 f64.load f64.store block $~lib/util/hash/HASH|inlined.2 (result i32) - local.get $9 + local.get $3 f64.load local.set $11 local.get $11 @@ -10218,7 +11009,7 @@ local.get $1 i32.and local.set $12 - local.get $3 + local.get $4 local.get $12 i32.const 4 i32.mul @@ -10229,34 +11020,34 @@ i32.load i32.store offset=8 local.get $13 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 16 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 16 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/pure/__retain drop - local.get $9 + local.get $3 call $~lib/rt/pure/__release end local.get $10 @@ -10266,7 +11057,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $12 local.get $10 i32.load offset=8 @@ -10282,18 +11073,18 @@ local.get $12 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/pure/__release - local.get $5 + local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/set/Set#add (; 118 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) + (func $~lib/set/Set#add (; 120 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (local $2 f64) (local $3 i32) (local $4 i32) @@ -10343,6 +11134,10 @@ i32.or end call $~lib/set/Set#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -10386,11 +11181,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 119 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 121 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 120 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/set/Set#delete (; 122 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 f64) (local $3 i32) (local $4 i32) @@ -10461,68 +11256,84 @@ local.get $0 local.get $4 call $~lib/set/Set#rehash + global.get $~lib/error + if + i32.const 0 + return + end end i32.const 1 ) - (func $std/set/testNumeric (; 121 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 123 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 f64) + (local $1 i32) + (local $2 f64) i32.const 0 call $~lib/set/Set#constructor local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.set $1 block $break|0 f64.const 0 - local.set $1 + local.set $2 loop $loop|0 - local.get $1 + local.get $2 f64.const 100 f64.lt i32.eqz br_if $break|0 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 6 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 8 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f64.const 1 f64.add - local.set $1 + local.set $2 br $loop|0 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 10 i32.const 2 call $~lib/builtins/abort @@ -10530,56 +11341,60 @@ end block $break|1 f64.const 50 - local.set $1 + local.set $2 loop $loop|1 - local.get $1 + local.get $2 f64.const 100 f64.lt i32.eqz br_if $break|1 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 14 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 16 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f64.const 1 f64.add - local.set $1 + local.set $2 br $loop|1 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 18 i32.const 2 call $~lib/builtins/abort @@ -10587,58 +11402,64 @@ end block $break|2 f64.const 0 - local.set $1 + local.set $2 loop $loop|2 - local.get $1 + local.get $2 f64.const 50 f64.lt i32.eqz br_if $break|2 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 24 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f64.const 1 f64.add - local.set $1 + local.set $2 br $loop|2 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 26 i32.const 2 call $~lib/builtins/abort @@ -10646,113 +11467,176 @@ end block $break|3 f64.const 0 - local.set $1 + local.set $2 loop $loop|3 - local.get $1 + local.get $2 f64.const 50 f64.lt i32.eqz br_if $break|3 - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 30 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#add - local.get $0 + global.get $~lib/error + if + return + end local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 32 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 call $~lib/set/Set#delete - drop + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + drop local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 34 i32.const 4 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 f64.const 1 f64.add - local.set $1 + local.set $2 br $loop|3 end unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 36 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/set/Set#clear - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz if i32.const 0 - i32.const 376 + i32.const 368 i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 call $~lib/rt/pure/__release ) - (func $start:std/set (; 122 ;) (type $FUNCSIG$v) - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - ) - (func $start (; 123 ;) (type $FUNCSIG$v) + (func $start:std/set (; 124 ;) (type $FUNCSIG$v) + block $uncaughtError + call $std/set/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/set/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/set/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/set/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/set/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/set/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/set/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/set/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/set/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + call $std/set/testNumeric + global.get $~lib/error + if + br $uncaughtError + end + return + end + i32.const 408 + i32.const 368 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 125 ;) (type $FUNCSIG$v) call $start:std/set ) - (func $~lib/rt/pure/markGray (; 124 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 126 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -10779,7 +11663,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 125 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 127 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -10796,7 +11680,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 126 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 128 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -10833,7 +11717,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 127 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 129 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -10871,7 +11755,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 128 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 130 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -10917,6 +11801,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -10928,7 +11816,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -10967,7 +11855,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -10997,7 +11885,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 72 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -11005,172 +11893,279 @@ end end ) - (func $~lib/set/Set#__visit_impl (; 129 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#__visit_impl (; 131 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/set/Set#__visit_impl (; 130 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#__visit_impl (; 132 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/set/Set#__visit_impl (; 131 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#__visit_impl (; 133 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/set/Set#__visit_impl (; 132 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#__visit_impl (; 134 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/set/Set#__visit_impl (; 133 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#__visit_impl (; 135 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/set/Set#__visit_impl (; 134 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#__visit_impl (; 136 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/set/Set#__visit_impl (; 135 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#__visit_impl (; 137 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/set/Set#__visit_impl (; 136 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#__visit_impl (; 138 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/set/Set#__visit_impl (; 137 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#__visit_impl (; 139 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/set/Set#__visit_impl (; 138 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#__visit_impl (; 140 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.set $2 local.get $2 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end ) - (func $~lib/rt/__visit_members (; 139 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 141 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $switch$1$default - block $switch$1$case$14 - block $switch$1$case$13 - block $switch$1$case$12 - block $switch$1$case$11 - block $switch$1$case$10 - block $switch$1$case$9 - block $switch$1$case$8 - block $switch$1$case$7 - block $switch$1$case$6 - block $switch$1$case$5 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$7 $switch$1$case$8 $switch$1$case$9 $switch$1$case$10 $switch$1$case$11 $switch$1$case$12 $switch$1$case$13 $switch$1$case$14 $switch$1$default + block $switch$1$case$16 + block $switch$1$case$15 + block $switch$1$case$14 + block $switch$1$case$13 + block $switch$1$case$12 + block $switch$1$case$11 + block $switch$1$case$10 + block $switch$1$case$9 + block $switch$1$case$8 + block $switch$1$case$6 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$6 $switch$1$case$8 $switch$1$case$9 $switch$1$case$10 $switch$1$case$11 $switch$1$case$12 $switch$1$case$13 $switch$1$case$14 $switch$1$case$15 $switch$1$case$16 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end return end local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/pure/__visit - end + local.get $1 + call $~lib/set/Set#__visit_impl return end local.get $0 - local.get $1 - call $~lib/set/Set#__visit_impl + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end return end local.get $0 @@ -11220,6 +12215,6 @@ end unreachable ) - (func $null (; 140 ;) (type $FUNCSIG$v) + (func $null (; 142 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/simd.untouched.wat b/tests/compiler/std/simd.untouched.wat index 9f14327565..039262498c 100644 --- a/tests/compiler/std/simd.untouched.wat +++ b/tests/compiler/std/simd.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/ASC_FEATURE_SIMD i32 (i32.const 0)) (export "memory" (memory $0)) (func $null (; 0 ;) (type $FUNCSIG$v) diff --git a/tests/compiler/std/static-array.optimized.wat b/tests/compiler/std/static-array.optimized.wat index d6ee5eb76b..4eebc8bfc4 100644 --- a/tests/compiler/std/static-array.optimized.wat +++ b/tests/compiler/std/static-array.optimized.wat @@ -20,37 +20,18 @@ (data (i32.const 206) "\f4?\00\00\00\00\00\00\02@") (data (i32.const 216) "\10\00\00\00\01\00\00\00\06\00\00\00\10\00\00\00\c8\00\00\00\c8\00\00\00\10\00\00\00\02") (data (i32.const 248) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00-\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 304) "$\00\00\00\01\00\00\00\01\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 360) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 408) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 304) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 340) "\01\00\00\00\01") + (data (i32.const 352) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 392) "$\00\00\00\01\00\00\00\01\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 448) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 496) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) - (func $~lib/array/Array#__get (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 56 - i32.load - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 320 - i32.const 376 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable - end - i32.const 52 - i32.load - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load - ) - (func $~lib/rt/stub/__alloc (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/stub/__alloc (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -124,7 +105,64 @@ i32.store offset=12 local.get $3 ) - (func $~lib/memory/memory.copy (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/error/Error#constructor (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 7 + call $~lib/rt/stub/__alloc + local.set $0 + end + local.get $0 + i32.const 320 + i32.store + local.get $0 + i32.const 352 + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + i32.const 12 + i32.const 8 + call $~lib/rt/stub/__alloc + local.get $0 + call $~lib/error/Error#constructor + local.tee $0 + local.get $0 + i32.load + drop + i32.const 368 + i32.store + local.get $0 + ) + (func $~lib/array/Array#__get (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 56 + i32.load + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 408 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + i32.const 52 + i32.load + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load + ) + (func $~lib/memory/memory.copy (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) block $~lib/util/memory/memmove|inlined.0 @@ -299,7 +337,7 @@ end end ) - (func $~lib/rt/stub/__realloc (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/stub/__realloc (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -328,7 +366,7 @@ end local.get $0 ) - (func $~lib/memory/memory.fill (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -537,7 +575,7 @@ end end ) - (func $~lib/array/ensureSize (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureSize (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -555,12 +593,10 @@ i32.shr_u i32.gt_u if - i32.const 424 - i32.const 376 - i32.const 14 - i32.const 47 - call $~lib/builtins/abort - unreachable + i32.const 464 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load @@ -593,7 +629,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#__set (; 7 ;) (type $FUNCSIG$v) + (func $~lib/array/Array#__set (; 9 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 60 i32.load @@ -601,6 +637,10 @@ i32.const 48 i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end i32.const 52 i32.load i32.const 2 @@ -614,7 +654,7 @@ i32.store end ) - (func $~lib/array/Array#__get (; 8 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64) + (func $~lib/array/Array#__get (; 10 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64) local.get $0 i32.const 120 i32.load @@ -622,12 +662,11 @@ i32.shr_u i32.ge_u if - i32.const 320 - i32.const 376 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 408 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i64.const 0 + return end i32.const 116 i32.load @@ -637,7 +676,7 @@ i32.add i64.load ) - (func $~lib/array/Array#__set (; 9 ;) (type $FUNCSIG$v) + (func $~lib/array/Array#__set (; 11 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 124 i32.load @@ -645,6 +684,10 @@ i32.const 112 i32.const 3 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end i32.const 116 i32.load i64.const 4 @@ -658,7 +701,7 @@ i32.store end ) - (func $~lib/array/Array#__get (; 10 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) + (func $~lib/array/Array#__get (; 12 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) local.get $0 i32.const 176 i32.load @@ -666,12 +709,11 @@ i32.shr_u i32.ge_u if - i32.const 320 - i32.const 376 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 408 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f32.const 0 + return end i32.const 172 i32.load @@ -681,7 +723,7 @@ i32.add f32.load ) - (func $~lib/array/Array#__set (; 11 ;) (type $FUNCSIG$v) + (func $~lib/array/Array#__set (; 13 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 180 i32.load @@ -689,6 +731,10 @@ i32.const 168 i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end i32.const 172 i32.load f32.const 2.5 @@ -702,7 +748,7 @@ i32.store end ) - (func $~lib/array/Array#__get (; 12 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/array/Array#__get (; 14 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) local.get $0 i32.const 240 i32.load @@ -710,12 +756,11 @@ i32.shr_u i32.ge_u if - i32.const 320 - i32.const 376 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 408 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f64.const 0 + return end i32.const 236 i32.load @@ -725,7 +770,7 @@ i32.add f64.load ) - (func $~lib/array/Array#__set (; 13 ;) (type $FUNCSIG$v) + (func $~lib/array/Array#__set (; 15 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 244 i32.load @@ -733,6 +778,10 @@ i32.const 232 i32.const 3 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end i32.const 236 i32.load f64.const 2.25 @@ -746,7 +795,11 @@ i32.store end ) - (func $start:std/static-array (; 14 ;) (type $FUNCSIG$v) + (func $start:std/static-array (; 16 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i64) + (local $2 f32) + (local $3 f64) i32.const 60 i32.load i32.const 2 @@ -759,199 +812,242 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - call $~lib/array/Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 264 - i32.const 7 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $~lib/array/Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 264 - i32.const 8 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 464 + i32.const 544 global.set $~lib/rt/stub/startOffset global.get $~lib/rt/stub/startOffset global.set $~lib/rt/stub/offset - call $~lib/array/Array#__set i32.const 0 call $~lib/array/Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 264 - i32.const 10 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 124 - i32.load - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 264 - i32.const 12 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/array/Array#__get - i64.const 3 - i64.ne - if - i32.const 0 - i32.const 264 - i32.const 13 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $~lib/array/Array#__get - i64.const 4 - i64.ne - if - i32.const 0 - i32.const 264 - i32.const 14 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - call $~lib/array/Array#__set - i32.const 0 - call $~lib/array/Array#__get - i64.const 4 - i64.ne - if - i32.const 0 - i32.const 264 - i32.const 16 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 180 - i32.load - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 264 - i32.const 18 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/array/Array#__get - f32.const 1.5 - f32.ne - if - i32.const 0 - i32.const 264 - i32.const 19 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $~lib/array/Array#__get - f32.const 2.5 - f32.ne - if - i32.const 0 - i32.const 264 - i32.const 20 + local.set $0 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 264 + i32.const 7 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 264 + i32.const 8 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $~lib/array/Array#__set + global.get $~lib/error + br_if $uncaughtError i32.const 0 - call $~lib/builtins/abort - unreachable - end - call $~lib/array/Array#__set - i32.const 0 - call $~lib/array/Array#__get - f32.const 2.5 - f32.ne - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 264 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 124 + i32.load + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 264 + i32.const 12 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 264 - i32.const 22 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 264 + i32.const 13 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 264 + i32.const 14 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $~lib/array/Array#__set + global.get $~lib/error + br_if $uncaughtError i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 244 - i32.load - i32.const 2 - i32.ne - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 264 + i32.const 16 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 180 + i32.load + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 264 + i32.const 18 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 264 - i32.const 24 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + f32.const 1.5 + f32.ne + if + i32.const 0 + i32.const 264 + i32.const 19 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + f32.const 2.5 + f32.ne + if + i32.const 0 + i32.const 264 + i32.const 20 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $~lib/array/Array#__set + global.get $~lib/error + br_if $uncaughtError i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/array/Array#__get - f64.const 1.25 - f64.ne - if + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + f32.const 2.5 + f32.ne + if + i32.const 0 + i32.const 264 + i32.const 22 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 244 + i32.load + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 264 + i32.const 24 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 264 - i32.const 25 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + f64.const 1.25 + f64.ne + if + i32.const 0 + i32.const 264 + i32.const 25 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + f64.const 2.25 + f64.ne + if + i32.const 0 + i32.const 264 + i32.const 26 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $~lib/array/Array#__set + global.get $~lib/error + br_if $uncaughtError i32.const 0 - call $~lib/builtins/abort - unreachable + call $~lib/array/Array#__get + global.get $~lib/error + br_if $uncaughtError + f64.const 2.25 + f64.ne + if + i32.const 0 + i32.const 264 + i32.const 28 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end + i32.const 512 + i32.const 264 i32.const 1 - call $~lib/array/Array#__get - f64.const 2.25 - f64.ne - if - i32.const 0 - i32.const 264 - i32.const 26 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - call $~lib/array/Array#__set i32.const 0 - call $~lib/array/Array#__get - f64.const 2.25 - f64.ne - if - i32.const 0 - i32.const 264 - i32.const 28 - i32.const 0 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable ) - (func $start (; 15 ;) (type $FUNCSIG$v) + (func $start (; 17 ;) (type $FUNCSIG$v) call $start:std/static-array ) - (func $null (; 16 ;) (type $FUNCSIG$v) + (func $null (; 18 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/static-array.untouched.wat b/tests/compiler/std/static-array.untouched.wat index 4544b9dd02..754a59054a 100644 --- a/tests/compiler/std/static-array.untouched.wat +++ b/tests/compiler/std/static-array.untouched.wat @@ -2,6 +2,7 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$jii (func (param i32 i32) (result i64))) (type $FUNCSIG$viij (func (param i32 i32 i64))) @@ -21,11 +22,15 @@ (data (i32.const 184) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\00\00\f4?\00\00\00\00\00\00\02@") (data (i32.const 216) "\10\00\00\00\01\00\00\00\06\00\00\00\10\00\00\00\c8\00\00\00\c8\00\00\00\10\00\00\00\02\00\00\00") (data (i32.const 248) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00-\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 304) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 360) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 408) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 304) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 336) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 352) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 392) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 448) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 496) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $std/static-array/i i32 (i32.const 48)) (global $std/static-array/I i32 (i32.const 112)) (global $std/static-array/f i32 (i32.const 168)) @@ -33,42 +38,17 @@ (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/heap/__heap_base i32 (i32.const 452)) + (global $~lib/heap/__heap_base i32 (i32.const 540)) (export "memory" (memory $0)) (start $start) (func $~lib/array/Array#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/stub/__retain (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load ) - (func $~lib/array/Array#__get (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 320 - i32.const 376 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/array/Array#__unchecked_get - ) - (func $~lib/rt/stub/__alloc (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/stub/__alloc (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -160,7 +140,105 @@ i32.store offset=12 local.get $2 ) - (func $~lib/util/memory/memcpy (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/stub/__release (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/error/Error#constructor (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 7 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + local.set $0 + end + local.get $0 + i32.const 320 + call $~lib/rt/stub/__retain + i32.store + local.get $0 + i32.const 352 + call $~lib/rt/stub/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 8 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 368 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne + if + local.get $3 + call $~lib/rt/stub/__retain + drop + local.get $2 + call $~lib/rt/stub/__release + end + local.get $3 + i32.store + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $~lib/array/Array#__unchecked_get (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + ) + (func $~lib/array/Array#__get (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 408 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + local.get $1 + call $~lib/array/Array#__unchecked_get + ) + (func $~lib/util/memory/memcpy (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1188,7 +1266,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1413,7 +1491,7 @@ end end ) - (func $~lib/rt/stub/__realloc (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/stub/__realloc (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1446,7 +1524,7 @@ end local.get $0 ) - (func $~lib/memory/memory.fill (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1710,10 +1788,7 @@ end end ) - (func $~lib/rt/stub/__retain (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - ) - (func $~lib/array/ensureSize (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureSize (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1733,12 +1808,11 @@ i32.shr_u i32.gt_u if - i32.const 424 - i32.const 376 - i32.const 14 - i32.const 47 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 464 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load @@ -1776,7 +1850,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#__unchecked_set (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__unchecked_set (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.load offset=4 local.get $1 @@ -1786,7 +1860,7 @@ local.get $2 i32.store ) - (func $~lib/array/Array#__set (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -1797,6 +1871,10 @@ i32.add i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 local.get $1 local.get $2 @@ -1812,11 +1890,11 @@ i32.store offset=12 end ) - (func $~lib/array/Array#get:length (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 14 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array#__unchecked_get (; 17 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $0 i32.load offset=4 local.get $1 @@ -1825,7 +1903,7 @@ i32.add i64.load ) - (func $~lib/array/Array#__get (; 15 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array#__get (; 18 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 i32.load offset=8 @@ -1833,18 +1911,18 @@ i32.shr_u i32.ge_u if - i32.const 320 - i32.const 376 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 408 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i64.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/array/Array#__unchecked_set (; 16 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/array/Array#__unchecked_set (; 19 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) local.get $0 i32.load offset=4 local.get $1 @@ -1854,7 +1932,7 @@ local.get $2 i64.store ) - (func $~lib/array/Array#__set (; 17 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/array/Array#__set (; 20 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) local.get $0 i32.load offset=12 @@ -1865,6 +1943,10 @@ i32.add i32.const 3 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 local.get $1 local.get $2 @@ -1880,11 +1962,11 @@ i32.store offset=12 end ) - (func $~lib/array/Array#get:length (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 19 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__unchecked_get (; 22 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $0 i32.load offset=4 local.get $1 @@ -1893,7 +1975,7 @@ i32.add f32.load ) - (func $~lib/array/Array#__get (; 20 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__get (; 23 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -1901,18 +1983,18 @@ i32.shr_u i32.ge_u if - i32.const 320 - i32.const 376 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 408 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/array/Array#__unchecked_set (; 21 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) + (func $~lib/array/Array#__unchecked_set (; 24 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) local.get $0 i32.load offset=4 local.get $1 @@ -1922,7 +2004,7 @@ local.get $2 f32.store ) - (func $~lib/array/Array#__set (; 22 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) + (func $~lib/array/Array#__set (; 25 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) local.get $0 i32.load offset=12 @@ -1933,6 +2015,10 @@ i32.add i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 local.get $1 local.get $2 @@ -1948,11 +2034,11 @@ i32.store offset=12 end ) - (func $~lib/array/Array#get:length (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 24 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__unchecked_get (; 27 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $0 i32.load offset=4 local.get $1 @@ -1961,7 +2047,7 @@ i32.add f64.load ) - (func $~lib/array/Array#__get (; 25 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__get (; 28 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -1969,18 +2055,18 @@ i32.shr_u i32.ge_u if - i32.const 320 - i32.const 376 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 408 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f64.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/array/Array#__unchecked_set (; 26 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) + (func $~lib/array/Array#__unchecked_set (; 29 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) local.get $0 i32.load offset=4 local.get $1 @@ -1990,7 +2076,7 @@ local.get $2 f64.store ) - (func $~lib/array/Array#__set (; 27 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) + (func $~lib/array/Array#__set (; 30 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) local.get $0 i32.load offset=12 @@ -2001,6 +2087,10 @@ i32.add i32.const 3 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 local.get $1 local.get $2 @@ -2016,259 +2106,359 @@ i32.store offset=12 end ) - (func $start:std/static-array (; 28 ;) (type $FUNCSIG$v) + (func $start:std/static-array (; 31 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) - global.get $std/static-array/i - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 264 - i32.const 6 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/i - i32.const 0 - call $~lib/array/Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 264 - i32.const 7 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/i - i32.const 1 - call $~lib/array/Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 264 - i32.const 8 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/heap/__heap_base - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - global.set $~lib/rt/stub/startOffset - global.get $~lib/rt/stub/startOffset - global.set $~lib/rt/stub/offset - global.get $std/static-array/i - i32.const 0 - i32.const 2 - call $~lib/array/Array#__set - global.get $std/static-array/i - i32.const 0 - call $~lib/array/Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 264 - i32.const 10 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/I - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 264 - i32.const 12 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/I - i32.const 0 - call $~lib/array/Array#__get - i64.const 3 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 264 - i32.const 13 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/I - i32.const 1 - call $~lib/array/Array#__get - i64.const 4 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 264 - i32.const 14 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/I - i32.const 0 - i64.const 4 - call $~lib/array/Array#__set - global.get $std/static-array/I - i32.const 0 - call $~lib/array/Array#__get - i64.const 4 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 264 - i32.const 16 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/f - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + (local $2 i64) + (local $3 f32) + (local $4 f64) + block $uncaughtError + global.get $std/static-array/i + call $~lib/array/Array#get:length + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 6 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/heap/__heap_base + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + global.get $std/static-array/i i32.const 0 - i32.const 264 - i32.const 18 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 7 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/i + i32.const 1 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 8 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/i i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/f - i32.const 0 - call $~lib/array/Array#__get - f32.const 1.5 - f32.eq - i32.eqz - if + i32.const 2 + call $~lib/array/Array#__set + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/static-array/i i32.const 0 - i32.const 264 - i32.const 19 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/I + call $~lib/array/Array#get:length + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 12 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/I i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/f - i32.const 1 - call $~lib/array/Array#__get - f32.const 2.5 - f32.eq - i32.eqz - if + call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + i64.const 3 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 13 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/I + i32.const 1 + call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 14 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/I i32.const 0 - i32.const 264 - i32.const 20 + i64.const 4 + call $~lib/array/Array#__set + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/static-array/I i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/f - i32.const 0 - f32.const 2.5 - call $~lib/array/Array#__set - global.get $std/static-array/f - i32.const 0 - call $~lib/array/Array#__get - f32.const 2.5 - f32.eq - i32.eqz - if + call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 16 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/f + call $~lib/array/Array#get:length + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 18 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/f i32.const 0 - i32.const 264 - i32.const 22 + call $~lib/array/Array#__get + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const 1.5 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 19 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/f + i32.const 1 + call $~lib/array/Array#__get + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const 2.5 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 20 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/f i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/F - call $~lib/array/Array#get:length - i32.const 2 - i32.eq - i32.eqz - if + f32.const 2.5 + call $~lib/array/Array#__set + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/static-array/f i32.const 0 - i32.const 264 - i32.const 24 + call $~lib/array/Array#__get + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + f32.const 2.5 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 22 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/F + call $~lib/array/Array#get:length + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 24 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/F i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/F - i32.const 0 - call $~lib/array/Array#__get - f64.const 1.25 - f64.eq - i32.eqz - if + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + f64.const 1.25 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 25 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/F + i32.const 1 + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + f64.const 2.25 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 26 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/static-array/F i32.const 0 - i32.const 264 - i32.const 25 + f64.const 2.25 + call $~lib/array/Array#__set + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/static-array/F i32.const 0 - call $~lib/builtins/abort - unreachable + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + f64.const 2.25 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 264 + i32.const 28 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end - global.get $std/static-array/F + i32.const 512 + i32.const 264 i32.const 1 - call $~lib/array/Array#__get - f64.const 2.25 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 264 - i32.const 26 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/static-array/F - i32.const 0 - f64.const 2.25 - call $~lib/array/Array#__set - global.get $std/static-array/F i32.const 0 - call $~lib/array/Array#__get - f64.const 2.25 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 264 - i32.const 28 - i32.const 0 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable ) - (func $start (; 29 ;) (type $FUNCSIG$v) + (func $start (; 32 ;) (type $FUNCSIG$v) call $start:std/static-array ) - (func $null (; 30 ;) (type $FUNCSIG$v) + (func $null (; 33 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/string-utf8.untouched.wat b/tests/compiler/std/string-utf8.untouched.wat index a9f2900b77..813fc5f54a 100644 --- a/tests/compiler/std/string-utf8.untouched.wat +++ b/tests/compiler/std/string-utf8.untouched.wat @@ -18,6 +18,7 @@ (data (i32.const 232) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $std/string-utf8/str (mut i32) (i32.const 24)) (global $std/string-utf8/len (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 61ff600d38..6efaf27c44 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -27,186 +27,188 @@ (data (i32.const 108) "\01\00\00\00\01") (data (i32.const 120) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") (data (i32.const 168) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 216) "$\00\00\00\01\00\00\00\01\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 272) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 312) "(\00\00\00\01\00\00\00\01\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 368) "\02\00\00\00\01\00\00\00\01\00\00\00\02") - (data (i32.const 392) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a") - (data (i32.const 416) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\006") - (data (i32.const 440) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 488) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\004\d8\06\df") - (data (i32.const 512) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00h\00i") - (data (i32.const 536) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l") - (data (i32.const 560) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g") - (data (i32.const 592) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00I\00\'\00m") - (data (i32.const 616) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00 ") - (data (i32.const 640) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00 \00 \00 ") - (data (i32.const 664) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00b\00c") - (data (i32.const 688) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00 \00 \00a\00b\00c") - (data (i32.const 720) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\002\003") - (data (i32.const 744) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\00a\00b\00c") - (data (i32.const 776) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\002\003\001\002\00a\00b\00c") - (data (i32.const 808) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00b\00c\00 \00 ") - (data (i32.const 840) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00b\00c\00a\00b\00c") - (data (i32.const 872) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00c\00a\00b\00c\00a\00b") - (data (i32.const 904) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00,") - (data (i32.const 928) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00x") - (data (i32.const 952) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00,\00 \00I") - (data (i32.const 976) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00g") - (data (i32.const 1000) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00i") - (data (i32.const 1024) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000") - (data (i32.const 1048) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\001") - (data (i32.const 1072) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00b\001\000\001") - (data (i32.const 1104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00o\007\000\007") - (data (i32.const 1136) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00x\00f\000\00f") - (data (i32.const 1168) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00x\00F\000\00F") - (data (i32.const 1200) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\001\001") - (data (i32.const 1224) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\000\00x\001\00g") - (data (i32.const 1248) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00 \00\t\00\n\001") - (data (i32.const 1272) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002") - (data (i32.const 1304) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F") - (data (i32.const 1344) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F") - (data (i32.const 1400) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 1456) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\001") - (data (i32.const 1480) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\002\005") - (data (i32.const 1504) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00.\001\00f\00o\00o\00b\00a\00r") - (data (i32.const 1536) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00 \00\t\00\n\00.\001") - (data (i32.const 1568) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b") - (data (i32.const 1592) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b") - (data (i32.const 1616) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001") - (data (i32.const 1640) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002") - (data (i32.const 1664) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\001") - (data (i32.const 1688) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\002") - (data (i32.const 1712) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002") - (data (i32.const 1744) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001") - (data (i32.const 1776) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 1808) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 1840) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") - (data (i32.const 1880) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") - (data (i32.const 1920) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a") - (data (i32.const 1944) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00a") - (data (i32.const 1968) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 2016) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00a\00a") - (data (i32.const 2040) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b") - (data (i32.const 2072) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a") - (data (i32.const 2104) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a") - (data (i32.const 2136) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a") - (data (i32.const 2168) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00+") - (data (i32.const 2192) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-") - (data (i32.const 2216) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00a\00b\00c\00d") - (data (i32.const 2240) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00-\00b\00-\00c") - (data (i32.const 2272) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00-\00c") - (data (i32.const 2304) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00a\00b\00c") - (data (i32.const 2328) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\n\00a\00b\00c") - (data (i32.const 2352) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\n") - (data (i32.const 2376) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00c") - (data (i32.const 2400) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00+\00+") - (data (i32.const 2424) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00a\00b\00+\00+") - (data (i32.const 2448) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c") - (data (i32.const 2488) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\00+") - (data (i32.const 2512) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a") - (data (i32.const 2544) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+") - (data (i32.const 2592) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c") - (data (i32.const 2624) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00c\00c\00c\00c") - (data (i32.const 2648) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00c\00c") - (data (i32.const 2672) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00+\00+\00+") - (data (i32.const 2696) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00e") - (data (i32.const 2720) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00c") - (data (i32.const 2744) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00+") - (data (i32.const 2768) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00+\00c") - (data (i32.const 2800) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00b\00d") - (data (i32.const 2824) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+") - (data (i32.const 2856) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") - (data (i32.const 2904) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00n") - (data (i32.const 2928) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n") - (data (i32.const 2960) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g") - (data (i32.const 2992) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h") - (data (i32.const 3024) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") - (data (i32.const 3072) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 3120) "^\00\00\00\01\00\00\00\01\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 3232) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c") - (data (i32.const 3264) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00.") - (data (i32.const 3288) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\008") - (data (i32.const 3312) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000") - (data (i32.const 3344) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\002\003\004") - (data (i32.const 3368) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005") - (data (i32.const 3400) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006") - (data (i32.const 3432) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001") - (data (i32.const 3464) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007") - (data (i32.const 3496) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006") - (data (i32.const 3536) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007") - (data (i32.const 3576) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 3616) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001") - (data (i32.const 3640) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\000\000\000") - (data (i32.const 3664) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 3704) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 3744) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009") - (data (i32.const 3776) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000") - (data (i32.const 3816) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3856) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3896) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3944) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3992) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 4048) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005") - (data (i32.const 4104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004") - (data (i32.const 4136) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 4176) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 4216) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 4264) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 4312) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 4368) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 4424) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008") - (data (i32.const 4480) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000") - (data (i32.const 4504) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 4528) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4568) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4600) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\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_\0dXf\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\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_\0dXf\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 (; 40 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/util/string/strtol (; 41 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2641,7 +2727,7 @@ call $~lib/rt/pure/__release f64.const nan:0x8000000000000 ) - (func $~lib/string/parseInt (; 41 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseInt (; 42 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 f64) local.get $0 call $~lib/rt/pure/__retain @@ -2651,25 +2737,25 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/util/string/strtol (; 42 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/string/strtol (; 43 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 1320 + i32.const 1312 call $~lib/rt/pure/__retain drop block $folding-inner0 - i32.const 1320 + i32.const 1312 call $~lib/string/String#get:length local.tee $2 i32.eqz br_if $folding-inner0 - i32.const 1320 + i32.const 1312 local.set $1 - i32.const 1320 + i32.const 1312 i32.load16_u local.set $0 i32.const 1 @@ -2883,7 +2969,7 @@ br $continue|2 end end - i32.const 1320 + i32.const 1312 call $~lib/rt/pure/__release local.get $3 local.get $5 @@ -2892,28 +2978,28 @@ end f64.const nan:0x8000000000000 i32.trunc_f64_s - i32.const 1320 + i32.const 1312 call $~lib/rt/pure/__release ) - (func $~lib/util/string/strtol (; 43 ;) (type $FUNCSIG$j) (result i64) + (func $~lib/util/string/strtol (; 44 ;) (type $FUNCSIG$j) (result i64) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i64) (local $4 i32) (local $5 i64) - i32.const 1360 + i32.const 1352 call $~lib/rt/pure/__retain drop block $folding-inner0 - i32.const 1360 + i32.const 1352 call $~lib/string/String#get:length local.tee $2 i32.eqz br_if $folding-inner0 - i32.const 1360 + i32.const 1352 local.set $1 - i32.const 1360 + i32.const 1352 i32.load16_u local.set $0 i64.const 1 @@ -3129,7 +3215,7 @@ br $continue|2 end end - i32.const 1360 + i32.const 1352 call $~lib/rt/pure/__release local.get $3 local.get $5 @@ -3138,10 +3224,10 @@ end f64.const nan:0x8000000000000 i64.trunc_f64_s - i32.const 1360 + i32.const 1352 call $~lib/rt/pure/__release ) - (func $~lib/util/string/strtod (; 44 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/util/string/strtod (; 45 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3269,7 +3355,7 @@ end if i32.const 0 - i32.const 1416 + i32.const 1408 i32.const 173 i32.const 10 call $~lib/builtins/abort @@ -3334,7 +3420,7 @@ call $~lib/rt/pure/__release f64.const nan:0x8000000000000 ) - (func $~lib/string/parseFloat (; 45 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseFloat (; 46 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 f64) local.get $0 call $~lib/rt/pure/__retain @@ -3344,7 +3430,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/string/String#concat (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3355,16 +3441,16 @@ i32.eqz if local.get $1 - i32.const 552 + i32.const 544 i32.ne if - i32.const 552 + i32.const 544 call $~lib/rt/pure/__retain drop local.get $1 call $~lib/rt/pure/__release end - i32.const 552 + i32.const 544 local.set $1 end local.get $0 @@ -3390,6 +3476,11 @@ local.get $2 i32.const 1 call $~lib/rt/tlsf/__alloc + global.get $~lib/error + if + i32.const 0 + return + end call $~lib/rt/pure/__retain local.tee $2 local.get $0 @@ -3405,7 +3496,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3414,17 +3505,22 @@ call $~lib/rt/pure/__retain drop local.get $0 - i32.const 552 + i32.const 544 local.get $0 select local.get $1 call $~lib/string/String#concat + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/string/String.__ne (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3441,7 +3537,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/string/String.__gt (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3510,7 +3606,7 @@ call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/string/String.__lt (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3578,7 +3674,7 @@ call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/string/String.__gte (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gte (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3595,7 +3691,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/string/String.__lte (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.__lte (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 120 call $~lib/rt/pure/__retain @@ -3612,7 +3708,39 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/string/String#repeat (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/error/RangeError#constructor (; 54 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.get $0 + call $~lib/error/Error#constructor + local.tee $1 + local.get $1 + i32.load + local.tee $3 + i32.const 1976 + i32.ne + if + i32.const 1976 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release + end + i32.const 1976 + i32.store + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/string/String#repeat (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3631,12 +3759,11 @@ i32.lt_s select if - i32.const 1984 - i32.const 456 - i32.const 324 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 2016 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $2 i32.eqz @@ -3663,7 +3790,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.get $0 local.get $2 i32.const 1 @@ -3673,7 +3806,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#replace (; 54 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#replace (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3737,7 +3870,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.get $0 local.get $4 i32.const 1 @@ -3792,7 +3931,7 @@ call $~lib/rt/pure/__release local.get $0 ) - (func $~lib/rt/tlsf/reallocateBlock (; 55 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 57 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3800,6 +3939,11 @@ local.get $2 call $~lib/rt/tlsf/prepareSize local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 i32.load local.tee $4 @@ -3880,7 +4024,13 @@ local.get $0 local.get $2 call $~lib/rt/tlsf/allocateBlock - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.get $1 i32.load offset=4 i32.store offset=4 @@ -3906,7 +4056,7 @@ call $~lib/rt/tlsf/insertBlock local.get $3 ) - (func $~lib/rt/tlsf/__realloc (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -3939,10 +4089,15 @@ i32.sub local.get $1 call $~lib/rt/tlsf/reallocateBlock + global.get $~lib/error + if + i32.const 0 + return + end i32.const 16 i32.add ) - (func $~lib/string/String#replaceAll (; 57 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#replaceAll (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3957,305 +4112,319 @@ local.get $2 call $~lib/rt/pure/__retain drop - block $folding-inner0 - local.get $0 - call $~lib/string/String#get:length - local.tee $6 - local.get $1 - call $~lib/string/String#get:length - local.tee $9 - i32.le_u - if - local.get $6 - local.get $9 - i32.lt_u - if (result i32) - local.get $0 - call $~lib/rt/pure/__retain - else - local.get $2 - local.get $0 - local.get $1 - local.get $0 - call $~lib/string/String.__eq - select - call $~lib/rt/pure/__retain - end - call $~lib/rt/pure/__retain - local.set $0 - br $folding-inner0 - end - local.get $2 - call $~lib/string/String#get:length - local.set $7 - local.get $9 - i32.eqz - if - local.get $7 - i32.eqz + block $folding-inner2 + block $folding-inner1 + local.get $0 + call $~lib/string/String#get:length + local.tee $7 + local.get $1 + call $~lib/string/String#get:length + local.tee $9 + i32.le_u if - local.get $0 + local.get $7 + local.get $9 + i32.lt_u + if (result i32) + local.get $0 + call $~lib/rt/pure/__retain + else + local.get $2 + local.get $0 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + select + call $~lib/rt/pure/__retain + end call $~lib/rt/pure/__retain local.set $0 - br $folding-inner0 + br $folding-inner1 end - local.get $6 - i32.const 1 - i32.add - local.get $7 - i32.mul - local.get $6 - i32.add - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/tlsf/__alloc - local.tee $4 local.get $2 - local.get $7 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $7 - local.set $5 - loop $loop|0 - block $break|0 - local.get $3 + call $~lib/string/String#get:length + local.set $6 + block $folding-inner0 + local.get $9 + i32.eqz + if local.get $6 - i32.ge_u - br_if $break|0 - local.get $5 - i32.const 1 - i32.shl - local.get $4 - i32.add - local.get $3 - i32.const 1 - i32.shl - local.get $0 - i32.add - i32.load16_u - i32.store16 - local.get $5 - i32.const 1 - i32.add - local.tee $5 + i32.eqz + if + local.get $0 + call $~lib/rt/pure/__retain + local.set $0 + br $folding-inner1 + end + local.get $7 i32.const 1 - i32.shl - local.get $4 i32.add - local.get $2 + local.get $6 + i32.mul local.get $7 + i32.add i32.const 1 i32.shl - call $~lib/memory/memory.copy - local.get $5 - local.get $7 - i32.add - local.set $5 - local.get $3 i32.const 1 - i32.add + call $~lib/rt/tlsf/__alloc local.set $3 - br $loop|0 - end - end - local.get $4 - call $~lib/rt/pure/__retain - local.set $0 - br $folding-inner0 - end - local.get $7 - local.get $9 - i32.eq - if - local.get $6 - i32.const 1 - i32.shl - local.tee $6 - i32.const 1 - call $~lib/rt/tlsf/__alloc - local.tee $5 - local.get $0 - local.get $6 - call $~lib/memory/memory.copy - loop $continue|1 - local.get $0 - local.get $1 - local.get $4 - call $~lib/string/String#indexOf - local.tee $6 - i32.const -1 - i32.xor - if - local.get $6 - i32.const 1 - i32.shl - local.get $5 - i32.add + global.get $~lib/error + br_if $folding-inner2 + local.get $3 local.get $2 - local.get $7 + local.get $6 i32.const 1 i32.shl call $~lib/memory/memory.copy local.get $6 - local.get $9 - i32.add local.set $4 - br $continue|1 + loop $loop|0 + block $break|0 + local.get $5 + local.get $7 + i32.ge_u + br_if $break|0 + local.get $4 + i32.const 1 + i32.shl + local.get $3 + i32.add + local.get $5 + i32.const 1 + i32.shl + local.get $0 + i32.add + i32.load16_u + i32.store16 + local.get $4 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.shl + local.get $3 + i32.add + local.get $2 + local.get $6 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $4 + local.get $6 + i32.add + local.set $4 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + end + br $folding-inner0 end - end - local.get $5 - call $~lib/rt/pure/__retain - local.set $0 - br $folding-inner0 - end - local.get $6 - local.set $5 - loop $continue|2 - local.get $0 - local.get $1 - local.get $4 - call $~lib/string/String#indexOf - local.tee $10 - i32.const -1 - i32.xor - if - local.get $3 - i32.eqz + local.get $6 + local.get $9 + i32.eq if - local.get $6 + local.get $7 i32.const 1 i32.shl + local.tee $4 i32.const 1 call $~lib/rt/tlsf/__alloc local.set $3 - end - local.get $8 - local.get $5 - i32.gt_u - if + global.get $~lib/error + br_if $folding-inner2 local.get $3 - local.get $5 - i32.const 1 - i32.shl - local.tee $5 - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__realloc - local.set $3 + local.get $0 + local.get $4 + call $~lib/memory/memory.copy + loop $continue|1 + local.get $0 + local.get $1 + local.get $5 + call $~lib/string/String#indexOf + local.tee $4 + i32.const -1 + i32.xor + if + local.get $4 + i32.const 1 + i32.shl + local.get $3 + i32.add + local.get $2 + local.get $6 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $4 + local.get $9 + i32.add + local.set $5 + br $continue|1 + end + end + br $folding-inner0 end - local.get $8 - i32.const 1 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.const 1 - i32.shl - local.get $0 - i32.add - local.get $10 - local.get $4 - i32.sub - local.tee $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $4 - local.get $8 - i32.add - local.tee $4 - i32.const 1 - i32.shl - local.get $3 - i32.add - local.get $2 - local.get $7 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $4 local.get $7 - i32.add - local.set $8 - local.get $9 - local.get $10 - i32.add local.set $4 - br $continue|2 - end - end - local.get $8 - if - local.get $8 - local.get $5 - i32.gt_u - if - local.get $3 - local.get $5 - i32.const 1 - i32.shl - local.tee $5 - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__realloc - local.set $3 - end - local.get $6 - local.get $4 - i32.sub - local.tee $7 - if + loop $continue|2 + local.get $0 + local.get $1 + local.get $5 + call $~lib/string/String#indexOf + local.tee $10 + i32.const -1 + i32.xor + if + local.get $3 + i32.eqz + if + local.get $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + br_if $folding-inner2 + end + local.get $8 + local.get $4 + i32.gt_u + if + local.get $3 + local.get $4 + i32.const 1 + i32.shl + local.tee $4 + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__realloc + local.set $3 + global.get $~lib/error + br_if $folding-inner2 + end + local.get $8 + i32.const 1 + i32.shl + local.get $3 + i32.add + local.get $5 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $10 + local.get $5 + i32.sub + local.tee $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $5 + local.get $8 + i32.add + local.tee $5 + i32.const 1 + i32.shl + local.get $3 + i32.add + local.get $2 + local.get $6 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $5 + local.get $6 + i32.add + local.set $8 + local.get $9 + local.get $10 + i32.add + local.set $5 + br $continue|2 + end + end local.get $8 - i32.const 1 - i32.shl - local.get $3 - i32.add - local.get $4 - i32.const 1 - i32.shl - local.get $0 - i32.add - local.get $7 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - end - local.get $5 - local.get $7 - local.get $8 - i32.add - local.tee $0 - i32.gt_u - if (result i32) - local.get $3 + if + local.get $8 + local.get $4 + i32.gt_u + if + local.get $3 + local.get $4 + i32.const 1 + i32.shl + local.tee $4 + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__realloc + local.set $3 + global.get $~lib/error + br_if $folding-inner2 + end + local.get $7 + local.get $5 + i32.sub + local.tee $6 + if + local.get $8 + i32.const 1 + i32.shl + local.get $3 + i32.add + local.get $5 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $6 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + end + local.get $4 + local.get $6 + local.get $8 + i32.add + local.tee $0 + i32.gt_u + if + local.get $3 + local.get $0 + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__realloc + local.set $3 + global.get $~lib/error + br_if $folding-inner2 + end + br $folding-inner0 + end local.get $0 - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__realloc - else - local.get $3 + call $~lib/rt/pure/__retain + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + return end + local.get $3 call $~lib/rt/pure/__retain local.set $0 - br $folding-inner0 end - local.get $0 - call $~lib/rt/pure/__retain local.get $1 call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release + local.get $0 return end - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + i32.const 0 ) - (func $~lib/string/String#slice (; 58 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 call $~lib/string/String#get:length @@ -4316,49 +4485,68 @@ local.get $2 i32.const 1 i32.shl - local.tee $2 i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.get $1 i32.const 1 i32.shl local.get $0 i32.add local.get $2 + i32.const 1 + i32.shl call $~lib/memory/memory.copy local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/rt/__allocArray (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/__allocArray (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) i32.const 16 - i32.const 3 + i32.const 5 call $~lib/rt/tlsf/__alloc - local.tee $1 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.const 2 i32.shl - local.tee $2 + local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $3 + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.get $2 call $~lib/rt/pure/__retain i32.store local.get $1 - local.get $3 + local.get $2 i32.store offset=4 local.get $1 - local.get $2 + local.get $3 i32.store offset=8 local.get $1 local.get $0 i32.store offset=12 local.get $1 ) - (func $~lib/memory/memory.fill (; 60 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -4567,7 +4755,7 @@ end end ) - (func $~lib/array/ensureSize (; 61 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureSize (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4583,12 +4771,10 @@ i32.const 268435452 i32.gt_u if - i32.const 1984 - i32.const 3088 - i32.const 14 - i32.const 47 - call $~lib/builtins/abort - unreachable + i32.const 2016 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load @@ -4598,7 +4784,12 @@ i32.shl local.tee $3 call $~lib/rt/tlsf/__realloc - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.get $2 i32.add local.get $3 @@ -4622,7 +4813,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array<~lib/string/String>#push (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#push (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -4636,6 +4827,10 @@ i32.add local.tee $3 call $~lib/array/ensureSize + global.get $~lib/error + if + return + end local.get $0 i32.load offset=4 local.get $2 @@ -4651,7 +4846,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/string/String#split (; 63 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#split (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4663,198 +4858,235 @@ local.get $1 call $~lib/rt/pure/__retain drop - block $folding-inner2 - block $folding-inner1 (result i32) - local.get $1 - i32.eqz - if - i32.const 1 - call $~lib/rt/__allocArray - local.tee $2 - i32.load offset=4 - local.get $0 - call $~lib/rt/pure/__retain - i32.store - local.get $2 - call $~lib/rt/pure/__retain - br $folding-inner1 - end - local.get $0 - call $~lib/string/String#get:length - local.set $3 - block $folding-inner0 - local.get $1 - call $~lib/string/String#get:length - local.tee $6 - if - local.get $3 + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + local.get $1 i32.eqz if i32.const 1 call $~lib/rt/__allocArray - local.tee $0 + local.set $3 + global.get $~lib/error + br_if $folding-inner0 + local.get $3 i32.load offset=4 - i32.const 120 - i32.store local.get $0 call $~lib/rt/pure/__retain - br $folding-inner1 + i32.store + br $folding-inner2 end - else - local.get $3 - i32.eqz - br_if $folding-inner0 - local.get $3 - i32.const 2147483647 - local.get $3 - i32.const 2147483647 - i32.lt_s - select - local.tee $3 - call $~lib/rt/__allocArray - local.tee $5 - i32.load offset=4 - local.set $6 - loop $loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - i32.const 2 - i32.const 1 - call $~lib/rt/tlsf/__alloc - local.tee $4 - local.get $2 - i32.const 1 - i32.shl - local.get $0 - i32.add - i32.load16_u - i32.store16 - local.get $2 - i32.const 2 - i32.shl - local.get $6 - i32.add - local.get $4 - i32.store - local.get $4 - call $~lib/rt/pure/__retain - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $loop|0 - end - end - local.get $5 - call $~lib/rt/pure/__retain - br $folding-inner1 - end - i32.const 0 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.set $2 - loop $continue|1 local.get $0 + call $~lib/string/String#get:length + local.set $4 local.get $1 - local.get $4 - call $~lib/string/String#indexOf - local.tee $5 - i32.const -1 - i32.xor + call $~lib/string/String#get:length + local.tee $8 if - local.get $5 local.get $4 - i32.sub - local.tee $7 - i32.const 0 - i32.gt_s + i32.eqz if - local.get $7 - i32.const 1 - i32.shl - local.tee $7 i32.const 1 - call $~lib/rt/tlsf/__alloc - local.tee $8 - local.get $4 - i32.const 1 - i32.shl + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $folding-inner0 local.get $0 - i32.add - local.get $7 - call $~lib/memory/memory.copy - local.get $2 - local.get $8 - call $~lib/array/Array<~lib/string/String>#push - else - local.get $2 + i32.load offset=4 i32.const 120 - call $~lib/array/Array<~lib/string/String>#push + i32.store + br $folding-inner1 end - local.get $9 - i32.const 1 - i32.add - local.tee $9 + else + local.get $4 + i32.eqz + if + i32.const 0 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + br_if $folding-inner0 + br $folding-inner1 + end + local.get $4 i32.const 2147483647 - i32.eq + local.get $4 + i32.const 2147483647 + i32.lt_s + select + local.tee $4 + call $~lib/rt/__allocArray + local.set $3 + global.get $~lib/error + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + local.set $6 + loop $loop|0 + local.get $5 + local.get $4 + i32.lt_s + if + i32.const 2 + i32.const 1 + call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + br_if $folding-inner0 + local.get $2 + local.get $5 + i32.const 1 + i32.shl + local.get $0 + i32.add + i32.load16_u + i32.store16 + local.get $5 + i32.const 2 + i32.shl + local.get $6 + i32.add + local.get $2 + i32.store + local.get $2 + call $~lib/rt/pure/__retain + drop + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + end + br $folding-inner2 + end + i32.const 0 + call $~lib/rt/__allocArray + global.get $~lib/error + br_if $folding-inner0 + call $~lib/rt/pure/__retain + local.set $2 + loop $continue|1 + local.get $0 + local.get $1 + local.get $3 + call $~lib/string/String#indexOf + local.tee $5 + i32.const -1 + i32.xor if - br $folding-inner2 - else local.get $5 - local.get $6 + local.get $3 + i32.sub + local.tee $6 + i32.const 0 + i32.gt_s + if + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + br_if $folding-inner0 + local.get $7 + local.get $3 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $6 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $7 + call $~lib/array/Array<~lib/string/String>#push + else + local.get $2 + i32.const 120 + call $~lib/array/Array<~lib/string/String>#push + end + global.get $~lib/error + br_if $folding-inner0 + local.get $9 + i32.const 1 i32.add - local.set $4 - br $continue|1 + local.tee $9 + i32.const 2147483647 + i32.eq + if + br $folding-inner3 + else + local.get $5 + local.get $8 + i32.add + local.set $3 + br $continue|1 + end + unreachable end - unreachable end - end - local.get $4 - i32.eqz - if - local.get $2 - local.get $0 - call $~lib/array/Array<~lib/string/String>#push - br $folding-inner2 - end - local.get $3 - local.get $4 - i32.sub - local.tee $3 - i32.const 0 - i32.gt_s - if local.get $3 - i32.const 1 - i32.shl - local.tee $3 - i32.const 1 - call $~lib/rt/tlsf/__alloc - local.tee $5 + i32.eqz + if + local.get $2 + local.get $0 + call $~lib/array/Array<~lib/string/String>#push + global.get $~lib/error + br_if $folding-inner0 + br $folding-inner3 + end local.get $4 - i32.const 1 - i32.shl - local.get $0 - i32.add local.get $3 - call $~lib/memory/memory.copy - local.get $2 - local.get $5 - call $~lib/array/Array<~lib/string/String>#push - else - local.get $2 - i32.const 120 - call $~lib/array/Array<~lib/string/String>#push + i32.sub + local.tee $4 + i32.const 0 + i32.gt_s + if + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/tlsf/__alloc + local.set $5 + global.get $~lib/error + br_if $folding-inner0 + local.get $5 + local.get $3 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $5 + call $~lib/array/Array<~lib/string/String>#push + else + local.get $2 + i32.const 120 + call $~lib/array/Array<~lib/string/String>#push + end + global.get $~lib/error + br_if $folding-inner0 + br $folding-inner3 end - br $folding-inner2 + i32.const 0 + return end - i32.const 0 - call $~lib/rt/__allocArray + local.get $0 call $~lib/rt/pure/__retain + local.get $1 + call $~lib/rt/pure/__release + return end + local.get $3 + call $~lib/rt/pure/__retain local.get $1 call $~lib/rt/pure/__release return @@ -4863,18 +5095,18 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/array/Array<~lib/string/String>#__get (; 64 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 3136 - i32.const 3088 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 3120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -4883,12 +5115,11 @@ i32.shr_u i32.ge_u if - i32.const 232 - i32.const 3088 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -4899,7 +5130,7 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/util/number/decimalCount32 (; 65 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 67 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 2 local.get $0 @@ -4947,7 +5178,7 @@ i32.lt_u select ) - (func $~lib/util/number/utoa_simple (; 66 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa_simple (; 68 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) loop $continue|0 local.get $1 @@ -4974,21 +5205,21 @@ br_if $continue|0 end ) - (func $~lib/util/number/itoa32 (; 67 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 i32.eqz if - i32.const 1040 + i32.const 1032 call $~lib/rt/pure/__retain return end local.get $0 i32.const 0 i32.lt_s - local.tee $1 + local.tee $2 if i32.const 0 local.get $0 @@ -4997,51 +5228,63 @@ end local.get $0 call $~lib/util/number/decimalCount32 - local.get $1 + local.get $2 i32.add local.tee $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $2 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.get $0 local.get $3 call $~lib/util/number/utoa_simple - local.get $1 + local.get $2 if - local.get $2 + local.get $1 i32.const 45 i32.store16 end - local.get $2 + local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/utoa32 (; 68 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 70 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.eqz if - i32.const 1040 + i32.const 1032 call $~lib/rt/pure/__retain return end local.get $0 call $~lib/util/number/decimalCount32 - local.tee $1 + local.tee $2 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $2 - local.get $0 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 - call $~lib/util/number/utoa_simple + local.get $0 local.get $2 + call $~lib/util/number/utoa_simple + local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/decimalCount64 (; 69 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 71 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) i32.const 11 i32.const 12 local.get $0 @@ -5089,7 +5332,7 @@ i64.lt_u select ) - (func $~lib/util/number/utoa_simple (; 70 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa_simple (; 72 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) loop $continue|0 local.get $1 @@ -5119,14 +5362,14 @@ br_if $continue|0 end ) - (func $~lib/util/number/utoa64 (; 71 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 73 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 i64.eqz if - i32.const 1040 + i32.const 1032 call $~lib/rt/pure/__retain return end @@ -5136,34 +5379,46 @@ if local.get $0 i32.wrap_i64 - local.tee $1 + local.tee $2 call $~lib/util/number/decimalCount32 local.tee $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $2 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 + local.get $2 local.get $3 call $~lib/util/number/utoa_simple else local.get $0 call $~lib/util/number/decimalCount64 - local.tee $1 + local.tee $2 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $2 - local.get $0 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 + local.get $0 + local.get $2 call $~lib/util/number/utoa_simple end - local.get $2 + local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa64 (; 72 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 74 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5171,14 +5426,14 @@ local.get $0 i64.eqz if - i32.const 1040 + i32.const 1032 call $~lib/rt/pure/__retain return end local.get $0 i64.const 0 i64.lt_s - local.tee $1 + local.tee $2 if i64.const 0 local.get $0 @@ -5191,44 +5446,56 @@ if local.get $0 i32.wrap_i64 - local.tee $2 + local.tee $3 call $~lib/util/number/decimalCount32 - local.get $1 + local.get $2 i32.add local.tee $4 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $3 - local.get $2 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.get $3 local.get $4 call $~lib/util/number/utoa_simple else local.get $0 call $~lib/util/number/decimalCount64 - local.get $1 + local.get $2 i32.add - local.tee $2 + local.tee $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $3 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.get $0 - local.get $2 + local.get $3 call $~lib/util/number/utoa_simple end - local.get $1 + local.get $2 if - local.get $3 + local.get $1 i32.const 45 i32.store16 end - local.get $3 + local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/genDigits (; 73 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 75 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i32) (local $9 i64) @@ -5263,7 +5530,7 @@ local.tee $7 call $~lib/util/number/decimalCount32 local.set $4 - i32.const 5644 + i32.const 5628 i32.load local.set $13 loop $continue|0 @@ -5627,7 +5894,7 @@ local.get $6 end ) - (func $~lib/util/number/prettify (; 74 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 76 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -5874,7 +6141,7 @@ end end ) - (func $~lib/util/number/dtoa_core (; 75 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 77 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i64) (local $3 i32) (local $4 i64) @@ -5990,7 +6257,7 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 5332 + i32.const 5316 i32.load local.get $3 i32.const 3 @@ -5998,7 +6265,7 @@ i32.add i64.load global.set $~lib/util/number/_frc_pow - i32.const 5556 + i32.const 5540 i32.load local.get $3 i32.const 1 @@ -6162,7 +6429,7 @@ local.get $10 i32.add ) - (func $~lib/string/String#substring (; 76 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#substring (; 78 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) i32.const 0 @@ -6230,7 +6497,13 @@ local.get $2 i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $1 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.get $0 local.get $3 i32.add @@ -6239,14 +6512,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/dtoa (; 77 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 79 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) local.get $0 f64.const 0 f64.eq if - i32.const 4496 + i32.const 4480 call $~lib/rt/pure/__retain return end @@ -6260,12 +6533,12 @@ local.get $0 f64.ne if - i32.const 4520 + i32.const 4504 call $~lib/rt/pure/__retain return end - i32.const 4544 - i32.const 4584 + i32.const 4528 + i32.const 4568 local.get $0 f64.const 0 f64.lt @@ -6276,7 +6549,13 @@ i32.const 56 i32.const 1 call $~lib/rt/tlsf/__alloc - local.tee $1 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 local.get $0 call $~lib/util/number/dtoa_core local.tee $2 @@ -6290,10 +6569,15 @@ local.get $1 local.get $2 call $~lib/string/String#substring + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 call $~lib/rt/tlsf/__free ) - (func $start:std/string (; 78 ;) (type $FUNCSIG$v) + (func $start:std/string (; 80 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6321,7 +6605,7 @@ (local $24 i32) (local $25 i32) (local $26 i32) - (local $27 i64) + (local $27 i32) (local $28 i32) (local $29 i32) (local $30 i32) @@ -6457,7 +6741,7 @@ (local $160 i32) (local $161 i32) (local $162 i32) - (local $163 i32) + (local $163 i64) global.get $std/string/str i32.const 24 i32.ne @@ -6514,7 +6798,7 @@ call $~lib/builtins/abort unreachable end - i32.const 384 + i32.const 376 call $~lib/string/String.__not i32.eqz i32.const 1 @@ -6527,7 +6811,7 @@ call $~lib/builtins/abort unreachable end - i32.const 408 + i32.const 400 call $~lib/string/String.__not i32.eqz i32.const 1 @@ -6544,3907 +6828,4449 @@ global.set $~lib/argc i32.const 0 call $~lib/string/String.fromCharCode|trampoline - local.tee $5 - i32.const 384 - call $~lib/string/String.__eq - i32.eqz - if + local.set $5 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $5 + i32.const 376 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 17 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc + i32.const 54 + call $~lib/string/String.fromCharCode|trampoline + local.set $6 + global.get $~lib/error + br_if $uncaughtError + local.get $6 + i32.const 424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 18 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc + i32.const 65590 + call $~lib/string/String.fromCharCode|trampoline + local.set $7 + global.get $~lib/error + br_if $uncaughtError + local.get $7 + i32.const 424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 19 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 72 - i32.const 17 + call $~lib/string/String.fromCodePoint + local.set $8 + global.get $~lib/error + br_if $uncaughtError + local.get $8 + i32.const 376 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 21 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 54 + call $~lib/string/String.fromCodePoint + local.set $9 + global.get $~lib/error + br_if $uncaughtError + local.get $9 + i32.const 424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 22 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 119558 + call $~lib/string/String.fromCodePoint + local.set $10 + global.get $~lib/error + br_if $uncaughtError + local.get $10 + i32.eqz + if + i32.const 496 + i32.const 72 + i32.const 23 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + call $~lib/string/String#startsWith + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 25 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + call $~lib/string/String#endsWith + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 26 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 600 + call $~lib/rt/pure/__retain + drop + i32.const 600 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~lib/argc - i32.const 54 - call $~lib/string/String.fromCharCode|trampoline - local.tee $6 - i32.const 432 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#indexOf + i32.const -1 + i32.ne + i32.const 600 + call $~lib/rt/pure/__release + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 27 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str i32.const 0 - i32.const 72 - i32.const 18 + i32.const 624 + call $~lib/string/String#padStart + local.set $11 + global.get $~lib/error + br_if $uncaughtError + local.get $11 + global.get $std/string/str + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 29 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 15 + i32.const 624 + call $~lib/string/String#padStart + local.set $12 + global.get $~lib/error + br_if $uncaughtError + local.get $12 + global.get $std/string/str + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 30 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 3 + i32.const 624 + call $~lib/string/String#padStart + local.set $13 + global.get $~lib/error + br_if $uncaughtError + local.get $13 + i32.const 648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 31 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 10 + i32.const 120 + call $~lib/string/String#padStart + local.set $14 + global.get $~lib/error + br_if $uncaughtError + local.get $14 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 32 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 100 + i32.const 120 + call $~lib/string/String#padStart + local.set $15 + global.get $~lib/error + br_if $uncaughtError + local.get $15 + i32.const 400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 33 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 5 + i32.const 624 + call $~lib/string/String#padStart + local.set $16 + global.get $~lib/error + br_if $uncaughtError + local.get $16 + i32.const 696 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 34 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 6 + i32.const 728 + call $~lib/string/String#padStart + local.set $17 + global.get $~lib/error + br_if $uncaughtError + local.get $17 + i32.const 752 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 35 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 8 + i32.const 728 + call $~lib/string/String#padStart + local.set $18 + global.get $~lib/error + br_if $uncaughtError + local.get $18 + i32.const 784 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 36 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~lib/argc - i32.const 65590 - call $~lib/string/String.fromCharCode|trampoline - local.tee $7 - i32.const 432 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 19 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/string/String.fromCodePoint - local.tee $8 - i32.const 384 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 21 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 54 - call $~lib/string/String.fromCodePoint - local.tee $9 - i32.const 432 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 22 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 119558 - call $~lib/string/String.fromCodePoint - local.tee $10 - i32.eqz - if - i32.const 504 - i32.const 72 - i32.const 23 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - call $~lib/string/String#startsWith - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 25 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - call $~lib/string/String#endsWith - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 26 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 608 - call $~lib/rt/pure/__retain - drop - i32.const 608 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 - i32.ne - i32.const 608 - call $~lib/rt/pure/__release - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 27 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 0 - i32.const 632 - call $~lib/string/String#padStart - local.tee $11 - global.get $std/string/str - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 29 + i32.const 624 + call $~lib/string/String#padEnd + local.set $19 + global.get $~lib/error + br_if $uncaughtError + local.get $19 + global.get $std/string/str + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 38 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 15 + i32.const 624 + call $~lib/string/String#padEnd + local.set $20 + global.get $~lib/error + br_if $uncaughtError + local.get $20 + global.get $std/string/str + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 39 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 3 + i32.const 624 + call $~lib/string/String#padEnd + local.set $21 + global.get $~lib/error + br_if $uncaughtError + local.get $21 + i32.const 648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 40 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 10 + i32.const 120 + call $~lib/string/String#padEnd + local.set $22 + global.get $~lib/error + br_if $uncaughtError + local.get $22 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 41 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 100 + i32.const 120 + call $~lib/string/String#padEnd + local.set $23 + global.get $~lib/error + br_if $uncaughtError + local.get $23 + i32.const 400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 42 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 5 + i32.const 624 + call $~lib/string/String#padEnd + local.set $24 + global.get $~lib/error + br_if $uncaughtError + local.get $24 + i32.const 816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 43 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 6 + i32.const 672 + call $~lib/string/String#padEnd + local.set $25 + global.get $~lib/error + br_if $uncaughtError + local.get $25 + i32.const 848 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 44 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 8 + i32.const 672 + call $~lib/string/String#padEnd + local.set $26 + global.get $~lib/error + br_if $uncaughtError + local.get $26 + i32.const 880 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 45 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 15 - i32.const 632 - call $~lib/string/String#padStart - local.tee $12 - global.get $std/string/str - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#indexOf + if + i32.const 0 + i32.const 72 + i32.const 47 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 520 i32.const 0 - i32.const 72 - i32.const 30 + call $~lib/string/String#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 48 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 400 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 3 - i32.const 632 - call $~lib/string/String#padStart - local.tee $13 - i32.const 656 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#indexOf + if + i32.const 0 + i32.const 72 + i32.const 49 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + global.get $std/string/str i32.const 0 - i32.const 72 - i32.const 31 + call $~lib/string/String#indexOf + if + i32.const 0 + i32.const 72 + i32.const 50 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 120 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 10 - i32.const 120 - call $~lib/string/String#padStart - local.tee $14 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#indexOf + if + i32.const 0 + i32.const 72 + i32.const 51 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 i32.const 0 - i32.const 72 - i32.const 32 + call $~lib/string/String#indexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 52 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 936 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 100 - i32.const 120 - call $~lib/string/String#padStart - local.tee $15 - i32.const 408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 33 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 5 - i32.const 632 - call $~lib/string/String#padStart - local.tee $16 - i32.const 704 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 34 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 6 - i32.const 736 - call $~lib/string/String#padStart - local.tee $17 - i32.const 760 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 35 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 8 - i32.const 736 - call $~lib/string/String#padStart - local.tee $18 - i32.const 792 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 36 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 0 - i32.const 632 - call $~lib/string/String#padEnd - local.tee $19 - global.get $std/string/str - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 38 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 15 - i32.const 632 - call $~lib/string/String#padEnd - local.tee $20 - global.get $std/string/str - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 39 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 3 - i32.const 632 - call $~lib/string/String#padEnd - local.tee $21 - i32.const 656 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 40 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 10 - i32.const 120 - call $~lib/string/String#padEnd - local.tee $22 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 41 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 100 - i32.const 120 - call $~lib/string/String#padEnd - local.tee $23 - i32.const 408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 42 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 5 - i32.const 632 - call $~lib/string/String#padEnd - local.tee $24 - i32.const 824 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 43 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 6 - i32.const 680 - call $~lib/string/String#padEnd - local.tee $25 - i32.const 856 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 44 + call $~lib/string/String#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 53 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 + i32.const 2 + call $~lib/string/String#indexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 54 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 + i32.const 3 + call $~lib/string/String#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 55 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 960 + i32.const -1 + call $~lib/string/String#indexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 56 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 2147483647 + call $~lib/string/String#lastIndexOf + if + i32.const 0 + i32.const 72 + i32.const 58 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 520 + i32.const 2147483647 + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 59 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 120 + i32.const 2147483647 + call $~lib/string/String#lastIndexOf + global.get $std/string/str + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 60 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 + i32.const 2147483647 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 61 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 936 + i32.const 2147483647 + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 62 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 984 + i32.const 2147483647 + call $~lib/string/String#lastIndexOf + i32.const 15 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 63 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 + i32.const 2 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 64 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 + i32.const 3 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 65 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 960 + i32.const -1 + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 66 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 1008 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 8 - i32.const 680 - call $~lib/string/String#padEnd - local.tee $26 - i32.const 888 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 67 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 520 i32.const 0 - i32.const 72 - i32.const 45 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 0 - call $~lib/string/String#indexOf - if - i32.const 0 - i32.const 72 - i32.const 47 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 528 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 48 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 408 - i32.const 0 - call $~lib/string/String#indexOf - if - i32.const 0 - i32.const 72 - i32.const 49 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - global.get $std/string/str - i32.const 0 - call $~lib/string/String#indexOf - if - i32.const 0 - i32.const 72 - i32.const 50 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 120 - i32.const 0 - call $~lib/string/String#indexOf - if - i32.const 0 - i32.const 72 - i32.const 51 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 52 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 944 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 53 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 2 - call $~lib/string/String#indexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 54 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 3 - call $~lib/string/String#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 55 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 968 - i32.const -1 - call $~lib/string/String#indexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 56 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf - if - i32.const 0 - i32.const 72 - i32.const 58 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 528 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 59 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 120 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf - global.get $std/string/str - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 60 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 61 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 944 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 62 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 992 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf - i32.const 15 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 63 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 2 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 64 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 3 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 65 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 968 - i32.const -1 - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 66 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 1016 - i32.const 0 - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 67 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 528 - i32.const 0 - call $~lib/string/String#lastIndexOf - if - i32.const 0 - i32.const 72 - i32.const 68 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1040 - call $~lib/string/parseInt - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 70 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1064 - call $~lib/string/parseInt - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 71 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1088 - call $~lib/string/parseInt - f64.const 5 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 72 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1120 - call $~lib/string/parseInt - f64.const 455 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 73 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1152 - call $~lib/string/parseInt - f64.const 3855 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 74 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1184 - call $~lib/string/parseInt - f64.const 3855 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 75 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1216 - call $~lib/string/parseInt - f64.const 11 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 76 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1240 - call $~lib/string/parseInt - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 77 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1264 - call $~lib/string/parseInt - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 79 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1288 - call $~lib/string/parseInt - f64.const 2 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 80 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1320 - call $~lib/rt/pure/__retain - drop - call $~lib/util/string/strtol - i32.const 1320 - call $~lib/rt/pure/__release - i32.const 2147483647 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 82 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1360 - call $~lib/rt/pure/__retain - drop - call $~lib/util/string/strtol - i32.const 1360 - call $~lib/rt/pure/__release - i64.const 9223372036854775807 - i64.ne - if - i32.const 0 - i32.const 72 - i32.const 83 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1040 - call $~lib/string/parseFloat - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 85 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1064 - call $~lib/string/parseFloat - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 86 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1472 - call $~lib/string/parseFloat - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 87 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1496 - call $~lib/string/parseFloat - f64.const 0.25 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 88 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1520 - call $~lib/string/parseFloat - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 89 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1552 - call $~lib/string/parseFloat - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 72 - i32.const 91 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 1584 - call $~lib/string/String.__concat - local.tee $1 - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 1608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 95 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 408 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 96 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - i32.const 120 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 98 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - global.get $std/string/nullStr - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 99 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/nullStr - i32.const 120 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 100 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 1584 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 101 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 102 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1632 - i32.const 1656 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 103 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1632 - i32.const 1632 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 104 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1680 - i32.const 1704 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 105 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1728 - i32.const 1760 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 106 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1792 - i32.const 1792 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 107 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1792 - i32.const 1824 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 108 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1856 - i32.const 1896 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 109 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1584 - i32.const 408 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 111 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1936 - i32.const 408 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 112 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1936 - i32.const 1960 - call $~lib/string/String.__gte - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1936 - i32.const 1608 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 114 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1936 - i32.const 1608 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 72 - i32.const 115 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1584 - global.get $std/string/nullStr - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 72 - i32.const 117 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/nullStr - i32.const 1584 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 72 - i32.const 118 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 120 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 680 - call $~lib/string/String.__lt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 121 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - call $~lib/string/String.__gte - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 122 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - call $~lib/string/String.__lte - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 123 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 72 - i32.const 124 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 680 - call $~lib/string/String.__gt - if - i32.const 0 - i32.const 72 - i32.const 125 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 72 - i32.const 126 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - call $~lib/string/String.__gt - if - i32.const 0 - i32.const 72 - i32.const 127 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - call $~lib/string/String.__gte - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 128 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - call $~lib/string/String.__lte - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 129 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 65377 - call $~lib/string/String.fromCodePoint - local.tee $0 - i32.const 55296 - call $~lib/string/String.fromCodePoint - local.tee $1 - i32.const 56322 - call $~lib/string/String.fromCodePoint - local.tee $2 - call $~lib/string/String.__concat - local.tee $3 - call $~lib/rt/pure/__retain - local.tee $4 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 134 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - i32.const 736 - call $~lib/string/String#get:length - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 72 - i32.const 137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 100 - call $~lib/string/String#repeat - local.tee $3 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 139 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 0 - call $~lib/string/String#repeat - local.tee $4 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 140 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 1 - call $~lib/string/String#repeat - local.tee $28 - i32.const 408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 141 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 2 - call $~lib/string/String#repeat - local.tee $29 - i32.const 1960 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 142 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 3 - call $~lib/string/String#repeat - local.tee $30 - i32.const 2032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 143 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1608 - i32.const 4 - call $~lib/string/String#repeat - local.tee $31 - i32.const 2056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 144 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 5 - call $~lib/string/String#repeat - local.tee $32 - i32.const 2088 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 145 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 6 - call $~lib/string/String#repeat - local.tee $33 - i32.const 2120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 146 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 7 - call $~lib/string/String#repeat - local.tee $34 - i32.const 2152 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 147 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 120 - call $~lib/string/String#replace - local.tee $35 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 149 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 2184 - call $~lib/string/String#replace - local.tee $36 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 150 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2184 - i32.const 2184 - i32.const 120 - call $~lib/string/String#replace - local.tee $37 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 151 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2184 - i32.const 120 - i32.const 120 - call $~lib/string/String#replace - local.tee $38 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 152 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2208 - i32.const 2184 - call $~lib/string/String#replace - local.tee $39 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 153 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 680 - i32.const 2184 - call $~lib/string/String#replace - local.tee $40 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 154 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2232 - i32.const 2184 - call $~lib/string/String#replace - local.tee $41 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 155 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 1608 - i32.const 1608 - call $~lib/string/String#replace - local.tee $42 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 156 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2256 - i32.const 2208 - i32.const 2184 - call $~lib/string/String#replace - local.tee $43 - i32.const 2288 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 157 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - i32.const 2184 - call $~lib/string/String#replace - local.tee $44 - i32.const 2320 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 158 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2344 - i32.const 2368 - i32.const 2184 - call $~lib/string/String#replace - local.tee $45 - i32.const 2320 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 159 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2392 - i32.const 2416 - call $~lib/string/String#replace - local.tee $46 - i32.const 2440 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 160 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2392 - i32.const 120 - call $~lib/string/String#replace - local.tee $47 - i32.const 1608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 161 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 680 - call $~lib/string/String#replaceAll - local.tee $48 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 163 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2208 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $49 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 164 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 856 - i32.const 680 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $50 - i32.const 2416 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 166 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2464 - i32.const 680 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $51 - i32.const 2504 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 167 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 856 - i32.const 1608 - i32.const 1608 - call $~lib/string/String#replaceAll - local.tee $52 - i32.const 856 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 168 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2528 - i32.const 408 - i32.const 2504 - call $~lib/string/String#replaceAll - local.tee $53 - i32.const 2560 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 169 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 856 - i32.const 1608 - i32.const 2416 - call $~lib/string/String#replaceAll - local.tee $54 - i32.const 2608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 170 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2640 - i32.const 2664 - i32.const 2416 - call $~lib/string/String#replaceAll - local.tee $55 - i32.const 2688 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 171 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2232 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $56 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 172 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2232 - i32.const 2712 - i32.const 2416 - call $~lib/string/String#replaceAll - local.tee $57 - i32.const 2232 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 173 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2736 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $58 - i32.const 2760 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 174 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1608 - i32.const 1608 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $59 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 175 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2256 - i32.const 2208 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $60 - i32.const 2784 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 176 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 120 - call $~lib/string/String#replaceAll - local.tee $61 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 178 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $62 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 179 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2184 - i32.const 2184 - i32.const 120 - call $~lib/string/String#replaceAll - local.tee $63 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 180 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2184 - i32.const 120 - i32.const 120 - call $~lib/string/String#replaceAll - local.tee $64 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 181 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 680 - i32.const 2208 - call $~lib/string/String#replaceAll - local.tee $65 - i32.const 2208 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 182 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2816 - i32.const 2208 - call $~lib/string/String#replaceAll - local.tee $66 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 183 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $67 - i32.const 2840 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 184 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - i32.const 120 - call $~lib/string/String#replaceAll - local.tee $68 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 185 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - local.tee $0 - i32.const 2872 - i32.ne - if - i32.const 2872 - call $~lib/rt/pure/__retain - drop - local.get $0 - call $~lib/rt/pure/__release - end - i32.const 2872 - global.set $std/string/str - global.get $std/string/str - i32.const 0 - i32.const 2147483647 - call $~lib/string/String#slice - local.tee $69 - i32.const 2872 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 189 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const -1 - i32.const 2147483647 - call $~lib/string/String#slice - local.tee $70 - i32.const 2920 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 190 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const -5 - i32.const 2147483647 - call $~lib/string/String#slice - local.tee $71 - i32.const 2944 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 191 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 2 - i32.const 7 - call $~lib/string/String#slice - local.tee $72 - i32.const 2976 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 192 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const -11 - i32.const -6 - call $~lib/string/String#slice - local.tee $73 - i32.const 3008 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 4 - i32.const 3 - call $~lib/string/String#slice - local.tee $74 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 0 - i32.const -1 - call $~lib/string/String#slice - local.tee $75 - i32.const 3040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 0 - call $~lib/string/String#split - local.set $0 - i32.const 0 - call $~lib/rt/pure/__release - local.get $0 - i32.load offset=12 - i32.const 1 - i32.eq - if - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $2 - i32.const 120 - call $~lib/string/String.__eq - local.set $1 - local.get $2 - call $~lib/rt/pure/__release - else - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 201 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - call $~lib/string/String#split - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - i32.load offset=12 - if - i32.const 0 - i32.const 72 - i32.const 203 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 920 - call $~lib/string/String#split - local.set $2 - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - i32.load offset=12 - i32.const 1 - i32.eq - if - local.get $2 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $0 - i32.const 120 - call $~lib/string/String.__eq - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - else - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 205 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3248 - i32.const 3280 - call $~lib/string/String#split - local.set $0 - local.get $2 - call $~lib/rt/pure/__release - local.get $0 - i32.load offset=12 - i32.const 1 - i32.eq - if - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $2 - i32.const 3248 - call $~lib/string/String.__eq - local.set $1 - local.get $2 - call $~lib/rt/pure/__release - else - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 207 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3248 - i32.const 920 - call $~lib/string/String#split - local.get $0 - call $~lib/rt/pure/__release - local.tee $0 - i32.load offset=12 - i32.const 3 - i32.eq - if - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $2 - i32.const 408 - call $~lib/string/String.__eq - local.set $1 - local.get $2 - call $~lib/rt/pure/__release - else - i32.const 0 - local.set $1 - end - local.get $1 - if - local.get $0 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $2 - i32.const 1584 - call $~lib/string/String.__eq - local.set $1 - local.get $2 - call $~lib/rt/pure/__release - else - i32.const 0 - local.set $1 - end - local.get $1 - if - local.get $0 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $2 - i32.const 2392 - call $~lib/string/String.__eq - local.set $1 - local.get $2 - call $~lib/rt/pure/__release - else - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 209 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - i32.const 0 - call $~lib/util/number/itoa32 - local.tee $0 - i32.const 1040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 235 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $~lib/util/number/itoa32 - local.tee $1 - i32.const 1064 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 236 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 8 - call $~lib/util/number/itoa32 - local.tee $2 - i32.const 3304 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 237 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 123 - call $~lib/util/number/itoa32 - local.tee $76 - i32.const 736 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 238 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const -1000 - call $~lib/util/number/itoa32 - local.tee $77 - i32.const 3328 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 239 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1234 - call $~lib/util/number/itoa32 - local.tee $78 - i32.const 3360 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 240 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 12345 - call $~lib/util/number/itoa32 - local.tee $79 - i32.const 3384 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 241 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 123456 - call $~lib/util/number/itoa32 - local.tee $80 - i32.const 3416 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 242 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1111111 - call $~lib/util/number/itoa32 - local.tee $81 - i32.const 3448 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 243 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1234567 - call $~lib/util/number/itoa32 - local.tee $82 - i32.const 3480 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 244 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483646 - call $~lib/util/number/itoa32 - local.tee $83 - i32.const 3512 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 245 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483647 - call $~lib/util/number/itoa32 - local.tee $84 - i32.const 3552 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 246 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const -2147483648 - call $~lib/util/number/itoa32 - local.tee $85 - i32.const 3592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 247 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - call $~lib/util/number/itoa32 - local.tee $86 - i32.const 3632 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 248 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/util/number/utoa32 - local.tee $87 - i32.const 1040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 250 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1000 - call $~lib/util/number/utoa32 - local.tee $88 - i32.const 3656 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 251 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483647 - call $~lib/util/number/utoa32 - local.tee $89 - i32.const 3552 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 252 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const -2147483648 - call $~lib/util/number/utoa32 - local.tee $90 - i32.const 3680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 253 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - call $~lib/util/number/utoa32 - local.tee $91 - i32.const 3720 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 254 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - call $~lib/util/number/utoa64 - local.tee $92 - i32.const 1040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 256 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1234 - call $~lib/util/number/utoa64 - local.tee $93 - i32.const 3360 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 257 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 99999999 - call $~lib/util/number/utoa64 - local.tee $94 - i32.const 3760 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 258 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 100000000 - call $~lib/util/number/utoa64 - local.tee $95 - i32.const 3792 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 259 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - call $~lib/util/number/utoa64 - local.tee $96 - i32.const 3720 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 260 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 68719476735 - call $~lib/util/number/utoa64 - local.tee $97 - i32.const 3832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 261 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 868719476735 - call $~lib/util/number/utoa64 - local.tee $98 - i32.const 3872 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 262 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 999868719476735 - call $~lib/util/number/utoa64 - local.tee $99 - i32.const 3912 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 263 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 9999868719476735 - call $~lib/util/number/utoa64 - local.tee $100 - i32.const 3960 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 264 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 19999868719476735 - call $~lib/util/number/utoa64 - local.tee $101 - i32.const 4008 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 265 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - call $~lib/util/number/utoa64 - local.tee $102 - i32.const 4064 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 266 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - call $~lib/util/number/itoa64 - local.tee $103 - i32.const 1040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 268 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1234 - call $~lib/util/number/itoa64 - local.tee $104 - i32.const 4120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 269 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - call $~lib/util/number/itoa64 - local.tee $105 - i32.const 3720 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 270 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4294967295 - call $~lib/util/number/itoa64 - local.tee $106 - i32.const 4152 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 271 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 68719476735 - call $~lib/util/number/itoa64 - local.tee $107 - i32.const 3832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 272 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -68719476735 - call $~lib/util/number/itoa64 - local.tee $108 - i32.const 4192 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 273 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -868719476735 - call $~lib/util/number/itoa64 - local.tee $109 - i32.const 4232 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 274 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -999868719476735 - call $~lib/util/number/itoa64 - local.tee $110 - i32.const 4280 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 275 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -19999868719476735 - call $~lib/util/number/itoa64 - local.tee $111 - i32.const 4328 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 276 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 9223372036854775807 - call $~lib/util/number/itoa64 - local.tee $112 - i32.const 4384 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 277 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -9223372036854775808 - call $~lib/util/number/itoa64 - local.tee $113 - i32.const 4440 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 278 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - call $~lib/util/number/dtoa - local.tee $114 - i32.const 4496 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 281 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - call $~lib/util/number/dtoa - local.tee $115 - i32.const 4496 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 282 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - call $~lib/util/number/dtoa - local.tee $116 - i32.const 4520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 283 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - call $~lib/util/number/dtoa - local.tee $117 - i32.const 4584 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 284 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - call $~lib/util/number/dtoa - local.tee $118 - i32.const 4544 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 285 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.220446049250313e-16 - call $~lib/util/number/dtoa - local.tee $119 - i32.const 5672 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 286 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.220446049250313e-16 - call $~lib/util/number/dtoa - local.tee $120 - i32.const 5736 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 287 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - call $~lib/util/number/dtoa - local.tee $121 - i32.const 5800 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 288 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - call $~lib/util/number/dtoa - local.tee $122 - i32.const 5864 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 289 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4185580496821356722454785e274 - call $~lib/util/number/dtoa - local.tee $123 - i32.const 5928 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 290 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - call $~lib/util/number/dtoa - local.tee $124 - i32.const 5992 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 291 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.940656e-318 - call $~lib/util/number/dtoa - local.tee $125 - i32.const 6056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 294 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9060801153433600 - call $~lib/util/number/dtoa - local.tee $126 - i32.const 6104 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 295 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4708356024711512064 - call $~lib/util/number/dtoa - local.tee $127 - i32.const 6160 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 296 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9409340012568248320 - call $~lib/util/number/dtoa - local.tee $128 - i32.const 6224 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 297 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - call $~lib/util/number/dtoa - local.tee $129 - i32.const 6288 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 298 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - call $~lib/util/number/dtoa - local.tee $130 - i32.const 6320 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 304 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.1 - call $~lib/util/number/dtoa - local.tee $131 - i32.const 1472 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 305 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - call $~lib/util/number/dtoa - local.tee $132 - i32.const 6344 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 306 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.1 - call $~lib/util/number/dtoa - local.tee $133 - i32.const 6368 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 307 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e6 - call $~lib/util/number/dtoa - local.tee $134 - i32.const 6392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 309 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-06 - call $~lib/util/number/dtoa - local.tee $135 - i32.const 6432 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 310 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e6 - call $~lib/util/number/dtoa - local.tee $136 - i32.const 6464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 311 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-06 - call $~lib/util/number/dtoa - local.tee $137 - i32.const 6504 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 312 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e7 - call $~lib/util/number/dtoa - local.tee $138 - i32.const 6544 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 313 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-07 - call $~lib/util/number/dtoa - local.tee $139 - i32.const 6584 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 314 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+308 - call $~lib/util/number/dtoa - local.tee $140 - i32.const 6608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 316 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.e+308 - call $~lib/util/number/dtoa - local.tee $141 - i32.const 6640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 317 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - call $~lib/util/number/dtoa - local.tee $142 - i32.const 4584 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 318 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - call $~lib/util/number/dtoa - local.tee $143 - i32.const 4544 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 319 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-308 - call $~lib/util/number/dtoa - local.tee $144 - i32.const 6672 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 320 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-308 - call $~lib/util/number/dtoa - local.tee $145 - i32.const 6704 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 321 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-323 - call $~lib/util/number/dtoa - local.tee $146 - i32.const 6736 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 322 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-323 - call $~lib/util/number/dtoa - local.tee $147 - i32.const 6768 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 323 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - call $~lib/util/number/dtoa - local.tee $148 - i32.const 4496 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 324 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967272 - call $~lib/util/number/dtoa - local.tee $149 - i32.const 6800 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 326 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.2312145673456234e-08 - call $~lib/util/number/dtoa - local.tee $150 - i32.const 6840 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 327 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 555555555.5555556 - call $~lib/util/number/dtoa - local.tee $151 - i32.const 6904 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 329 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999999999999999 - call $~lib/util/number/dtoa - local.tee $152 - i32.const 6960 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 330 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - call $~lib/util/number/dtoa - local.tee $153 - i32.const 6320 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 331 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 12.34 - call $~lib/util/number/dtoa - local.tee $154 - i32.const 7016 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 332 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.3333333333333333 - call $~lib/util/number/dtoa - local.tee $155 - i32.const 7048 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 334 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1234e17 - call $~lib/util/number/dtoa - local.tee $156 - i32.const 7104 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 335 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1234e18 - call $~lib/util/number/dtoa - local.tee $157 - i32.const 7168 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 336 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.71828 - call $~lib/util/number/dtoa - local.tee $158 - i32.const 7208 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 337 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.0271828 - call $~lib/util/number/dtoa - local.tee $159 - i32.const 7240 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 338 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 271.828 - call $~lib/util/number/dtoa - local.tee $160 - i32.const 7280 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 339 + call $~lib/string/String#lastIndexOf + if + i32.const 0 + i32.const 72 + i32.const 68 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1032 + call $~lib/string/parseInt + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 70 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 71 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1080 + call $~lib/string/parseInt + f64.const 5 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 72 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1112 + call $~lib/string/parseInt + f64.const 455 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 73 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1144 + call $~lib/string/parseInt + f64.const 3855 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 74 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1176 + call $~lib/string/parseInt + f64.const 3855 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 75 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1208 + call $~lib/string/parseInt + f64.const 11 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 76 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1232 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 77 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1256 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 79 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1280 + call $~lib/string/parseInt + f64.const 2 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 80 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1312 + call $~lib/rt/pure/__retain + drop + call $~lib/util/string/strtol + i32.const 1312 + call $~lib/rt/pure/__release + i32.const 2147483647 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 82 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1352 + call $~lib/rt/pure/__retain + drop + call $~lib/util/string/strtol + i32.const 1352 + call $~lib/rt/pure/__release + i64.const 9223372036854775807 + i64.ne + if + i32.const 0 + i32.const 72 + i32.const 83 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1032 + call $~lib/string/parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 85 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + call $~lib/string/parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 86 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1464 + call $~lib/string/parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 87 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1488 + call $~lib/string/parseFloat + f64.const 0.25 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 88 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1512 + call $~lib/string/parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 89 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1544 + call $~lib/string/parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 72 + i32.const 91 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 1576 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__retain + local.tee $1 + i32.const 1600 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 95 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 400 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 96 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + i32.const 120 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 98 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + global.get $std/string/nullStr + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 99 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/nullStr + i32.const 120 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 100 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 1576 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 101 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1624 + i32.const 1648 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 103 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1624 + i32.const 1624 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 104 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1672 + i32.const 1696 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 105 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1720 + i32.const 1752 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 106 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1784 + i32.const 1784 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 107 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1784 + i32.const 1816 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 108 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1848 + i32.const 1888 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 109 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1576 + i32.const 400 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1928 + i32.const 400 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 112 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1928 + i32.const 1952 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1928 + i32.const 1600 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1928 + i32.const 1600 + call $~lib/string/String.__lt + if + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1576 + global.get $std/string/nullStr + call $~lib/string/String.__lt + if + i32.const 0 + i32.const 72 + i32.const 117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/nullStr + i32.const 1576 + call $~lib/string/String.__lt + if + i32.const 0 + i32.const 72 + i32.const 118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 672 + call $~lib/string/String.__lt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 121 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 122 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 123 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + call $~lib/string/String.__lt + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 672 + call $~lib/string/String.__gt + if + i32.const 0 + i32.const 72 + i32.const 125 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + call $~lib/string/String.__lt + if + i32.const 0 + i32.const 72 + i32.const 126 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + call $~lib/string/String.__gt + if + i32.const 0 + i32.const 72 + i32.const 127 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 128 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 129 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 65377 + call $~lib/string/String.fromCodePoint + local.set $1 + global.get $~lib/error + br_if $uncaughtError + i32.const 55296 + call $~lib/string/String.fromCodePoint + local.set $3 + global.get $~lib/error + br_if $uncaughtError + i32.const 56322 + call $~lib/string/String.fromCodePoint + local.set $2 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + local.get $2 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $4 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 134 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + i32.const 728 + call $~lib/string/String#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 100 + call $~lib/string/String#repeat + local.set $27 + global.get $~lib/error + br_if $uncaughtError + local.get $27 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1e+128 - call $~lib/util/number/dtoa - local.tee $161 - i32.const 7312 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#repeat + local.set $28 + global.get $~lib/error + br_if $uncaughtError + local.get $28 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 1 + call $~lib/string/String#repeat + local.set $29 + global.get $~lib/error + br_if $uncaughtError + local.get $29 + i32.const 400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 2 + call $~lib/string/String#repeat + local.set $30 + global.get $~lib/error + br_if $uncaughtError + local.get $30 + i32.const 1952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 3 + call $~lib/string/String#repeat + local.set $31 + global.get $~lib/error + br_if $uncaughtError + local.get $31 + i32.const 2064 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 143 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1600 + i32.const 4 + call $~lib/string/String#repeat + local.set $32 + global.get $~lib/error + br_if $uncaughtError + local.get $32 + i32.const 2088 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 144 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 5 + call $~lib/string/String#repeat + local.set $33 + global.get $~lib/error + br_if $uncaughtError + local.get $33 + i32.const 2120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 145 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 6 + call $~lib/string/String#repeat + local.set $34 + global.get $~lib/error + br_if $uncaughtError + local.get $34 + i32.const 2152 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 146 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 7 + call $~lib/string/String#repeat + local.set $35 + global.get $~lib/error + br_if $uncaughtError + local.get $35 + i32.const 2184 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 147 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 120 + call $~lib/string/String#replace + local.set $36 + global.get $~lib/error + br_if $uncaughtError + local.get $36 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 149 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 2216 + call $~lib/string/String#replace + local.set $37 + global.get $~lib/error + br_if $uncaughtError + local.get $37 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 150 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2216 + i32.const 2216 + i32.const 120 + call $~lib/string/String#replace + local.set $38 + global.get $~lib/error + br_if $uncaughtError + local.get $38 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 151 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2216 + i32.const 120 + i32.const 120 + call $~lib/string/String#replace + local.set $39 + global.get $~lib/error + br_if $uncaughtError + local.get $39 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 152 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2240 + i32.const 2216 + call $~lib/string/String#replace + local.set $40 + global.get $~lib/error + br_if $uncaughtError + local.get $40 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 153 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 672 + i32.const 2216 + call $~lib/string/String#replace + local.set $41 + global.get $~lib/error + br_if $uncaughtError + local.get $41 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 154 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2264 + i32.const 2216 + call $~lib/string/String#replace + local.set $42 + global.get $~lib/error + br_if $uncaughtError + local.get $42 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 155 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 1600 + i32.const 1600 + call $~lib/string/String#replace + local.set $43 + global.get $~lib/error + br_if $uncaughtError + local.get $43 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2288 + i32.const 2240 + i32.const 2216 + call $~lib/string/String#replace + local.set $44 + global.get $~lib/error + br_if $uncaughtError + local.get $44 + i32.const 2320 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 157 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + i32.const 2216 + call $~lib/string/String#replace + local.set $45 + global.get $~lib/error + br_if $uncaughtError + local.get $45 + i32.const 2352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 158 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2376 + i32.const 2400 + i32.const 2216 + call $~lib/string/String#replace + local.set $46 + global.get $~lib/error + br_if $uncaughtError + local.get $46 + i32.const 2352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 159 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2424 + i32.const 2448 + call $~lib/string/String#replace + local.set $47 + global.get $~lib/error + br_if $uncaughtError + local.get $47 + i32.const 2472 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 160 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2424 + i32.const 120 + call $~lib/string/String#replace + local.set $48 + global.get $~lib/error + br_if $uncaughtError + local.get $48 + i32.const 1600 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 161 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 672 + call $~lib/string/String#replaceAll + local.set $49 + global.get $~lib/error + br_if $uncaughtError + local.get $49 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 163 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2240 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $50 + global.get $~lib/error + br_if $uncaughtError + local.get $50 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 164 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 848 + i32.const 672 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $51 + global.get $~lib/error + br_if $uncaughtError + local.get $51 + i32.const 2448 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 166 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2496 + i32.const 672 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $52 + global.get $~lib/error + br_if $uncaughtError + local.get $52 + i32.const 2536 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 167 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 848 + i32.const 1600 + i32.const 1600 + call $~lib/string/String#replaceAll + local.set $53 + global.get $~lib/error + br_if $uncaughtError + local.get $53 + i32.const 848 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 168 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2560 + i32.const 400 + i32.const 2536 + call $~lib/string/String#replaceAll + local.set $54 + global.get $~lib/error + br_if $uncaughtError + local.get $54 + i32.const 2592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 169 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 848 + i32.const 1600 + i32.const 2448 + call $~lib/string/String#replaceAll + local.set $55 + global.get $~lib/error + br_if $uncaughtError + local.get $55 + i32.const 2640 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 170 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2672 + i32.const 2696 + i32.const 2448 + call $~lib/string/String#replaceAll + local.set $56 + global.get $~lib/error + br_if $uncaughtError + local.get $56 + i32.const 2720 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 171 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2264 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $57 + global.get $~lib/error + br_if $uncaughtError + local.get $57 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 172 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2264 + i32.const 2744 + i32.const 2448 + call $~lib/string/String#replaceAll + local.set $58 + global.get $~lib/error + br_if $uncaughtError + local.get $58 + i32.const 2264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 173 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2768 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $59 + global.get $~lib/error + br_if $uncaughtError + local.get $59 + i32.const 2792 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 174 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1600 + i32.const 1600 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $60 + global.get $~lib/error + br_if $uncaughtError + local.get $60 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 175 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2288 + i32.const 2240 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $61 + global.get $~lib/error + br_if $uncaughtError + local.get $61 + i32.const 2816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 176 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 120 + call $~lib/string/String#replaceAll + local.set $62 + global.get $~lib/error + br_if $uncaughtError + local.get $62 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 178 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $63 + global.get $~lib/error + br_if $uncaughtError + local.get $63 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 179 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2216 + i32.const 2216 + i32.const 120 + call $~lib/string/String#replaceAll + local.set $64 + global.get $~lib/error + br_if $uncaughtError + local.get $64 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 180 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2216 + i32.const 120 + i32.const 120 + call $~lib/string/String#replaceAll + local.set $65 + global.get $~lib/error + br_if $uncaughtError + local.get $65 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 181 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 672 + i32.const 2240 + call $~lib/string/String#replaceAll + local.set $66 + global.get $~lib/error + br_if $uncaughtError + local.get $66 + i32.const 2240 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 182 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2848 + i32.const 2240 + call $~lib/string/String#replaceAll + local.set $67 + global.get $~lib/error + br_if $uncaughtError + local.get $67 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 183 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $68 + global.get $~lib/error + br_if $uncaughtError + local.get $68 + i32.const 2872 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 184 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + i32.const 120 + call $~lib/string/String#replaceAll + local.set $69 + global.get $~lib/error + br_if $uncaughtError + local.get $69 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 185 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + local.tee $0 + i32.const 2904 + i32.ne + if + i32.const 2904 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + end + i32.const 2904 + global.set $std/string/str + global.get $std/string/str i32.const 0 - i32.const 72 - i32.const 340 + i32.const 2147483647 + call $~lib/string/String#slice + local.set $70 + global.get $~lib/error + br_if $uncaughtError + local.get $70 + i32.const 2904 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const -1 + i32.const 2147483647 + call $~lib/string/String#slice + local.set $71 + global.get $~lib/error + br_if $uncaughtError + local.get $71 + i32.const 2952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 190 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const -5 + i32.const 2147483647 + call $~lib/string/String#slice + local.set $72 + global.get $~lib/error + br_if $uncaughtError + local.get $72 + i32.const 2976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 191 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 2 + i32.const 7 + call $~lib/string/String#slice + local.set $73 + global.get $~lib/error + br_if $uncaughtError + local.get $73 + i32.const 3008 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 192 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const -11 + i32.const -6 + call $~lib/string/String#slice + local.set $74 + global.get $~lib/error + br_if $uncaughtError + local.get $74 + i32.const 3040 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 4 + i32.const 3 + call $~lib/string/String#slice + local.set $75 + global.get $~lib/error + br_if $uncaughtError + local.get $75 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1e-64 - call $~lib/util/number/dtoa - local.tee $162 - i32.const 7344 - call $~lib/string/String.__eq - i32.eqz - if + i32.const -1 + call $~lib/string/String#slice + local.set $76 + global.get $~lib/error + br_if $uncaughtError + local.get $76 + i32.const 3072 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 i32.const 0 - i32.const 72 - i32.const 341 + call $~lib/string/String#split + local.set $0 + global.get $~lib/error + br_if $uncaughtError i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.000035689 - call $~lib/util/number/dtoa - local.tee $163 - i32.const 7376 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/rt/pure/__release + local.get $0 + i32.load offset=12 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 120 + call $~lib/string/String.__eq + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + else + i32.const 0 + local.set $2 + end + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 201 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + call $~lib/string/String#split + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + i32.load offset=12 + if + i32.const 0 + i32.const 72 + i32.const 203 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 912 + call $~lib/string/String#split + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.tee $1 + i32.load offset=12 + i32.const 1 + i32.eq + if + local.get $1 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 120 + call $~lib/string/String.__eq + local.set $2 + local.get $0 + call $~lib/rt/pure/__release + else + i32.const 0 + local.set $2 + end + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 205 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3232 + i32.const 3264 + call $~lib/string/String#split + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.tee $1 + i32.load offset=12 + i32.const 1 + i32.eq + if + local.get $1 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 3232 + call $~lib/string/String.__eq + local.set $2 + local.get $0 + call $~lib/rt/pure/__release + else + i32.const 0 + local.set $2 + end + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 207 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3232 + i32.const 912 + call $~lib/string/String#split + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + i32.load offset=12 + i32.const 3 + i32.eq + if + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 400 + call $~lib/string/String.__eq + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + else + i32.const 0 + local.set $2 + end + local.get $2 + if + local.get $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 1576 + call $~lib/string/String.__eq + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + else + i32.const 0 + local.set $2 + end + local.get $2 + if + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 2424 + call $~lib/string/String.__eq + local.set $2 + local.get $1 + call $~lib/rt/pure/__release + else + i32.const 0 + local.set $2 + end + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 209 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release i32.const 0 - i32.const 72 - i32.const 342 + call $~lib/util/number/itoa32 + local.set $77 + global.get $~lib/error + br_if $uncaughtError + local.get $77 + i32.const 1032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 235 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $~lib/util/number/itoa32 + local.set $78 + global.get $~lib/error + br_if $uncaughtError + local.get $78 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 236 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 8 + call $~lib/util/number/itoa32 + local.set $79 + global.get $~lib/error + br_if $uncaughtError + local.get $79 + i32.const 3288 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 237 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 123 + call $~lib/util/number/itoa32 + local.set $80 + global.get $~lib/error + br_if $uncaughtError + local.get $80 + i32.const 728 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 238 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1000 + call $~lib/util/number/itoa32 + local.set $81 + global.get $~lib/error + br_if $uncaughtError + local.get $81 + i32.const 3312 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 239 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1234 + call $~lib/util/number/itoa32 + local.set $82 + global.get $~lib/error + br_if $uncaughtError + local.get $82 + i32.const 3344 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 240 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 12345 + call $~lib/util/number/itoa32 + local.set $83 + global.get $~lib/error + br_if $uncaughtError + local.get $83 + i32.const 3368 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 241 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 123456 + call $~lib/util/number/itoa32 + local.set $84 + global.get $~lib/error + br_if $uncaughtError + local.get $84 + i32.const 3400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 242 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1111111 + call $~lib/util/number/itoa32 + local.set $85 + global.get $~lib/error + br_if $uncaughtError + local.get $85 + i32.const 3432 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 243 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1234567 + call $~lib/util/number/itoa32 + local.set $86 + global.get $~lib/error + br_if $uncaughtError + local.get $86 + i32.const 3464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 244 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483646 + call $~lib/util/number/itoa32 + local.set $87 + global.get $~lib/error + br_if $uncaughtError + local.get $87 + i32.const 3496 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 245 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483647 + call $~lib/util/number/itoa32 + local.set $88 + global.get $~lib/error + br_if $uncaughtError + local.get $88 + i32.const 3536 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -2147483648 + call $~lib/util/number/itoa32 + local.set $89 + global.get $~lib/error + br_if $uncaughtError + local.get $89 + i32.const 3576 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + call $~lib/util/number/itoa32 + local.set $90 + global.get $~lib/error + br_if $uncaughtError + local.get $90 + i32.const 3616 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 248 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $~lib/builtins/abort - unreachable + call $~lib/util/number/utoa32 + local.set $91 + global.get $~lib/error + br_if $uncaughtError + local.get $91 + i32.const 1032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 250 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1000 + call $~lib/util/number/utoa32 + local.set $92 + global.get $~lib/error + br_if $uncaughtError + local.get $92 + i32.const 3640 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 251 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483647 + call $~lib/util/number/utoa32 + local.set $93 + global.get $~lib/error + br_if $uncaughtError + local.get $93 + i32.const 3536 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 252 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -2147483648 + call $~lib/util/number/utoa32 + local.set $94 + global.get $~lib/error + br_if $uncaughtError + local.get $94 + i32.const 3664 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 253 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + call $~lib/util/number/utoa32 + local.set $95 + global.get $~lib/error + br_if $uncaughtError + local.get $95 + i32.const 3704 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 254 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + call $~lib/util/number/utoa64 + local.set $96 + global.get $~lib/error + br_if $uncaughtError + local.get $96 + i32.const 1032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 256 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1234 + call $~lib/util/number/utoa64 + local.set $97 + global.get $~lib/error + br_if $uncaughtError + local.get $97 + i32.const 3344 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 257 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 99999999 + call $~lib/util/number/utoa64 + local.set $98 + global.get $~lib/error + br_if $uncaughtError + local.get $98 + i32.const 3744 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 258 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 100000000 + call $~lib/util/number/utoa64 + local.set $99 + global.get $~lib/error + br_if $uncaughtError + local.get $99 + i32.const 3776 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 259 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967295 + call $~lib/util/number/utoa64 + local.set $100 + global.get $~lib/error + br_if $uncaughtError + local.get $100 + i32.const 3704 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 260 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 68719476735 + call $~lib/util/number/utoa64 + local.set $101 + global.get $~lib/error + br_if $uncaughtError + local.get $101 + i32.const 3816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 261 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 868719476735 + call $~lib/util/number/utoa64 + local.set $102 + global.get $~lib/error + br_if $uncaughtError + local.get $102 + i32.const 3856 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 262 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 999868719476735 + call $~lib/util/number/utoa64 + local.set $103 + global.get $~lib/error + br_if $uncaughtError + local.get $103 + i32.const 3896 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 263 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 9999868719476735 + call $~lib/util/number/utoa64 + local.set $104 + global.get $~lib/error + br_if $uncaughtError + local.get $104 + i32.const 3944 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 264 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 19999868719476735 + call $~lib/util/number/utoa64 + local.set $105 + global.get $~lib/error + br_if $uncaughtError + local.get $105 + i32.const 3992 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 265 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + call $~lib/util/number/utoa64 + local.set $106 + global.get $~lib/error + br_if $uncaughtError + local.get $106 + i32.const 4048 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 266 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + call $~lib/util/number/itoa64 + local.set $107 + global.get $~lib/error + br_if $uncaughtError + local.get $107 + i32.const 1032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 268 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1234 + call $~lib/util/number/itoa64 + local.set $108 + global.get $~lib/error + br_if $uncaughtError + local.get $108 + i32.const 4104 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 269 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967295 + call $~lib/util/number/itoa64 + local.set $109 + global.get $~lib/error + br_if $uncaughtError + local.get $109 + i32.const 3704 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 270 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -4294967295 + call $~lib/util/number/itoa64 + local.set $110 + global.get $~lib/error + br_if $uncaughtError + local.get $110 + i32.const 4136 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 271 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 68719476735 + call $~lib/util/number/itoa64 + local.set $111 + global.get $~lib/error + br_if $uncaughtError + local.get $111 + i32.const 3816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 272 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -68719476735 + call $~lib/util/number/itoa64 + local.set $112 + global.get $~lib/error + br_if $uncaughtError + local.get $112 + i32.const 4176 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 273 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -868719476735 + call $~lib/util/number/itoa64 + local.set $113 + global.get $~lib/error + br_if $uncaughtError + local.get $113 + i32.const 4216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 274 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -999868719476735 + call $~lib/util/number/itoa64 + local.set $114 + global.get $~lib/error + br_if $uncaughtError + local.get $114 + i32.const 4264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 275 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -19999868719476735 + call $~lib/util/number/itoa64 + local.set $115 + global.get $~lib/error + br_if $uncaughtError + local.get $115 + i32.const 4312 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 276 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 9223372036854775807 + call $~lib/util/number/itoa64 + local.set $116 + global.get $~lib/error + br_if $uncaughtError + local.get $116 + i32.const 4368 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 277 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -9223372036854775808 + call $~lib/util/number/itoa64 + local.set $117 + global.get $~lib/error + br_if $uncaughtError + local.get $117 + i32.const 4424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 278 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/util/number/dtoa + local.set $118 + global.get $~lib/error + br_if $uncaughtError + local.get $118 + i32.const 4480 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 281 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + call $~lib/util/number/dtoa + local.set $119 + global.get $~lib/error + br_if $uncaughtError + local.get $119 + i32.const 4480 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 282 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + call $~lib/util/number/dtoa + local.set $120 + global.get $~lib/error + br_if $uncaughtError + local.get $120 + i32.const 4504 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 283 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + call $~lib/util/number/dtoa + local.set $121 + global.get $~lib/error + br_if $uncaughtError + local.get $121 + i32.const 4568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 284 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + call $~lib/util/number/dtoa + local.set $122 + global.get $~lib/error + br_if $uncaughtError + local.get $122 + i32.const 4528 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 285 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.220446049250313e-16 + call $~lib/util/number/dtoa + local.set $123 + global.get $~lib/error + br_if $uncaughtError + local.get $123 + i32.const 5656 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 286 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.220446049250313e-16 + call $~lib/util/number/dtoa + local.set $124 + global.get $~lib/error + br_if $uncaughtError + local.get $124 + i32.const 5720 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + call $~lib/util/number/dtoa + local.set $125 + global.get $~lib/error + br_if $uncaughtError + local.get $125 + i32.const 5784 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 288 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + call $~lib/util/number/dtoa + local.set $126 + global.get $~lib/error + br_if $uncaughtError + local.get $126 + i32.const 5848 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 289 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4185580496821356722454785e274 + call $~lib/util/number/dtoa + local.set $127 + global.get $~lib/error + br_if $uncaughtError + local.get $127 + i32.const 5912 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 290 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + call $~lib/util/number/dtoa + local.set $128 + global.get $~lib/error + br_if $uncaughtError + local.get $128 + i32.const 5976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 291 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.940656e-318 + call $~lib/util/number/dtoa + local.set $129 + global.get $~lib/error + br_if $uncaughtError + local.get $129 + i32.const 6040 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 294 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9060801153433600 + call $~lib/util/number/dtoa + local.set $130 + global.get $~lib/error + br_if $uncaughtError + local.get $130 + i32.const 6088 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 295 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4708356024711512064 + call $~lib/util/number/dtoa + local.set $131 + global.get $~lib/error + br_if $uncaughtError + local.get $131 + i32.const 6144 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 296 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9409340012568248320 + call $~lib/util/number/dtoa + local.set $132 + global.get $~lib/error + br_if $uncaughtError + local.get $132 + i32.const 6208 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 297 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + call $~lib/util/number/dtoa + local.set $133 + global.get $~lib/error + br_if $uncaughtError + local.get $133 + i32.const 6272 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 298 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + call $~lib/util/number/dtoa + local.set $134 + global.get $~lib/error + br_if $uncaughtError + local.get $134 + i32.const 6304 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 304 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.1 + call $~lib/util/number/dtoa + local.set $135 + global.get $~lib/error + br_if $uncaughtError + local.get $135 + i32.const 1464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 305 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + call $~lib/util/number/dtoa + local.set $136 + global.get $~lib/error + br_if $uncaughtError + local.get $136 + i32.const 6328 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 306 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.1 + call $~lib/util/number/dtoa + local.set $137 + global.get $~lib/error + br_if $uncaughtError + local.get $137 + i32.const 6352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 307 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e6 + call $~lib/util/number/dtoa + local.set $138 + global.get $~lib/error + br_if $uncaughtError + local.get $138 + i32.const 6376 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 309 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-06 + call $~lib/util/number/dtoa + local.set $139 + global.get $~lib/error + br_if $uncaughtError + local.get $139 + i32.const 6416 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 310 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e6 + call $~lib/util/number/dtoa + local.set $140 + global.get $~lib/error + br_if $uncaughtError + local.get $140 + i32.const 6448 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 311 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-06 + call $~lib/util/number/dtoa + local.set $141 + global.get $~lib/error + br_if $uncaughtError + local.get $141 + i32.const 6488 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 312 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e7 + call $~lib/util/number/dtoa + local.set $142 + global.get $~lib/error + br_if $uncaughtError + local.get $142 + i32.const 6528 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 313 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-07 + call $~lib/util/number/dtoa + local.set $143 + global.get $~lib/error + br_if $uncaughtError + local.get $143 + i32.const 6568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 314 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+308 + call $~lib/util/number/dtoa + local.set $144 + global.get $~lib/error + br_if $uncaughtError + local.get $144 + i32.const 6592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 316 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.e+308 + call $~lib/util/number/dtoa + local.set $145 + global.get $~lib/error + br_if $uncaughtError + local.get $145 + i32.const 6624 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 317 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + call $~lib/util/number/dtoa + local.set $146 + global.get $~lib/error + br_if $uncaughtError + local.get $146 + i32.const 4568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 318 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + call $~lib/util/number/dtoa + local.set $147 + global.get $~lib/error + br_if $uncaughtError + local.get $147 + i32.const 4528 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 319 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-308 + call $~lib/util/number/dtoa + local.set $148 + global.get $~lib/error + br_if $uncaughtError + local.get $148 + i32.const 6656 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 320 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-308 + call $~lib/util/number/dtoa + local.set $149 + global.get $~lib/error + br_if $uncaughtError + local.get $149 + i32.const 6688 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 321 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-323 + call $~lib/util/number/dtoa + local.set $150 + global.get $~lib/error + br_if $uncaughtError + local.get $150 + i32.const 6720 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 322 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-323 + call $~lib/util/number/dtoa + local.set $151 + global.get $~lib/error + br_if $uncaughtError + local.get $151 + i32.const 6752 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 323 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/util/number/dtoa + local.set $152 + global.get $~lib/error + br_if $uncaughtError + local.get $152 + i32.const 4480 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 324 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967272 + call $~lib/util/number/dtoa + local.set $153 + global.get $~lib/error + br_if $uncaughtError + local.get $153 + i32.const 6784 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 326 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.2312145673456234e-08 + call $~lib/util/number/dtoa + local.set $154 + global.get $~lib/error + br_if $uncaughtError + local.get $154 + i32.const 6824 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 327 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 555555555.5555556 + call $~lib/util/number/dtoa + local.set $155 + global.get $~lib/error + br_if $uncaughtError + local.get $155 + i32.const 6888 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 329 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999999999999999 + call $~lib/util/number/dtoa + local.set $156 + global.get $~lib/error + br_if $uncaughtError + local.get $156 + i32.const 6944 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 330 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + call $~lib/util/number/dtoa + local.set $157 + global.get $~lib/error + br_if $uncaughtError + local.get $157 + i32.const 6304 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 331 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 12.34 + call $~lib/util/number/dtoa + local.set $158 + global.get $~lib/error + br_if $uncaughtError + local.get $158 + i32.const 7000 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 332 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.3333333333333333 + call $~lib/util/number/dtoa + local.set $159 + global.get $~lib/error + br_if $uncaughtError + local.get $159 + i32.const 7032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 334 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1234e17 + call $~lib/util/number/dtoa + local.set $160 + global.get $~lib/error + br_if $uncaughtError + local.get $160 + i32.const 7088 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 335 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1234e18 + call $~lib/util/number/dtoa + local.set $161 + global.get $~lib/error + br_if $uncaughtError + local.get $161 + i32.const 7152 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 336 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.71828 + call $~lib/util/number/dtoa + local.set $162 + global.get $~lib/error + br_if $uncaughtError + local.get $162 + i32.const 7192 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 337 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.0271828 + call $~lib/util/number/dtoa + local.set $4 + global.get $~lib/error + br_if $uncaughtError + local.get $4 + i32.const 7224 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 338 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 271.828 + call $~lib/util/number/dtoa + local.set $3 + global.get $~lib/error + br_if $uncaughtError + local.get $3 + i32.const 7264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 339 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1e+128 + call $~lib/util/number/dtoa + local.set $2 + global.get $~lib/error + br_if $uncaughtError + local.get $2 + i32.const 7296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 340 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1e-64 + call $~lib/util/number/dtoa + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + i32.const 7328 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 341 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.000035689 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 7360 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 342 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + call $~lib/rt/pure/__release + global.get $~lib/error + br_if $uncaughtError + local.get $5 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + local.get $16 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $18 + call $~lib/rt/pure/__release + local.get $19 + call $~lib/rt/pure/__release + local.get $20 + call $~lib/rt/pure/__release + local.get $21 + call $~lib/rt/pure/__release + local.get $22 + call $~lib/rt/pure/__release + local.get $23 + call $~lib/rt/pure/__release + local.get $24 + call $~lib/rt/pure/__release + local.get $25 + call $~lib/rt/pure/__release + local.get $26 + call $~lib/rt/pure/__release + local.get $30 + call $~lib/rt/pure/__release + local.get $31 + call $~lib/rt/pure/__release + local.get $29 + call $~lib/rt/pure/__release + local.get $28 + call $~lib/rt/pure/__release + local.get $27 + call $~lib/rt/pure/__release + local.get $32 + call $~lib/rt/pure/__release + local.get $33 + call $~lib/rt/pure/__release + local.get $34 + call $~lib/rt/pure/__release + local.get $35 + call $~lib/rt/pure/__release + local.get $36 + call $~lib/rt/pure/__release + local.get $37 + call $~lib/rt/pure/__release + local.get $38 + call $~lib/rt/pure/__release + local.get $39 + call $~lib/rt/pure/__release + local.get $40 + call $~lib/rt/pure/__release + local.get $41 + call $~lib/rt/pure/__release + local.get $42 + call $~lib/rt/pure/__release + local.get $43 + call $~lib/rt/pure/__release + local.get $44 + call $~lib/rt/pure/__release + local.get $45 + call $~lib/rt/pure/__release + local.get $46 + call $~lib/rt/pure/__release + local.get $47 + call $~lib/rt/pure/__release + local.get $48 + call $~lib/rt/pure/__release + local.get $49 + call $~lib/rt/pure/__release + local.get $50 + call $~lib/rt/pure/__release + local.get $51 + call $~lib/rt/pure/__release + local.get $52 + call $~lib/rt/pure/__release + local.get $53 + call $~lib/rt/pure/__release + local.get $54 + call $~lib/rt/pure/__release + local.get $55 + call $~lib/rt/pure/__release + local.get $56 + call $~lib/rt/pure/__release + local.get $57 + call $~lib/rt/pure/__release + local.get $58 + call $~lib/rt/pure/__release + local.get $59 + call $~lib/rt/pure/__release + local.get $60 + call $~lib/rt/pure/__release + local.get $61 + call $~lib/rt/pure/__release + local.get $62 + call $~lib/rt/pure/__release + local.get $63 + call $~lib/rt/pure/__release + local.get $64 + call $~lib/rt/pure/__release + local.get $65 + call $~lib/rt/pure/__release + local.get $66 + call $~lib/rt/pure/__release + local.get $67 + call $~lib/rt/pure/__release + local.get $68 + call $~lib/rt/pure/__release + local.get $69 + call $~lib/rt/pure/__release + local.get $70 + call $~lib/rt/pure/__release + local.get $71 + call $~lib/rt/pure/__release + local.get $72 + call $~lib/rt/pure/__release + local.get $73 + call $~lib/rt/pure/__release + local.get $74 + call $~lib/rt/pure/__release + local.get $75 + call $~lib/rt/pure/__release + local.get $76 + call $~lib/rt/pure/__release + local.get $77 + call $~lib/rt/pure/__release + local.get $78 + call $~lib/rt/pure/__release + local.get $79 + call $~lib/rt/pure/__release + local.get $80 + call $~lib/rt/pure/__release + local.get $81 + call $~lib/rt/pure/__release + local.get $82 + call $~lib/rt/pure/__release + local.get $83 + call $~lib/rt/pure/__release + local.get $84 + call $~lib/rt/pure/__release + local.get $85 + call $~lib/rt/pure/__release + local.get $86 + call $~lib/rt/pure/__release + local.get $87 + call $~lib/rt/pure/__release + local.get $88 + call $~lib/rt/pure/__release + local.get $89 + call $~lib/rt/pure/__release + local.get $90 + call $~lib/rt/pure/__release + local.get $91 + call $~lib/rt/pure/__release + local.get $92 + call $~lib/rt/pure/__release + local.get $93 + call $~lib/rt/pure/__release + local.get $94 + call $~lib/rt/pure/__release + local.get $95 + call $~lib/rt/pure/__release + local.get $96 + call $~lib/rt/pure/__release + local.get $97 + call $~lib/rt/pure/__release + local.get $98 + call $~lib/rt/pure/__release + local.get $99 + call $~lib/rt/pure/__release + local.get $100 + call $~lib/rt/pure/__release + local.get $101 + call $~lib/rt/pure/__release + local.get $102 + call $~lib/rt/pure/__release + local.get $103 + call $~lib/rt/pure/__release + local.get $104 + call $~lib/rt/pure/__release + local.get $105 + call $~lib/rt/pure/__release + local.get $106 + call $~lib/rt/pure/__release + local.get $107 + call $~lib/rt/pure/__release + local.get $108 + call $~lib/rt/pure/__release + local.get $109 + call $~lib/rt/pure/__release + local.get $110 + call $~lib/rt/pure/__release + local.get $111 + call $~lib/rt/pure/__release + local.get $112 + call $~lib/rt/pure/__release + local.get $113 + call $~lib/rt/pure/__release + local.get $114 + call $~lib/rt/pure/__release + local.get $115 + call $~lib/rt/pure/__release + local.get $116 + call $~lib/rt/pure/__release + local.get $117 + call $~lib/rt/pure/__release + local.get $118 + call $~lib/rt/pure/__release + local.get $119 + call $~lib/rt/pure/__release + local.get $120 + call $~lib/rt/pure/__release + local.get $121 + call $~lib/rt/pure/__release + local.get $122 + call $~lib/rt/pure/__release + local.get $123 + call $~lib/rt/pure/__release + local.get $124 + call $~lib/rt/pure/__release + local.get $125 + call $~lib/rt/pure/__release + local.get $126 + call $~lib/rt/pure/__release + local.get $127 + call $~lib/rt/pure/__release + local.get $128 + call $~lib/rt/pure/__release + local.get $129 + call $~lib/rt/pure/__release + local.get $130 + call $~lib/rt/pure/__release + local.get $131 + call $~lib/rt/pure/__release + local.get $132 + call $~lib/rt/pure/__release + local.get $133 + call $~lib/rt/pure/__release + local.get $134 + call $~lib/rt/pure/__release + local.get $135 + call $~lib/rt/pure/__release + local.get $136 + call $~lib/rt/pure/__release + local.get $137 + call $~lib/rt/pure/__release + local.get $138 + call $~lib/rt/pure/__release + local.get $139 + call $~lib/rt/pure/__release + local.get $140 + call $~lib/rt/pure/__release + local.get $141 + call $~lib/rt/pure/__release + local.get $142 + call $~lib/rt/pure/__release + local.get $143 + call $~lib/rt/pure/__release + local.get $144 + call $~lib/rt/pure/__release + local.get $145 + call $~lib/rt/pure/__release + local.get $146 + call $~lib/rt/pure/__release + local.get $147 + call $~lib/rt/pure/__release + local.get $148 + call $~lib/rt/pure/__release + local.get $149 + call $~lib/rt/pure/__release + local.get $150 + call $~lib/rt/pure/__release + local.get $151 + call $~lib/rt/pure/__release + local.get $152 + call $~lib/rt/pure/__release + local.get $153 + call $~lib/rt/pure/__release + local.get $154 + call $~lib/rt/pure/__release + local.get $155 + call $~lib/rt/pure/__release + local.get $156 + call $~lib/rt/pure/__release + local.get $157 + call $~lib/rt/pure/__release + local.get $158 + call $~lib/rt/pure/__release + local.get $159 + call $~lib/rt/pure/__release + local.get $160 + call $~lib/rt/pure/__release + local.get $161 + call $~lib/rt/pure/__release + local.get $162 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + return end - global.get $std/string/str - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release - local.get $16 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $18 - call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release - local.get $20 - call $~lib/rt/pure/__release - local.get $21 - call $~lib/rt/pure/__release - local.get $22 - call $~lib/rt/pure/__release - local.get $23 - call $~lib/rt/pure/__release - local.get $24 - call $~lib/rt/pure/__release - local.get $25 - call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release - local.get $29 - call $~lib/rt/pure/__release - local.get $30 - call $~lib/rt/pure/__release - local.get $28 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $31 - call $~lib/rt/pure/__release - local.get $32 - call $~lib/rt/pure/__release - local.get $33 - call $~lib/rt/pure/__release - local.get $34 - call $~lib/rt/pure/__release - local.get $35 - call $~lib/rt/pure/__release - local.get $36 - call $~lib/rt/pure/__release - local.get $37 - call $~lib/rt/pure/__release - local.get $38 - call $~lib/rt/pure/__release - local.get $39 - call $~lib/rt/pure/__release - local.get $40 - call $~lib/rt/pure/__release - local.get $41 - call $~lib/rt/pure/__release - local.get $42 - call $~lib/rt/pure/__release - local.get $43 - call $~lib/rt/pure/__release - local.get $44 - call $~lib/rt/pure/__release - local.get $45 - call $~lib/rt/pure/__release - local.get $46 - call $~lib/rt/pure/__release - local.get $47 - call $~lib/rt/pure/__release - local.get $48 - call $~lib/rt/pure/__release - local.get $49 - call $~lib/rt/pure/__release - local.get $50 - call $~lib/rt/pure/__release - local.get $51 - call $~lib/rt/pure/__release - local.get $52 - call $~lib/rt/pure/__release - local.get $53 - call $~lib/rt/pure/__release - local.get $54 - call $~lib/rt/pure/__release - local.get $55 - call $~lib/rt/pure/__release - local.get $56 - call $~lib/rt/pure/__release - local.get $57 - call $~lib/rt/pure/__release - local.get $58 - call $~lib/rt/pure/__release - local.get $59 - call $~lib/rt/pure/__release - local.get $60 - call $~lib/rt/pure/__release - local.get $61 - call $~lib/rt/pure/__release - local.get $62 - call $~lib/rt/pure/__release - local.get $63 - call $~lib/rt/pure/__release - local.get $64 - call $~lib/rt/pure/__release - local.get $65 - call $~lib/rt/pure/__release - local.get $66 - call $~lib/rt/pure/__release - local.get $67 - call $~lib/rt/pure/__release - local.get $68 - call $~lib/rt/pure/__release - local.get $69 - call $~lib/rt/pure/__release - local.get $70 - call $~lib/rt/pure/__release - local.get $71 - call $~lib/rt/pure/__release - local.get $72 - call $~lib/rt/pure/__release - local.get $73 - call $~lib/rt/pure/__release - local.get $74 - call $~lib/rt/pure/__release - local.get $75 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $76 - call $~lib/rt/pure/__release - local.get $77 - call $~lib/rt/pure/__release - local.get $78 - call $~lib/rt/pure/__release - local.get $79 - call $~lib/rt/pure/__release - local.get $80 - call $~lib/rt/pure/__release - local.get $81 - call $~lib/rt/pure/__release - local.get $82 - call $~lib/rt/pure/__release - local.get $83 - call $~lib/rt/pure/__release - local.get $84 - call $~lib/rt/pure/__release - local.get $85 - call $~lib/rt/pure/__release - local.get $86 - call $~lib/rt/pure/__release - local.get $87 - call $~lib/rt/pure/__release - local.get $88 - call $~lib/rt/pure/__release - local.get $89 - call $~lib/rt/pure/__release - local.get $90 - call $~lib/rt/pure/__release - local.get $91 - call $~lib/rt/pure/__release - local.get $92 - call $~lib/rt/pure/__release - local.get $93 - call $~lib/rt/pure/__release - local.get $94 - call $~lib/rt/pure/__release - local.get $95 - call $~lib/rt/pure/__release - local.get $96 - call $~lib/rt/pure/__release - local.get $97 - call $~lib/rt/pure/__release - local.get $98 - call $~lib/rt/pure/__release - local.get $99 - call $~lib/rt/pure/__release - local.get $100 - call $~lib/rt/pure/__release - local.get $101 - call $~lib/rt/pure/__release - local.get $102 - call $~lib/rt/pure/__release - local.get $103 - call $~lib/rt/pure/__release - local.get $104 - call $~lib/rt/pure/__release - local.get $105 - call $~lib/rt/pure/__release - local.get $106 - call $~lib/rt/pure/__release - local.get $107 - call $~lib/rt/pure/__release - local.get $108 - call $~lib/rt/pure/__release - local.get $109 - call $~lib/rt/pure/__release - local.get $110 - call $~lib/rt/pure/__release - local.get $111 - call $~lib/rt/pure/__release - local.get $112 - call $~lib/rt/pure/__release - local.get $113 - call $~lib/rt/pure/__release - local.get $114 - call $~lib/rt/pure/__release - local.get $115 - call $~lib/rt/pure/__release - local.get $116 - call $~lib/rt/pure/__release - local.get $117 - call $~lib/rt/pure/__release - local.get $118 - call $~lib/rt/pure/__release - local.get $119 - call $~lib/rt/pure/__release - local.get $120 - call $~lib/rt/pure/__release - local.get $121 - call $~lib/rt/pure/__release - local.get $122 - call $~lib/rt/pure/__release - local.get $123 - call $~lib/rt/pure/__release - local.get $124 - call $~lib/rt/pure/__release - local.get $125 - call $~lib/rt/pure/__release - local.get $126 - call $~lib/rt/pure/__release - local.get $127 - call $~lib/rt/pure/__release - local.get $128 - call $~lib/rt/pure/__release - local.get $129 - call $~lib/rt/pure/__release - local.get $130 - call $~lib/rt/pure/__release - local.get $131 - call $~lib/rt/pure/__release - local.get $132 - call $~lib/rt/pure/__release - local.get $133 - call $~lib/rt/pure/__release - local.get $134 - call $~lib/rt/pure/__release - local.get $135 - call $~lib/rt/pure/__release - local.get $136 - call $~lib/rt/pure/__release - local.get $137 - call $~lib/rt/pure/__release - local.get $138 - call $~lib/rt/pure/__release - local.get $139 - call $~lib/rt/pure/__release - local.get $140 - call $~lib/rt/pure/__release - local.get $141 - call $~lib/rt/pure/__release - local.get $142 - call $~lib/rt/pure/__release - local.get $143 - call $~lib/rt/pure/__release - local.get $144 - call $~lib/rt/pure/__release - local.get $145 - call $~lib/rt/pure/__release - local.get $146 - call $~lib/rt/pure/__release - local.get $147 - call $~lib/rt/pure/__release - local.get $148 - call $~lib/rt/pure/__release - local.get $149 - call $~lib/rt/pure/__release - local.get $150 - call $~lib/rt/pure/__release - local.get $151 - call $~lib/rt/pure/__release - local.get $152 - call $~lib/rt/pure/__release - local.get $153 - call $~lib/rt/pure/__release - local.get $154 - call $~lib/rt/pure/__release - local.get $155 - call $~lib/rt/pure/__release - local.get $156 - call $~lib/rt/pure/__release - local.get $157 - call $~lib/rt/pure/__release - local.get $158 - call $~lib/rt/pure/__release - local.get $159 - call $~lib/rt/pure/__release - local.get $160 - call $~lib/rt/pure/__release - local.get $161 - call $~lib/rt/pure/__release - local.get $162 - call $~lib/rt/pure/__release - local.get $163 - call $~lib/rt/pure/__release + i32.const 7400 + i32.const 72 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $std/string/getString (; 79 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 81 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str call $~lib/rt/pure/__retain ) - (func $start (; 80 ;) (type $FUNCSIG$v) + (func $start (; 82 ;) (type $FUNCSIG$v) global.get $~lib/started if return @@ -10454,7 +11280,7 @@ end call $start:std/string ) - (func $~lib/rt/pure/markGray (; 81 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 83 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -10478,7 +11304,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 82 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 84 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -10491,7 +11317,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 83 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 85 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -10525,7 +11351,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 84 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 86 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -10558,9 +11384,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 85 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 87 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 7468 + i32.const 7516 i32.lt_u if return @@ -10593,6 +11419,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -10668,7 +11498,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 86 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 88 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -10692,6 +11522,10 @@ local.get $3 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -10701,16 +11535,44 @@ end end ) - (func $~lib/rt/__visit_members (; 87 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 89 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$5 - block $switch$1$case$2 + block $switch$1$case$7 + block $switch$1$case$5 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $switch$1$case$5 $switch$1$case$5 $switch$1$case$7 $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $switch$1$case$5 $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -10730,7 +11592,7 @@ call $~lib/rt/pure/__visit end ) - (func $null (; 88 ;) (type $FUNCSIG$v) + (func $null (; 90 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index e73b2efda5..fabb236fb3 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -29,190 +29,192 @@ (data (i32.const 104) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") (data (i32.const 120) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") (data (i32.const 168) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 216) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 272) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 312) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 368) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\00\00") - (data (i32.const 392) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a\00") - (data (i32.const 416) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\006\00") - (data (i32.const 440) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 488) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\004\d8\06\df") - (data (i32.const 512) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00h\00i\00") - (data (i32.const 536) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00") - (data (i32.const 560) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 592) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00I\00\'\00m\00") - (data (i32.const 616) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00 \00") - (data (i32.const 640) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00 \00 \00 \00") - (data (i32.const 664) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00b\00c\00") - (data (i32.const 688) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00 \00 \00a\00b\00c\00") - (data (i32.const 720) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\002\003\00") - (data (i32.const 744) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\00a\00b\00c\00") - (data (i32.const 776) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\002\003\001\002\00a\00b\00c\00") - (data (i32.const 808) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00b\00c\00 \00 \00") - (data (i32.const 840) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00b\00c\00a\00b\00c\00") - (data (i32.const 872) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00") - (data (i32.const 904) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00,\00") - (data (i32.const 928) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00x\00") - (data (i32.const 952) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00,\00 \00I\00") - (data (i32.const 976) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00g\00") - (data (i32.const 1000) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00i\00") - (data (i32.const 1024) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 1048) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\001\00") - (data (i32.const 1072) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00b\001\000\001\00") - (data (i32.const 1104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00o\007\000\007\00") - (data (i32.const 1136) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00x\00f\000\00f\00") - (data (i32.const 1168) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00x\00F\000\00F\00") - (data (i32.const 1200) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\001\001\00") - (data (i32.const 1224) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\000\00x\001\00g\00") - (data (i32.const 1248) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00 \00\t\00\n\001\00") - (data (i32.const 1272) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002\00") - (data (i32.const 1304) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00") - (data (i32.const 1344) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00") - (data (i32.const 1400) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 1456) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\001\00") - (data (i32.const 1480) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\002\005\00") - (data (i32.const 1504) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00.\001\00f\00o\00o\00b\00a\00r\00") - (data (i32.const 1536) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00 \00\t\00\n\00.\001\00") - (data (i32.const 1568) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b\00") - (data (i32.const 1592) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b\00") - (data (i32.const 1616) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001\00") - (data (i32.const 1640) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002\00") - (data (i32.const 1664) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\001\00") - (data (i32.const 1688) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\002\00") - (data (i32.const 1712) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002\00") - (data (i32.const 1744) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001\00") - (data (i32.const 1776) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 1808) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 1840) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 1880) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 1920) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a\00") - (data (i32.const 1944) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00a\00") - (data (i32.const 1968) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 2016) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00a\00a\00") - (data (i32.const 2040) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00") - (data (i32.const 2072) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a\00") - (data (i32.const 2104) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 2136) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 2168) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00+\00") - (data (i32.const 2192) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-\00") - (data (i32.const 2216) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00a\00b\00c\00d\00") - (data (i32.const 2240) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00-\00b\00-\00c\00") - (data (i32.const 2272) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00-\00c\00") - (data (i32.const 2304) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00a\00b\00c\00") - (data (i32.const 2328) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\n\00a\00b\00c\00") - (data (i32.const 2352) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\n\00") - (data (i32.const 2376) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00c\00") - (data (i32.const 2400) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00+\00+\00") - (data (i32.const 2424) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00a\00b\00+\00+\00") - (data (i32.const 2448) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c\00") - (data (i32.const 2488) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\00+\00") - (data (i32.const 2512) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a\00") - (data (i32.const 2544) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+\00") - (data (i32.const 2592) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c\00") - (data (i32.const 2624) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00c\00c\00c\00c\00") - (data (i32.const 2648) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00c\00c\00") - (data (i32.const 2672) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00+\00+\00+\00") - (data (i32.const 2696) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00e\00") - (data (i32.const 2720) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00c\00") - (data (i32.const 2744) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00+\00") - (data (i32.const 2768) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00+\00c\00") - (data (i32.const 2800) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00b\00d\00") - (data (i32.const 2824) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+\00") - (data (i32.const 2856) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") - (data (i32.const 2904) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00n\00") - (data (i32.const 2928) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n\00") - (data (i32.const 2960) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g\00") - (data (i32.const 2992) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h\00") - (data (i32.const 3024) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00") - (data (i32.const 3072) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 3120) "^\00\00\00\01\00\00\00\01\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") - (data (i32.const 3232) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c\00") - (data (i32.const 3264) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00.\00") - (data (i32.const 3288) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\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 3704) "\10\00\00\00\01\00\00\00\05\00\00\00\10\00\00\00\e8\0c\00\00\e8\0c\00\00\90\01\00\00d\00\00\00") - (data (i32.const 3736) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\008\00") - (data (i32.const 3760) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000\00") - (data (i32.const 3792) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\002\003\004\00") - (data (i32.const 3816) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005\00") - (data (i32.const 3848) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006\00") - (data (i32.const 3880) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001\00") - (data (i32.const 3912) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007\00") - (data (i32.const 3944) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006\00") - (data (i32.const 3984) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007\00") - (data (i32.const 4024) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 4064) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001\00") - (data (i32.const 4088) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\000\000\000\00") - (data (i32.const 4112) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 4152) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 4192) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009\00") - (data (i32.const 4224) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000\00") - (data (i32.const 4264) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 4304) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 4344) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 4392) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 4440) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 4496) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00") - (data (i32.const 4552) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004\00") - (data (i32.const 4584) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 4624) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 4664) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 4712) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 4760) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 4816) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00") - (data (i32.const 4872) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00") - (data (i32.const 4928) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 4952) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 4976) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 5016) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 5048) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\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_\0dXf\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\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_\0dXf\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 (; 43 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/util/string/strtol (; 44 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local $3 f64) (local $4 i32) @@ -4400,7 +4507,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/string/parseInt (; 44 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/string/parseInt (; 45 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) (local $2 f64) local.get $0 call $~lib/rt/pure/__retain @@ -4413,7 +4520,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/util/string/strtol (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/string/strtol (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4736,7 +4843,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/number/I32.parseInt (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/number/I32.parseInt (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -4749,7 +4856,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/util/string/strtol (; 47 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/util/string/strtol (; 48 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local $3 i64) (local $4 i32) @@ -5075,7 +5182,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/number/I64.parseInt (; 48 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/number/I64.parseInt (; 49 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) (local $2 i64) local.get $0 call $~lib/rt/pure/__retain @@ -5088,7 +5195,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/util/string/strtod (; 49 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/util/string/strtod (; 50 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 f64) (local $3 i32) @@ -5243,7 +5350,7 @@ i32.eqz if i32.const 0 - i32.const 1416 + i32.const 1408 i32.const 173 i32.const 10 call $~lib/builtins/abort @@ -5314,7 +5421,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/parseFloat (; 50 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseFloat (; 51 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 f64) local.get $0 call $~lib/rt/pure/__retain @@ -5326,7 +5433,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/string/String#concat (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5340,7 +5447,7 @@ i32.const 0 i32.eq if - i32.const 552 + i32.const 544 local.tee $2 local.get $1 local.tee $3 @@ -5384,6 +5491,13 @@ local.get $6 i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 call $~lib/rt/pure/__retain local.set $7 local.get $7 @@ -5402,7 +5516,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -5411,7 +5525,7 @@ call $~lib/rt/pure/__retain drop local.get $0 - i32.const 552 + i32.const 544 local.get $0 i32.const 0 i32.ne @@ -5419,13 +5533,20 @@ local.get $1 call $~lib/string/String#concat local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $2 local.get $0 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__ne (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -5444,7 +5565,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__gt (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5534,7 +5655,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__lt (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5624,7 +5745,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__gte (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gte (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -5643,7 +5764,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__lte (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lte (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -5662,9 +5783,49 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String#repeat (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/error/RangeError#constructor (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 1976 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__release + end + local.get $3 + i32.store + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/string/String#repeat (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $0 call $~lib/string/String#get:length local.set $2 @@ -5683,12 +5844,12 @@ i64.gt_u end if - i32.const 1984 - i32.const 456 - i32.const 324 - i32.const 6 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 2016 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 i32.const 0 @@ -5720,17 +5881,24 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 + local.set $4 + local.get $4 local.get $0 local.get $2 i32.const 1 i32.shl local.get $1 call $~lib/memory/memory.repeat - local.get $3 + local.get $4 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#replace (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#replace (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5808,6 +5976,13 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $7 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $7 + local.set $7 local.get $7 local.get $0 local.get $8 @@ -5864,7 +6039,7 @@ call $~lib/rt/pure/__release local.get $5 ) - (func $~lib/rt/tlsf/reallocateBlock (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5874,10 +6049,17 @@ local.get $2 call $~lib/rt/tlsf/prepareSize local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $4 local.get $1 i32.load - local.set $4 - local.get $4 + local.set $5 + local.get $5 i32.const 1 i32.and i32.eqz @@ -5890,15 +6072,15 @@ call $~lib/builtins/abort unreachable end - local.get $3 local.get $4 + local.get $5 i32.const -4 i32.and i32.le_u if local.get $0 local.get $1 - local.get $3 + local.get $4 call $~lib/rt/tlsf/prepareBlock local.get $1 local.get $2 @@ -5907,11 +6089,11 @@ return end local.get $1 - local.set $5 - local.get $5 + local.set $3 + local.get $3 i32.const 16 i32.add - local.get $5 + local.get $3 i32.load i32.const 3 i32.const -1 @@ -5926,7 +6108,7 @@ i32.const 1 i32.and if - local.get $4 + local.get $5 i32.const 3 i32.const -1 i32.xor @@ -5939,19 +6121,19 @@ i32.xor i32.and i32.add - local.set $5 - local.get $5 + local.set $3 local.get $3 + local.get $4 i32.ge_u if local.get $0 local.get $6 call $~lib/rt/tlsf/removeBlock local.get $1 - local.get $4 + local.get $5 i32.const 3 i32.and - local.get $5 + local.get $3 i32.or i32.store local.get $1 @@ -5959,7 +6141,7 @@ i32.store offset=12 local.get $0 local.get $1 - local.get $3 + local.get $4 call $~lib/rt/tlsf/prepareBlock local.get $1 return @@ -5968,6 +6150,13 @@ local.get $0 local.get $2 call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.set $8 local.get $8 local.get $1 @@ -5986,7 +6175,7 @@ local.get $2 call $~lib/memory/memory.copy local.get $1 - local.get $4 + local.get $5 i32.const 1 i32.or i32.store @@ -5995,7 +6184,8 @@ call $~lib/rt/tlsf/insertBlock local.get $8 ) - (func $~lib/rt/tlsf/__realloc (; 61 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 63 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/rt/tlsf/ROOT i32.eqz if @@ -6032,10 +6222,17 @@ i32.sub local.get $1 call $~lib/rt/tlsf/reallocateBlock + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 i32.const 16 i32.add ) - (func $~lib/string/String#replaceAll (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#replaceAll (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6121,6 +6318,13 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 + local.set $6 local.get $6 local.get $2 local.get $8 @@ -6203,6 +6407,13 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 + local.set $6 local.get $6 local.get $0 local.get $5 @@ -6271,6 +6482,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $6 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $6 local.set $12 end local.get $13 @@ -6286,6 +6504,13 @@ i32.const 1 i32.shl call $~lib/rt/tlsf/__realloc + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.set $12 local.get $6 local.set $14 @@ -6349,6 +6574,13 @@ i32.const 1 i32.shl call $~lib/rt/tlsf/__realloc + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.set $12 local.get $6 local.set $14 @@ -6387,6 +6619,13 @@ i32.const 1 i32.shl call $~lib/rt/tlsf/__realloc + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.set $12 end local.get $12 @@ -6408,7 +6647,7 @@ call $~lib/rt/pure/__release local.get $6 ) - (func $~lib/string/String#slice (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 65 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6483,6 +6722,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.set $6 local.get $6 local.get $0 @@ -6497,45 +6743,60 @@ local.get $6 call $~lib/rt/pure/__retain ) - (func $~lib/rt/__allocArray (; 64 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocArray (; 66 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) i32.const 16 local.get $2 call $~lib/rt/tlsf/__alloc local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + local.set $5 local.get $0 local.get $1 i32.shl - local.set $5 - local.get $5 + local.set $6 + local.get $6 i32.const 0 call $~lib/rt/tlsf/__alloc - local.set $6 + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end local.get $4 - local.get $6 + local.set $7 + local.get $5 + local.get $7 call $~lib/rt/pure/__retain i32.store - local.get $4 - local.get $6 + local.get $5 + local.get $7 i32.store offset=4 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 + local.get $5 local.get $0 i32.store offset=12 local.get $3 if - local.get $6 + local.get $7 local.get $3 - local.get $5 + local.get $6 call $~lib/memory/memory.copy end - local.get $4 + local.get $5 ) - (func $~lib/memory/memory.fill (; 65 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 67 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6799,7 +7060,7 @@ end end ) - (func $~lib/array/ensureSize (; 66 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureSize (; 68 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6819,12 +7080,11 @@ i32.shr_u i32.gt_u if - i32.const 1984 - i32.const 3088 - i32.const 14 - i32.const 47 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 2016 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load @@ -6837,6 +7097,12 @@ local.get $5 call $~lib/rt/tlsf/__realloc local.set $6 + global.get $~lib/error + if + return + end + local.get $6 + local.set $6 local.get $6 local.get $3 i32.add @@ -6862,7 +7128,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array<~lib/string/String>#push (; 67 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#push (; 69 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6880,6 +7146,11 @@ local.get $3 i32.const 2 call $~lib/array/ensureSize + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.load offset=4 local.get $2 @@ -6898,7 +7169,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/string/String#split (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#split (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6918,9 +7189,16 @@ if i32.const 0 i32.const 2 - i32.const 3 + i32.const 5 i32.const 0 call $~lib/rt/__allocArray + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $3 local.get $1 @@ -6934,9 +7212,16 @@ if i32.const 1 i32.const 2 - i32.const 3 + i32.const 5 i32.const 0 call $~lib/rt/__allocArray + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.set $3 local.get $3 i32.load offset=4 @@ -6955,10 +7240,10 @@ end local.get $0 call $~lib/string/String#get:length - local.set $5 + local.set $6 local.get $1 call $~lib/string/String#get:length - local.set $6 + local.set $7 local.get $2 i32.const 0 i32.lt_s @@ -6966,17 +7251,24 @@ global.get $~lib/builtins/i32.MAX_VALUE local.set $2 end - local.get $6 + local.get $7 i32.eqz if - local.get $5 + local.get $6 i32.eqz if i32.const 0 i32.const 2 - i32.const 3 + i32.const 5 i32.const 0 call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 call $~lib/rt/pure/__retain local.set $4 local.get $1 @@ -6984,7 +7276,7 @@ local.get $4 return end - local.get $5 + local.get $6 local.tee $4 local.get $2 local.tee $3 @@ -6992,22 +7284,29 @@ local.get $3 i32.lt_s select - local.set $5 - local.get $5 + local.set $6 + local.get $6 i32.const 2 - i32.const 3 + i32.const 5 i32.const 0 call $~lib/rt/__allocArray local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + local.set $4 local.get $4 i32.load offset=4 local.set $3 block $break|0 i32.const 0 - local.set $7 + local.set $5 loop $loop|0 - local.get $7 local.get $5 + local.get $6 i32.lt_s i32.eqz br_if $break|0 @@ -7015,16 +7314,23 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $8 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $8 + local.set $8 local.get $8 local.get $0 - local.get $7 + local.get $5 i32.const 1 i32.shl i32.add i32.load16_u i32.store16 local.get $3 - local.get $7 + local.get $5 i32.const 2 i32.shl i32.add @@ -7033,10 +7339,10 @@ local.get $8 call $~lib/rt/pure/__retain drop - local.get $7 + local.get $5 i32.const 1 i32.add - local.set $7 + local.set $5 br $loop|0 end unreachable @@ -7049,15 +7355,22 @@ local.get $8 return else - local.get $5 + local.get $6 i32.eqz if i32.const 1 i32.const 2 - i32.const 3 + i32.const 5 i32.const 0 call $~lib/rt/__allocArray local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $3 i32.load offset=4 i32.const 120 @@ -7073,9 +7386,16 @@ end i32.const 0 i32.const 2 - i32.const 3 + i32.const 5 i32.const 0 call $~lib/rt/__allocArray + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 call $~lib/rt/pure/__retain local.set $9 i32.const 0 @@ -7109,6 +7429,13 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + local.set $4 local.get $4 local.get $0 local.get $11 @@ -7122,11 +7449,25 @@ local.get $9 local.get $4 call $~lib/array/Array<~lib/string/String>#push + local.set $8 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $8 drop else local.get $9 i32.const 120 call $~lib/array/Array<~lib/string/String>#push + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 drop end local.get $12 @@ -7144,7 +7485,7 @@ return end local.get $10 - local.get $6 + local.get $7 i32.add local.set $11 br $continue|1 @@ -7157,6 +7498,13 @@ local.get $9 local.get $0 call $~lib/array/Array<~lib/string/String>#push + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 drop local.get $9 local.set $3 @@ -7165,7 +7513,7 @@ local.get $3 return end - local.get $5 + local.get $6 local.get $11 i32.sub local.set $13 @@ -7179,6 +7527,13 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $3 local.get $3 local.get $0 local.get $11 @@ -7192,24 +7547,38 @@ local.get $9 local.get $3 call $~lib/array/Array<~lib/string/String>#push + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 drop else local.get $9 i32.const 120 call $~lib/array/Array<~lib/string/String>#push - drop - end + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + drop + end local.get $9 local.set $3 local.get $1 call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array<~lib/string/String>#get:length (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:length (; 71 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 72 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -7219,18 +7588,18 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String>#__get (; 71 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 73 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 3136 - i32.const 3088 - i32.const 106 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 3120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $0 @@ -7239,18 +7608,18 @@ i32.shr_u i32.ge_u if - i32.const 232 - i32.const 3088 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 320 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#__unchecked_get ) - (func $~lib/util/number/decimalCount32 (; 72 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 74 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -7316,7 +7685,7 @@ end unreachable ) - (func $~lib/util/number/utoa32_lut (; 73 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 75 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7324,7 +7693,7 @@ (local $7 i32) (local $8 i64) (local $9 i64) - i32.const 3720 + i32.const 3704 i32.load offset=4 local.set $3 block $break|0 @@ -7458,7 +7827,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 74 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 76 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7468,7 +7837,7 @@ local.get $0 i32.eqz if - i32.const 1040 + i32.const 1032 call $~lib/rt/pure/__retain return end @@ -7494,26 +7863,33 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end local.get $3 + local.set $4 + local.get $4 local.set $6 local.get $0 local.set $5 local.get $2 - local.set $4 + local.set $3 local.get $6 local.get $5 - local.get $4 + local.get $3 call $~lib/util/number/utoa32_lut local.get $1 if - local.get $3 + local.get $4 i32.const 45 i32.store16 end - local.get $3 + local.get $4 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/utoa32 (; 75 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 77 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7522,7 +7898,7 @@ local.get $0 i32.eqz if - i32.const 1040 + i32.const 1032 call $~lib/rt/pure/__retain return end @@ -7535,20 +7911,27 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 + local.set $3 + local.get $3 local.set $5 local.get $0 local.set $4 local.get $1 - local.set $3 + local.set $2 local.get $5 local.get $4 - local.get $3 - call $~lib/util/number/utoa32_lut local.get $2 + call $~lib/util/number/utoa32_lut + local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/decimalCount64 (; 76 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 78 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -7614,7 +7997,7 @@ end unreachable ) - (func $~lib/util/number/utoa64_lut (; 77 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 79 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -7626,7 +8009,7 @@ (local $11 i32) (local $12 i64) (local $13 i64) - i32.const 3720 + i32.const 3704 i32.load offset=4 local.set $3 block $break|0 @@ -7741,7 +8124,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 78 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 80 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7752,7 +8135,7 @@ local.get $0 i64.eqz if - i32.const 1040 + i32.const 1032 call $~lib/rt/pure/__retain return end @@ -7771,6 +8154,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.set $1 local.get $1 local.set $6 @@ -7791,6 +8181,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $1 local.get $1 local.set $5 @@ -7806,7 +8203,7 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa64 (; 79 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 81 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7818,7 +8215,7 @@ local.get $0 i64.eqz if - i32.const 1040 + i32.const 1032 call $~lib/rt/pure/__retain return end @@ -7850,6 +8247,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $5 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $5 local.set $2 local.get $2 local.set $7 @@ -7872,6 +8276,13 @@ i32.shl i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 local.set $2 local.get $2 local.set $6 @@ -7893,19 +8304,19 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/number/isFinite (; 80 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isFinite (; 82 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub f64.const 0 f64.eq ) - (func $~lib/number/isNaN (; 81 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 83 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/array/Array#__unchecked_get (; 82 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array#__unchecked_get (; 84 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $0 i32.load offset=4 local.get $1 @@ -7914,7 +8325,7 @@ i32.add i64.load ) - (func $~lib/array/Array#__unchecked_get (; 83 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 85 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -7923,7 +8334,7 @@ i32.add i32.load16_s ) - (func $~lib/util/number/genDigits (; 84 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 86 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -7978,7 +8389,7 @@ local.set $14 local.get $6 local.set $15 - i32.const 6088 + i32.const 6072 i32.load offset=4 local.set $16 block $break|0 @@ -8425,7 +8836,7 @@ end unreachable ) - (func $~lib/util/number/prettify (; 85 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8744,7 +9155,7 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (; 86 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 88 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8909,11 +9320,11 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 5776 + i32.const 5760 local.get $14 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_frc_pow - i32.const 6000 + i32.const 5984 local.get $14 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_exp_pow @@ -9166,7 +9577,7 @@ local.get $2 i32.add ) - (func $~lib/string/String#substring (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 89 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9263,6 +9674,13 @@ local.get $3 i32.const 1 call $~lib/rt/tlsf/__alloc + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.set $10 local.get $10 local.get $0 @@ -9273,15 +9691,16 @@ local.get $10 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/dtoa (; 88 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 90 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $0 f64.const 0 f64.eq if - i32.const 4944 + i32.const 4928 call $~lib/rt/pure/__retain return end @@ -9292,12 +9711,12 @@ local.get $0 call $~lib/number/isNaN if - i32.const 4968 + i32.const 4952 call $~lib/rt/pure/__retain return end - i32.const 4992 - i32.const 5032 + i32.const 4976 + i32.const 5016 local.get $0 f64.const 0 f64.lt @@ -9311,28 +9730,42 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 - local.get $0 - call $~lib/util/number/dtoa_core local.set $2 local.get $2 + local.get $0 + call $~lib/util/number/dtoa_core + local.set $3 + local.get $3 i32.const 28 i32.eq if - local.get $1 + local.get $2 call $~lib/rt/pure/__retain return end - local.get $1 - i32.const 0 local.get $2 + i32.const 0 + local.get $3 call $~lib/string/String#substring - local.set $3 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 + local.set $4 + local.get $2 call $~lib/rt/tlsf/__free - local.get $3 + local.get $4 ) - (func $start:std/string (; 89 ;) (type $FUNCSIG$v) + (func $start:std/string (; 91 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9496,4102 +9929,5189 @@ (local $160 i32) (local $161 i32) (local $162 i32) - global.get $std/string/str - i32.const 24 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 8 + block $uncaughtError + global.get $std/string/str + i32.const 24 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 8 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + call $~lib/string/String#get:length + i32.const 16 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - call $~lib/string/String#get:length - i32.const 16 - i32.eq - i32.eqz - if + call $~lib/string/String#charCodeAt + i32.const 104 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + call $~lib/string/String.__not + i32.eqz i32.const 0 - i32.const 72 - i32.const 10 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 13 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 376 + call $~lib/string/String.__not + i32.eqz + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 14 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + call $~lib/string/String.__not + i32.eqz + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 15 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 0 - call $~lib/string/String#charCodeAt - i32.const 104 - i32.eq - i32.eqz - if i32.const 0 - i32.const 72 - i32.const 11 + call $~lib/string/String.fromCharCode|trampoline + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.tee $0 + i32.const 376 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 17 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc + i32.const 54 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - call $~lib/string/String.__not - i32.eqz - i32.const 0 - i32.eq - i32.eqz - if + call $~lib/string/String.fromCharCode|trampoline + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + local.tee $1 + i32.const 424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 18 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~lib/argc + i32.const 65536 + i32.const 54 + i32.add i32.const 0 - i32.const 72 - i32.const 13 + call $~lib/string/String.fromCharCode|trampoline + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + local.tee $2 + i32.const 424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 19 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 384 - call $~lib/string/String.__not - i32.eqz - i32.const 1 - i32.eq - i32.eqz - if + call $~lib/string/String.fromCodePoint + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + local.tee $3 + i32.const 376 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 21 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 54 + call $~lib/string/String.fromCodePoint + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + local.tee $4 + i32.const 424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 22 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 119558 + call $~lib/string/String.fromCodePoint + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + local.tee $5 + i32.eqz + if + i32.const 496 + i32.const 72 + i32.const 23 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 520 i32.const 0 - i32.const 72 - i32.const 14 + call $~lib/string/String#startsWith + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 25 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 568 + global.get $~lib/string/String.MAX_LENGTH + call $~lib/string/String#endsWith + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 26 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 600 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - call $~lib/string/String.__not - i32.eqz - i32.const 1 - i32.eq - i32.eqz - if + call $~lib/string/String#includes + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 27 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str i32.const 0 - i32.const 72 + i32.const 624 + call $~lib/string/String#padStart + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + local.tee $6 + global.get $std/string/str + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 29 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str i32.const 15 + i32.const 624 + call $~lib/string/String#padStart + local.set $7 + global.get $~lib/error + if + br $uncaughtError + end + local.get $7 + local.tee $7 + global.get $std/string/str + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 30 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 3 + i32.const 624 + call $~lib/string/String#padStart + local.set $8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + local.tee $8 + i32.const 648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 31 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 10 + i32.const 120 + call $~lib/string/String#padStart + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 + local.tee $9 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 32 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 100 + i32.const 120 + call $~lib/string/String#padStart + local.set $10 + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + local.tee $10 + i32.const 400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 33 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 5 + i32.const 624 + call $~lib/string/String#padStart + local.set $11 + global.get $~lib/error + if + br $uncaughtError + end + local.get $11 + local.tee $11 + i32.const 696 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 34 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 6 + i32.const 728 + call $~lib/string/String#padStart + local.set $12 + global.get $~lib/error + if + br $uncaughtError + end + local.get $12 + local.tee $12 + i32.const 752 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 35 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 8 + i32.const 728 + call $~lib/string/String#padStart + local.set $13 + global.get $~lib/error + if + br $uncaughtError + end + local.get $13 + local.tee $13 + i32.const 784 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 36 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~lib/argc - i32.const 0 - i32.const 0 - call $~lib/string/String.fromCharCode|trampoline - local.tee $0 - i32.const 384 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 17 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~lib/argc - i32.const 54 - i32.const 0 - call $~lib/string/String.fromCharCode|trampoline - local.tee $1 - i32.const 432 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 18 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~lib/argc - i32.const 65536 - i32.const 54 - i32.add - i32.const 0 - call $~lib/string/String.fromCharCode|trampoline - local.tee $2 - i32.const 432 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 19 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/string/String.fromCodePoint - local.tee $3 - i32.const 384 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 21 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 54 - call $~lib/string/String.fromCodePoint - local.tee $4 - i32.const 432 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 22 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 119558 - call $~lib/string/String.fromCodePoint - local.tee $5 - i32.eqz - if - i32.const 504 - i32.const 72 - i32.const 23 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 528 - i32.const 0 - call $~lib/string/String#startsWith - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 25 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 576 - global.get $~lib/string/String.MAX_LENGTH - call $~lib/string/String#endsWith - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 26 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 608 - i32.const 0 - call $~lib/string/String#includes - i32.eqz - if + i32.const 624 + call $~lib/string/String#padEnd + local.set $14 + global.get $~lib/error + if + br $uncaughtError + end + local.get $14 + local.tee $14 + global.get $std/string/str + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 38 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 15 + i32.const 624 + call $~lib/string/String#padEnd + local.set $15 + global.get $~lib/error + if + br $uncaughtError + end + local.get $15 + local.tee $15 + global.get $std/string/str + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 39 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 3 + i32.const 624 + call $~lib/string/String#padEnd + local.set $16 + global.get $~lib/error + if + br $uncaughtError + end + local.get $16 + local.tee $16 + i32.const 648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 40 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 10 + i32.const 120 + call $~lib/string/String#padEnd + local.set $17 + global.get $~lib/error + if + br $uncaughtError + end + local.get $17 + local.tee $17 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 41 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 100 + i32.const 120 + call $~lib/string/String#padEnd + local.set $18 + global.get $~lib/error + if + br $uncaughtError + end + local.get $18 + local.tee $18 + i32.const 400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 42 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 5 + i32.const 624 + call $~lib/string/String#padEnd + local.set $19 + global.get $~lib/error + if + br $uncaughtError + end + local.get $19 + local.tee $19 + i32.const 816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 43 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 6 + i32.const 672 + call $~lib/string/String#padEnd + local.set $20 + global.get $~lib/error + if + br $uncaughtError + end + local.get $20 + local.tee $20 + i32.const 848 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 44 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 8 + i32.const 672 + call $~lib/string/String#padEnd + local.set $21 + global.get $~lib/error + if + br $uncaughtError + end + local.get $21 + local.tee $21 + i32.const 880 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 45 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 i32.const 0 - i32.const 72 - i32.const 27 + call $~lib/string/String#indexOf i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 0 - i32.const 632 - call $~lib/string/String#padStart - local.tee $6 - global.get $std/string/str - call $~lib/string/String.__eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 47 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 520 i32.const 0 - i32.const 72 - i32.const 29 + call $~lib/string/String#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 48 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 400 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 15 - i32.const 632 - call $~lib/string/String#padStart - local.tee $7 - global.get $std/string/str - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#indexOf i32.const 0 - i32.const 72 - i32.const 30 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 49 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + global.get $std/string/str i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 3 - i32.const 632 - call $~lib/string/String#padStart - local.tee $8 - i32.const 656 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#indexOf i32.const 0 - i32.const 72 - i32.const 31 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 50 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 120 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 10 - i32.const 120 - call $~lib/string/String#padStart - local.tee $9 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#indexOf i32.const 0 - i32.const 72 - i32.const 32 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 51 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 100 - i32.const 120 - call $~lib/string/String#padStart - local.tee $10 - i32.const 408 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#indexOf + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 52 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 936 i32.const 0 - i32.const 72 - i32.const 33 + call $~lib/string/String#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 53 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 + i32.const 2 + call $~lib/string/String#indexOf + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 54 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 + i32.const 3 + call $~lib/string/String#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 55 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 960 + i32.const -1 + call $~lib/string/String#indexOf + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 56 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 5 - i32.const 632 - call $~lib/string/String#padStart - local.tee $11 - i32.const 704 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 34 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 6 - i32.const 736 - call $~lib/string/String#padStart - local.tee $12 - i32.const 760 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 35 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 58 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 520 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 59 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 120 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf + global.get $std/string/str + call $~lib/string/String#get:length + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 60 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 61 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 936 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 62 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 984 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf + i32.const 15 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 63 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 + i32.const 2 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 64 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 912 + i32.const 3 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 65 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 960 + i32.const -1 + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 66 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 1008 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 8 - i32.const 736 - call $~lib/string/String#padStart - local.tee $13 - i32.const 792 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 67 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 520 i32.const 0 - i32.const 72 - i32.const 36 + call $~lib/string/String#lastIndexOf i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 0 - i32.const 632 - call $~lib/string/String#padEnd - local.tee $14 - global.get $std/string/str - call $~lib/string/String.__eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 68 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1032 i32.const 0 - i32.const 72 - i32.const 38 + call $~lib/string/parseInt + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 70 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 15 - i32.const 632 - call $~lib/string/String#padEnd - local.tee $15 - global.get $std/string/str - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/parseInt + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 71 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1080 i32.const 0 - i32.const 72 - i32.const 39 + call $~lib/string/parseInt + f64.const 5 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 72 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1112 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 3 - i32.const 632 - call $~lib/string/String#padEnd - local.tee $16 - i32.const 656 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/parseInt + f64.const 455 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 73 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1144 i32.const 0 - i32.const 72 - i32.const 40 + call $~lib/string/parseInt + f64.const 3855 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 74 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1176 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 10 - i32.const 120 - call $~lib/string/String#padEnd - local.tee $17 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/parseInt + f64.const 3855 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 75 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1208 i32.const 0 - i32.const 72 - i32.const 41 + call $~lib/string/parseInt + f64.const 11 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 76 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1232 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 100 - i32.const 120 - call $~lib/string/String#padEnd - local.tee $18 - i32.const 408 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/parseInt + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 77 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1256 i32.const 0 - i32.const 72 - i32.const 42 + call $~lib/string/parseInt + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 79 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1280 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 5 - i32.const 632 - call $~lib/string/String#padEnd - local.tee $19 - i32.const 824 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/parseInt + f64.const 2 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 80 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1312 i32.const 0 - i32.const 72 - i32.const 43 + call $~lib/number/I32.parseInt + global.get $~lib/number/I32.MAX_VALUE + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 82 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1352 i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 6 - i32.const 680 - call $~lib/string/String#padEnd - local.tee $20 - i32.const 856 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 44 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 8 - i32.const 680 - call $~lib/string/String#padEnd - local.tee $21 - i32.const 888 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 45 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 47 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 528 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 48 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 408 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 49 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - global.get $std/string/str - i32.const 0 - call $~lib/string/String#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 50 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 120 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 51 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 52 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 944 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 53 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 2 - call $~lib/string/String#indexOf - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 54 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 3 - call $~lib/string/String#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 55 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 968 - i32.const -1 - call $~lib/string/String#indexOf - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 56 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 58 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 528 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 59 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 120 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - global.get $std/string/str - call $~lib/string/String#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 60 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 61 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 944 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 62 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 992 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - i32.const 15 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 63 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 2 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 64 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 920 - i32.const 3 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 65 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 968 - i32.const -1 - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 66 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 1016 - i32.const 0 - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 67 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 528 - i32.const 0 - call $~lib/string/String#lastIndexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 68 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1040 - i32.const 0 - call $~lib/string/parseInt - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 70 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1064 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 71 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1088 - i32.const 0 - call $~lib/string/parseInt - f64.const 5 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 72 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1120 - i32.const 0 - call $~lib/string/parseInt - f64.const 455 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 73 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1152 - i32.const 0 - call $~lib/string/parseInt - f64.const 3855 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 74 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1184 - i32.const 0 - call $~lib/string/parseInt - f64.const 3855 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 75 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1216 - i32.const 0 - call $~lib/string/parseInt - f64.const 11 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 76 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1240 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 77 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1264 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 79 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1288 - i32.const 0 - call $~lib/string/parseInt - f64.const 2 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 80 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1320 - i32.const 0 - call $~lib/number/I32.parseInt - global.get $~lib/number/I32.MAX_VALUE - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 82 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1360 - i32.const 0 - call $~lib/number/I64.parseInt - global.get $~lib/number/I64.MAX_VALUE - i64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 83 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1040 - call $~lib/string/parseFloat - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 85 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1064 - call $~lib/string/parseFloat - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 86 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1472 - call $~lib/string/parseFloat - f64.const 0.1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 87 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1496 - call $~lib/string/parseFloat - f64.const 0.25 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 88 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1520 - call $~lib/string/parseFloat - f64.const 0.1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 89 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1552 - call $~lib/string/parseFloat - f64.const 0.1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 91 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 1584 - call $~lib/string/String.__concat - local.tee $22 - call $~lib/rt/pure/__retain - local.set $23 - local.get $23 - i32.const 1608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 95 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $23 - i32.const 408 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 96 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $22 - call $~lib/rt/pure/__release - local.get $23 - call $~lib/rt/pure/__release - i32.const 120 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 98 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - global.get $std/string/nullStr - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 99 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/nullStr - i32.const 120 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 100 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 1584 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 101 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 102 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1632 - i32.const 1656 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 103 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1632 - i32.const 1632 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 104 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1680 - i32.const 1704 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 105 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1728 - i32.const 1760 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 106 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1792 - i32.const 1792 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 107 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1792 - i32.const 1824 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 108 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1856 - i32.const 1896 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 109 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1584 - i32.const 408 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 111 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1936 - i32.const 408 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 112 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1936 - i32.const 1960 - call $~lib/string/String.__gte - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1936 - i32.const 1608 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 114 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1936 - i32.const 1608 - call $~lib/string/String.__lt - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 115 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1584 - global.get $std/string/nullStr - call $~lib/string/String.__lt - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 117 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/nullStr - i32.const 1584 - call $~lib/string/String.__lt - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 118 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 120 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 680 - call $~lib/string/String.__lt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 121 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - call $~lib/string/String.__gte - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 122 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 680 - call $~lib/string/String.__lte - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 123 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - call $~lib/string/String.__lt - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 124 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 680 - call $~lib/string/String.__gt - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 125 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - call $~lib/string/String.__lt - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 126 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - call $~lib/string/String.__gt - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 127 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - call $~lib/string/String.__gte - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 128 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - call $~lib/string/String.__lte - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 129 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 65377 - call $~lib/string/String.fromCodePoint - local.set $23 - i32.const 55296 - call $~lib/string/String.fromCodePoint - local.tee $22 - i32.const 56322 - call $~lib/string/String.fromCodePoint - local.tee $24 - call $~lib/string/String.__concat - local.tee $25 - call $~lib/rt/pure/__retain - local.set $26 - local.get $23 - local.get $26 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 134 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $23 - call $~lib/rt/pure/__release - local.get $22 - call $~lib/rt/pure/__release - local.get $24 - call $~lib/rt/pure/__release - local.get $25 - call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release - i32.const 736 - call $~lib/string/String#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 100 - call $~lib/string/String#repeat - local.tee $26 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 139 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 0 - call $~lib/string/String#repeat - local.tee $25 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 140 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 1 - call $~lib/string/String#repeat - local.tee $24 - i32.const 408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 141 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 2 - call $~lib/string/String#repeat - local.tee $22 - i32.const 1960 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 142 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 3 - call $~lib/string/String#repeat - local.tee $23 - i32.const 2032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 143 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1608 - i32.const 4 - call $~lib/string/String#repeat - local.tee $27 - i32.const 2056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 144 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 5 - call $~lib/string/String#repeat - local.tee $28 - i32.const 2088 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 145 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 6 - call $~lib/string/String#repeat - local.tee $29 - i32.const 2120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 146 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 408 - i32.const 7 - call $~lib/string/String#repeat - local.tee $30 - i32.const 2152 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 147 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 120 - call $~lib/string/String#replace - local.tee $31 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 149 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 2184 - call $~lib/string/String#replace - local.tee $32 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 150 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2184 - i32.const 2184 - i32.const 120 - call $~lib/string/String#replace - local.tee $33 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 151 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2184 - i32.const 120 - i32.const 120 - call $~lib/string/String#replace - local.tee $34 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 152 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2208 - i32.const 2184 - call $~lib/string/String#replace - local.tee $35 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 153 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 680 - i32.const 2184 - call $~lib/string/String#replace - local.tee $36 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 154 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2232 - i32.const 2184 - call $~lib/string/String#replace - local.tee $37 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 155 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 1608 - i32.const 1608 - call $~lib/string/String#replace - local.tee $38 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 156 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2256 - i32.const 2208 - i32.const 2184 - call $~lib/string/String#replace - local.tee $39 - i32.const 2288 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 157 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - i32.const 2184 - call $~lib/string/String#replace - local.tee $40 - i32.const 2320 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 158 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2344 - i32.const 2368 - i32.const 2184 - call $~lib/string/String#replace - local.tee $41 - i32.const 2320 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 159 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2392 - i32.const 2416 - call $~lib/string/String#replace - local.tee $42 - i32.const 2440 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 160 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2392 - i32.const 120 - call $~lib/string/String#replace - local.tee $43 - i32.const 1608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 161 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 680 - call $~lib/string/String#replaceAll - local.tee $44 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 163 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2208 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $45 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 164 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 856 - i32.const 680 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $46 - i32.const 2416 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 166 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2464 - i32.const 680 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $47 - i32.const 2504 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 167 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 856 - i32.const 1608 - i32.const 1608 - call $~lib/string/String#replaceAll - local.tee $48 - i32.const 856 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 168 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2528 - i32.const 408 - i32.const 2504 - call $~lib/string/String#replaceAll - local.tee $49 - i32.const 2560 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 169 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 856 - i32.const 1608 - i32.const 2416 - call $~lib/string/String#replaceAll - local.tee $50 - i32.const 2608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 170 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2640 - i32.const 2664 - i32.const 2416 - call $~lib/string/String#replaceAll - local.tee $51 - i32.const 2688 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 171 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2232 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $52 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 172 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2232 - i32.const 2712 - i32.const 2416 - call $~lib/string/String#replaceAll - local.tee $53 - i32.const 2232 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 173 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2736 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $54 - i32.const 2760 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 174 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1608 - i32.const 1608 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $55 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 175 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2256 - i32.const 2208 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $56 - i32.const 2784 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 176 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 120 - call $~lib/string/String#replaceAll - local.tee $57 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 178 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $58 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 179 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2184 - i32.const 2184 - i32.const 120 - call $~lib/string/String#replaceAll - local.tee $59 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 180 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2184 - i32.const 120 - i32.const 120 - call $~lib/string/String#replaceAll - local.tee $60 - i32.const 2184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 181 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 680 - i32.const 2208 - call $~lib/string/String#replaceAll - local.tee $61 - i32.const 2208 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 182 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 2816 - i32.const 2208 - call $~lib/string/String#replaceAll - local.tee $62 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 183 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - i32.const 2184 - call $~lib/string/String#replaceAll - local.tee $63 - i32.const 2840 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 184 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 680 - i32.const 120 - i32.const 120 - call $~lib/string/String#replaceAll - local.tee $64 - i32.const 680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 185 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2872 - local.tee $65 - global.get $std/string/str - local.tee $66 - i32.ne - if - local.get $65 - call $~lib/rt/pure/__retain - drop - local.get $66 - call $~lib/rt/pure/__release - end - local.get $65 - global.set $std/string/str - global.get $std/string/str - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#slice - local.tee $65 - i32.const 2872 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 189 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#slice - local.tee $66 - i32.const 2920 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 190 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const -5 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#slice - local.tee $67 - i32.const 2944 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 191 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 2 - i32.const 7 - call $~lib/string/String#slice - local.tee $68 - i32.const 2976 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 192 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const -11 - i32.const -6 - call $~lib/string/String#slice - local.tee $69 - i32.const 3008 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 4 - i32.const 3 - call $~lib/string/String#slice - local.tee $70 - i32.const 120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - i32.const 0 - i32.const -1 - call $~lib/string/String#slice - local.tee $71 - i32.const 3040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $72 - i32.const 120 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.set $73 - local.get $72 - call $~lib/rt/pure/__release - local.get $73 - local.set $72 - local.get $72 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $72 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $73 - i32.const 120 - call $~lib/string/String.__eq - local.set $74 - local.get $73 - call $~lib/rt/pure/__release - local.get $74 - else - i32.const 0 - end - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 201 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 120 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.set $74 - local.get $72 - call $~lib/rt/pure/__release - local.get $74 - local.set $72 - local.get $72 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 203 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 120 - i32.const 920 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.set $73 - local.get $72 - call $~lib/rt/pure/__release - local.get $73 - local.set $72 - local.get $72 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $72 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $73 - i32.const 120 - call $~lib/string/String.__eq - local.set $74 - local.get $73 - call $~lib/rt/pure/__release - local.get $74 - else - i32.const 0 - end - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 205 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3248 - i32.const 3280 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.set $74 - local.get $72 - call $~lib/rt/pure/__release - local.get $74 - local.set $72 - local.get $72 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $72 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $74 - i32.const 3248 - call $~lib/string/String.__eq - local.set $73 - local.get $74 - call $~lib/rt/pure/__release - local.get $73 - else - i32.const 0 - end - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 207 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 3248 - i32.const 920 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.set $73 - local.get $72 - call $~lib/rt/pure/__release - local.get $73 - local.set $72 - local.get $72 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $72 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $73 - i32.const 408 - call $~lib/string/String.__eq - local.set $74 - local.get $73 - call $~lib/rt/pure/__release - local.get $74 - else - i32.const 0 - end - i32.const 0 - i32.ne - if (result i32) - local.get $72 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $73 - i32.const 1584 - call $~lib/string/String.__eq - local.set $74 - local.get $73 - call $~lib/rt/pure/__release - local.get $74 - else - i32.const 0 - end - i32.const 0 - i32.ne - if (result i32) - local.get $72 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $73 - i32.const 2392 - call $~lib/string/String.__eq - local.set $74 - local.get $73 - call $~lib/rt/pure/__release - local.get $74 - else - i32.const 0 - end - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 209 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $72 - call $~lib/rt/pure/__release - i32.const 0 - call $~lib/util/number/itoa32 - local.tee $72 - i32.const 1040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 235 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - call $~lib/util/number/itoa32 - local.tee $73 - i32.const 1064 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 236 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 8 - call $~lib/util/number/itoa32 - local.tee $74 - i32.const 3752 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 237 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 123 - call $~lib/util/number/itoa32 - local.tee $75 - i32.const 736 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 238 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const -1000 - call $~lib/util/number/itoa32 - local.tee $76 - i32.const 3776 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 239 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1234 - call $~lib/util/number/itoa32 - local.tee $77 - i32.const 3808 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 240 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 12345 - call $~lib/util/number/itoa32 - local.tee $78 - i32.const 3832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 241 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 123456 - call $~lib/util/number/itoa32 - local.tee $79 - i32.const 3864 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 242 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1111111 - call $~lib/util/number/itoa32 - local.tee $80 - i32.const 3896 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 243 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1234567 - call $~lib/util/number/itoa32 - local.tee $81 - i32.const 3928 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 244 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483646 - call $~lib/util/number/itoa32 - local.tee $82 - i32.const 3960 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 245 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483647 - call $~lib/util/number/itoa32 - local.tee $83 - i32.const 4000 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 246 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const -2147483648 - call $~lib/util/number/itoa32 - local.tee $84 - i32.const 4040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 247 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - call $~lib/util/number/itoa32 - local.tee $85 - i32.const 4080 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 248 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/util/number/utoa32 - local.tee $86 - i32.const 1040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 250 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1000 - call $~lib/util/number/utoa32 - local.tee $87 - i32.const 4104 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 251 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483647 - call $~lib/util/number/utoa32 - local.tee $88 - i32.const 4000 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 252 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const -2147483648 - call $~lib/util/number/utoa32 - local.tee $89 - i32.const 4128 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 253 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/u32.MAX_VALUE - call $~lib/util/number/utoa32 - local.tee $90 - i32.const 4168 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 254 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - call $~lib/util/number/utoa64 - local.tee $91 - i32.const 1040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 256 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1234 - call $~lib/util/number/utoa64 - local.tee $92 - i32.const 3808 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 257 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 99999999 - call $~lib/util/number/utoa64 - local.tee $93 - i32.const 4208 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 258 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 100000000 - call $~lib/util/number/utoa64 - local.tee $94 - i32.const 4240 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 259 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - call $~lib/util/number/utoa64 - local.tee $95 - i32.const 4168 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 260 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 68719476735 - call $~lib/util/number/utoa64 - local.tee $96 - i32.const 4280 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 261 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 868719476735 - call $~lib/util/number/utoa64 - local.tee $97 - i32.const 4320 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 262 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 999868719476735 - call $~lib/util/number/utoa64 - local.tee $98 - i32.const 4360 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 263 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 9999868719476735 - call $~lib/util/number/utoa64 - local.tee $99 - i32.const 4408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 264 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 19999868719476735 - call $~lib/util/number/utoa64 - local.tee $100 - i32.const 4456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 265 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/u64.MAX_VALUE - call $~lib/util/number/utoa64 - local.tee $101 - i32.const 4512 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 266 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - call $~lib/util/number/itoa64 - local.tee $102 - i32.const 1040 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 268 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1234 - call $~lib/util/number/itoa64 - local.tee $103 - i32.const 4568 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 269 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - call $~lib/util/number/itoa64 - local.tee $104 - i32.const 4168 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 270 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4294967295 - call $~lib/util/number/itoa64 - local.tee $105 - i32.const 4600 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 271 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 68719476735 - call $~lib/util/number/itoa64 - local.tee $106 - i32.const 4280 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 272 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -68719476735 - call $~lib/util/number/itoa64 - local.tee $107 - i32.const 4640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 273 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -868719476735 - call $~lib/util/number/itoa64 - local.tee $108 - i32.const 4680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 274 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -999868719476735 - call $~lib/util/number/itoa64 - local.tee $109 - i32.const 4728 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 275 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -19999868719476735 - call $~lib/util/number/itoa64 - local.tee $110 - i32.const 4776 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 276 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/i64.MAX_VALUE - call $~lib/util/number/itoa64 - local.tee $111 - i32.const 4832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 277 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/i64.MIN_VALUE - call $~lib/util/number/itoa64 - local.tee $112 - i32.const 4888 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 278 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - call $~lib/util/number/dtoa - local.tee $113 - i32.const 4944 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 281 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - call $~lib/util/number/dtoa - local.tee $114 - i32.const 4944 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 282 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - call $~lib/util/number/dtoa - local.tee $115 - i32.const 4968 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 283 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - call $~lib/util/number/dtoa - local.tee $116 - i32.const 5032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 284 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - call $~lib/util/number/dtoa - local.tee $117 - i32.const 4992 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 285 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.EPSILON - call $~lib/util/number/dtoa - local.tee $118 - i32.const 6120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 286 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.EPSILON - f64.neg - call $~lib/util/number/dtoa - local.tee $119 - i32.const 6184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 287 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MAX_VALUE - call $~lib/util/number/dtoa - local.tee $120 - i32.const 6248 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 288 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/f64.MAX_VALUE - f64.neg - call $~lib/util/number/dtoa - local.tee $121 - i32.const 6312 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 289 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4185580496821356722454785e274 - call $~lib/util/number/dtoa - local.tee $122 - i32.const 6376 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 290 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - call $~lib/util/number/dtoa - local.tee $123 - i32.const 6440 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 291 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.940656e-318 - call $~lib/util/number/dtoa - local.tee $124 - i32.const 6504 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 294 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9060801153433600 - call $~lib/util/number/dtoa - local.tee $125 - i32.const 6552 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 295 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4708356024711512064 - call $~lib/util/number/dtoa - local.tee $126 - i32.const 6608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 296 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9409340012568248320 - call $~lib/util/number/dtoa - local.tee $127 - i32.const 6672 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 297 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - call $~lib/util/number/dtoa - local.tee $128 - i32.const 6736 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 298 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - call $~lib/util/number/dtoa - local.tee $129 - i32.const 6768 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 304 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.1 - call $~lib/util/number/dtoa - local.tee $130 - i32.const 1472 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 305 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - call $~lib/util/number/dtoa - local.tee $131 - i32.const 6792 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 306 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.1 - call $~lib/util/number/dtoa - local.tee $132 - i32.const 6816 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 307 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e6 - call $~lib/util/number/dtoa - local.tee $133 - i32.const 6840 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 309 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-06 - call $~lib/util/number/dtoa - local.tee $134 - i32.const 6880 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 310 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e6 - call $~lib/util/number/dtoa - local.tee $135 - i32.const 6912 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 311 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-06 - call $~lib/util/number/dtoa - local.tee $136 - i32.const 6952 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 312 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e7 - call $~lib/util/number/dtoa - local.tee $137 - i32.const 6992 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 313 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-07 - call $~lib/util/number/dtoa - local.tee $138 - i32.const 7032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 314 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+308 - call $~lib/util/number/dtoa - local.tee $139 - i32.const 7056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 316 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.e+308 - call $~lib/util/number/dtoa - local.tee $140 - i32.const 7088 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 317 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - call $~lib/util/number/dtoa - local.tee $141 - i32.const 5032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 318 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - call $~lib/util/number/dtoa - local.tee $142 - i32.const 4992 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 319 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-308 - call $~lib/util/number/dtoa - local.tee $143 - i32.const 7120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 320 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-308 - call $~lib/util/number/dtoa - local.tee $144 - i32.const 7152 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 321 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-323 - call $~lib/util/number/dtoa - local.tee $145 - i32.const 7184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 322 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-323 - call $~lib/util/number/dtoa - local.tee $146 - i32.const 7216 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 323 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - call $~lib/util/number/dtoa - local.tee $147 - i32.const 4944 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 324 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967272 - call $~lib/util/number/dtoa - local.tee $148 - i32.const 7248 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 326 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.2312145673456234e-08 - call $~lib/util/number/dtoa - local.tee $149 - i32.const 7288 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 327 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 555555555.5555556 - call $~lib/util/number/dtoa - local.tee $150 - i32.const 7352 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 329 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999999999999999 - call $~lib/util/number/dtoa - local.tee $151 - i32.const 7408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 330 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - call $~lib/util/number/dtoa - local.tee $152 - i32.const 6768 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 331 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 12.34 - call $~lib/util/number/dtoa - local.tee $153 - i32.const 7464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 332 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 3 - f64.div - call $~lib/util/number/dtoa - local.tee $154 - i32.const 7496 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 334 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1234e17 - call $~lib/util/number/dtoa - local.tee $155 - i32.const 7552 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 72 - i32.const 335 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1234e18 - call $~lib/util/number/dtoa - local.tee $156 - i32.const 7616 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/number/I64.parseInt + global.get $~lib/number/I64.MAX_VALUE + i64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 83 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1032 + call $~lib/string/parseFloat + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 85 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + call $~lib/string/parseFloat + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 86 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1464 + call $~lib/string/parseFloat + f64.const 0.1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 87 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1488 + call $~lib/string/parseFloat + f64.const 0.25 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 88 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1512 + call $~lib/string/parseFloat + f64.const 0.1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 89 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1544 + call $~lib/string/parseFloat + f64.const 0.1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 91 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 1576 + call $~lib/string/String.__concat + local.set $22 + global.get $~lib/error + if + br $uncaughtError + end + local.get $22 + local.tee $22 + call $~lib/rt/pure/__retain + local.set $23 + local.get $23 + i32.const 1600 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 95 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $23 + i32.const 400 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 96 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $22 + call $~lib/rt/pure/__release + local.get $23 + call $~lib/rt/pure/__release + i32.const 120 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 98 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + global.get $std/string/nullStr + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 99 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/nullStr + i32.const 120 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 100 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 1576 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 101 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1624 + i32.const 1648 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 103 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1624 + i32.const 1624 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 104 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1672 + i32.const 1696 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 105 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1720 + i32.const 1752 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 106 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1784 + i32.const 1784 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 107 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1784 + i32.const 1816 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 108 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1848 + i32.const 1888 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 109 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1576 + i32.const 400 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1928 + i32.const 400 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 112 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1928 + i32.const 1952 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1928 + i32.const 1600 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1928 + i32.const 1600 + call $~lib/string/String.__lt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 115 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1576 + global.get $std/string/nullStr + call $~lib/string/String.__lt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/nullStr + i32.const 1576 + call $~lib/string/String.__lt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 672 + call $~lib/string/String.__lt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 121 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 122 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 672 + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 123 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + call $~lib/string/String.__lt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 124 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 672 + call $~lib/string/String.__gt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 125 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + call $~lib/string/String.__lt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 126 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + call $~lib/string/String.__gt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 127 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 128 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 129 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 65377 + call $~lib/string/String.fromCodePoint + local.set $23 + global.get $~lib/error + if + br $uncaughtError + end + local.get $23 + local.set $23 + i32.const 55296 + call $~lib/string/String.fromCodePoint + local.set $22 + global.get $~lib/error + if + br $uncaughtError + end + local.get $22 + local.tee $22 + i32.const 56322 + call $~lib/string/String.fromCodePoint + local.set $24 + global.get $~lib/error + if + br $uncaughtError + end + local.get $24 + local.tee $24 + call $~lib/string/String.__concat + local.set $25 + global.get $~lib/error + if + br $uncaughtError + end + local.get $25 + local.tee $25 + call $~lib/rt/pure/__retain + local.set $26 + local.get $23 + local.get $26 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 134 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $23 + call $~lib/rt/pure/__release + local.get $22 + call $~lib/rt/pure/__release + local.get $24 + call $~lib/rt/pure/__release + local.get $25 + call $~lib/rt/pure/__release + local.get $26 + call $~lib/rt/pure/__release + i32.const 728 + call $~lib/string/String#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 100 + call $~lib/string/String#repeat + local.set $26 + global.get $~lib/error + if + br $uncaughtError + end + local.get $26 + local.tee $26 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 i32.const 0 - i32.const 72 - i32.const 336 + call $~lib/string/String#repeat + local.set $25 + global.get $~lib/error + if + br $uncaughtError + end + local.get $25 + local.tee $25 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 1 + call $~lib/string/String#repeat + local.set $24 + global.get $~lib/error + if + br $uncaughtError + end + local.get $24 + local.tee $24 + i32.const 400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 2 + call $~lib/string/String#repeat + local.set $22 + global.get $~lib/error + if + br $uncaughtError + end + local.get $22 + local.tee $22 + i32.const 1952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 3 + call $~lib/string/String#repeat + local.set $23 + global.get $~lib/error + if + br $uncaughtError + end + local.get $23 + local.tee $23 + i32.const 2064 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 143 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1600 + i32.const 4 + call $~lib/string/String#repeat + local.set $27 + global.get $~lib/error + if + br $uncaughtError + end + local.get $27 + local.tee $27 + i32.const 2088 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 144 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 5 + call $~lib/string/String#repeat + local.set $28 + global.get $~lib/error + if + br $uncaughtError + end + local.get $28 + local.tee $28 + i32.const 2120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 145 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 6 + call $~lib/string/String#repeat + local.set $29 + global.get $~lib/error + if + br $uncaughtError + end + local.get $29 + local.tee $29 + i32.const 2152 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 146 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 400 + i32.const 7 + call $~lib/string/String#repeat + local.set $30 + global.get $~lib/error + if + br $uncaughtError + end + local.get $30 + local.tee $30 + i32.const 2184 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 147 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 120 + call $~lib/string/String#replace + local.set $31 + global.get $~lib/error + if + br $uncaughtError + end + local.get $31 + local.tee $31 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 149 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 2216 + call $~lib/string/String#replace + local.set $32 + global.get $~lib/error + if + br $uncaughtError + end + local.get $32 + local.tee $32 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 150 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2216 + i32.const 2216 + i32.const 120 + call $~lib/string/String#replace + local.set $33 + global.get $~lib/error + if + br $uncaughtError + end + local.get $33 + local.tee $33 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 151 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2216 + i32.const 120 + i32.const 120 + call $~lib/string/String#replace + local.set $34 + global.get $~lib/error + if + br $uncaughtError + end + local.get $34 + local.tee $34 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 152 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2240 + i32.const 2216 + call $~lib/string/String#replace + local.set $35 + global.get $~lib/error + if + br $uncaughtError + end + local.get $35 + local.tee $35 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 153 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 672 + i32.const 2216 + call $~lib/string/String#replace + local.set $36 + global.get $~lib/error + if + br $uncaughtError + end + local.get $36 + local.tee $36 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 154 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2264 + i32.const 2216 + call $~lib/string/String#replace + local.set $37 + global.get $~lib/error + if + br $uncaughtError + end + local.get $37 + local.tee $37 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 155 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 1600 + i32.const 1600 + call $~lib/string/String#replace + local.set $38 + global.get $~lib/error + if + br $uncaughtError + end + local.get $38 + local.tee $38 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2288 + i32.const 2240 + i32.const 2216 + call $~lib/string/String#replace + local.set $39 + global.get $~lib/error + if + br $uncaughtError + end + local.get $39 + local.tee $39 + i32.const 2320 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 157 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + i32.const 2216 + call $~lib/string/String#replace + local.set $40 + global.get $~lib/error + if + br $uncaughtError + end + local.get $40 + local.tee $40 + i32.const 2352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 158 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2376 + i32.const 2400 + i32.const 2216 + call $~lib/string/String#replace + local.set $41 + global.get $~lib/error + if + br $uncaughtError + end + local.get $41 + local.tee $41 + i32.const 2352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 159 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2424 + i32.const 2448 + call $~lib/string/String#replace + local.set $42 + global.get $~lib/error + if + br $uncaughtError + end + local.get $42 + local.tee $42 + i32.const 2472 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 160 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2424 + i32.const 120 + call $~lib/string/String#replace + local.set $43 + global.get $~lib/error + if + br $uncaughtError + end + local.get $43 + local.tee $43 + i32.const 1600 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 161 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 672 + call $~lib/string/String#replaceAll + local.set $44 + global.get $~lib/error + if + br $uncaughtError + end + local.get $44 + local.tee $44 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 163 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2240 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $45 + global.get $~lib/error + if + br $uncaughtError + end + local.get $45 + local.tee $45 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 164 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 848 + i32.const 672 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $46 + global.get $~lib/error + if + br $uncaughtError + end + local.get $46 + local.tee $46 + i32.const 2448 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 166 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2496 + i32.const 672 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $47 + global.get $~lib/error + if + br $uncaughtError + end + local.get $47 + local.tee $47 + i32.const 2536 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 167 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 848 + i32.const 1600 + i32.const 1600 + call $~lib/string/String#replaceAll + local.set $48 + global.get $~lib/error + if + br $uncaughtError + end + local.get $48 + local.tee $48 + i32.const 848 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 168 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2560 + i32.const 400 + i32.const 2536 + call $~lib/string/String#replaceAll + local.set $49 + global.get $~lib/error + if + br $uncaughtError + end + local.get $49 + local.tee $49 + i32.const 2592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 169 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 848 + i32.const 1600 + i32.const 2448 + call $~lib/string/String#replaceAll + local.set $50 + global.get $~lib/error + if + br $uncaughtError + end + local.get $50 + local.tee $50 + i32.const 2640 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 170 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2672 + i32.const 2696 + i32.const 2448 + call $~lib/string/String#replaceAll + local.set $51 + global.get $~lib/error + if + br $uncaughtError + end + local.get $51 + local.tee $51 + i32.const 2720 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 171 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2264 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $52 + global.get $~lib/error + if + br $uncaughtError + end + local.get $52 + local.tee $52 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 172 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2264 + i32.const 2744 + i32.const 2448 + call $~lib/string/String#replaceAll + local.set $53 + global.get $~lib/error + if + br $uncaughtError + end + local.get $53 + local.tee $53 + i32.const 2264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 173 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2768 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $54 + global.get $~lib/error + if + br $uncaughtError + end + local.get $54 + local.tee $54 + i32.const 2792 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 174 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1600 + i32.const 1600 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $55 + global.get $~lib/error + if + br $uncaughtError + end + local.get $55 + local.tee $55 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 175 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2288 + i32.const 2240 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $56 + global.get $~lib/error + if + br $uncaughtError + end + local.get $56 + local.tee $56 + i32.const 2816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 176 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 120 + call $~lib/string/String#replaceAll + local.set $57 + global.get $~lib/error + if + br $uncaughtError + end + local.get $57 + local.tee $57 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 178 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $58 + global.get $~lib/error + if + br $uncaughtError + end + local.get $58 + local.tee $58 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 179 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2216 + i32.const 2216 + i32.const 120 + call $~lib/string/String#replaceAll + local.set $59 + global.get $~lib/error + if + br $uncaughtError + end + local.get $59 + local.tee $59 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 180 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2216 + i32.const 120 + i32.const 120 + call $~lib/string/String#replaceAll + local.set $60 + global.get $~lib/error + if + br $uncaughtError + end + local.get $60 + local.tee $60 + i32.const 2216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 181 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 672 + i32.const 2240 + call $~lib/string/String#replaceAll + local.set $61 + global.get $~lib/error + if + br $uncaughtError + end + local.get $61 + local.tee $61 + i32.const 2240 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 182 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 2848 + i32.const 2240 + call $~lib/string/String#replaceAll + local.set $62 + global.get $~lib/error + if + br $uncaughtError + end + local.get $62 + local.tee $62 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 183 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + i32.const 2216 + call $~lib/string/String#replaceAll + local.set $63 + global.get $~lib/error + if + br $uncaughtError + end + local.get $63 + local.tee $63 + i32.const 2872 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 184 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 672 + i32.const 120 + i32.const 120 + call $~lib/string/String#replaceAll + local.set $64 + global.get $~lib/error + if + br $uncaughtError + end + local.get $64 + local.tee $64 + i32.const 672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 185 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2904 + local.tee $65 + global.get $std/string/str + local.tee $66 + i32.ne + if + local.get $65 + call $~lib/rt/pure/__retain + drop + local.get $66 + call $~lib/rt/pure/__release + end + local.get $65 + global.set $std/string/str + global.get $std/string/str i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.71828 - call $~lib/util/number/dtoa - local.tee $157 - i32.const 7656 - call $~lib/string/String.__eq - i32.eqz - if + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#slice + local.set $65 + global.get $~lib/error + if + br $uncaughtError + end + local.get $65 + local.tee $65 + i32.const 2904 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const -1 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#slice + local.set $66 + global.get $~lib/error + if + br $uncaughtError + end + local.get $66 + local.tee $66 + i32.const 2952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 190 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const -5 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#slice + local.set $67 + global.get $~lib/error + if + br $uncaughtError + end + local.get $67 + local.tee $67 + i32.const 2976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 191 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 2 + i32.const 7 + call $~lib/string/String#slice + local.set $68 + global.get $~lib/error + if + br $uncaughtError + end + local.get $68 + local.tee $68 + i32.const 3008 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 192 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const -11 + i32.const -6 + call $~lib/string/String#slice + local.set $69 + global.get $~lib/error + if + br $uncaughtError + end + local.get $69 + local.tee $69 + i32.const 3040 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + i32.const 4 + i32.const 3 + call $~lib/string/String#slice + local.set $70 + global.get $~lib/error + if + br $uncaughtError + end + local.get $70 + local.tee $70 + i32.const 120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str i32.const 0 - i32.const 72 - i32.const 337 + i32.const -1 + call $~lib/string/String#slice + local.set $71 + global.get $~lib/error + if + br $uncaughtError + end + local.get $71 + local.tee $71 + i32.const 3072 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.0271828 - call $~lib/util/number/dtoa - local.tee $158 - i32.const 7688 - call $~lib/string/String.__eq - i32.eqz - if + local.set $72 + i32.const 120 i32.const 0 - i32.const 72 - i32.const 338 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.set $73 + global.get $~lib/error + if + br $uncaughtError + end + local.get $73 + local.set $73 + local.get $72 + call $~lib/rt/pure/__release + local.get $73 + local.set $72 + local.get $72 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $72 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $73 + global.get $~lib/error + if + br $uncaughtError + end + local.get $73 + local.tee $73 + i32.const 120 + call $~lib/string/String.__eq + local.set $74 + local.get $73 + call $~lib/rt/pure/__release + local.get $74 + else + i32.const 0 + end i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 271.828 - call $~lib/util/number/dtoa - local.tee $159 - i32.const 7728 - call $~lib/string/String.__eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 201 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 120 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.set $73 + global.get $~lib/error + if + br $uncaughtError + end + local.get $73 + local.set $74 + local.get $72 + call $~lib/rt/pure/__release + local.get $74 + local.set $72 + local.get $72 + call $~lib/array/Array<~lib/string/String>#get:length i32.const 0 - i32.const 72 - i32.const 339 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 203 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 120 + i32.const 912 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.set $74 + global.get $~lib/error + if + br $uncaughtError + end + local.get $74 + local.set $73 + local.get $72 + call $~lib/rt/pure/__release + local.get $73 + local.set $72 + local.get $72 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $72 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $73 + global.get $~lib/error + if + br $uncaughtError + end + local.get $73 + local.tee $73 + i32.const 120 + call $~lib/string/String.__eq + local.set $74 + local.get $73 + call $~lib/rt/pure/__release + local.get $74 + else + i32.const 0 + end i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1e+128 - call $~lib/util/number/dtoa - local.tee $160 - i32.const 7760 - call $~lib/string/String.__eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 205 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3232 + i32.const 3264 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.set $73 + global.get $~lib/error + if + br $uncaughtError + end + local.get $73 + local.set $74 + local.get $72 + call $~lib/rt/pure/__release + local.get $74 + local.set $72 + local.get $72 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $72 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $74 + global.get $~lib/error + if + br $uncaughtError + end + local.get $74 + local.tee $74 + i32.const 3232 + call $~lib/string/String.__eq + local.set $73 + local.get $74 + call $~lib/rt/pure/__release + local.get $73 + else + i32.const 0 + end i32.const 0 - i32.const 72 - i32.const 340 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 207 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3232 + i32.const 912 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.set $74 + global.get $~lib/error + if + br $uncaughtError + end + local.get $74 + local.set $73 + local.get $72 + call $~lib/rt/pure/__release + local.get $73 + local.set $72 + local.get $72 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $72 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $73 + global.get $~lib/error + if + br $uncaughtError + end + local.get $73 + local.tee $73 + i32.const 400 + call $~lib/string/String.__eq + local.set $74 + local.get $73 + call $~lib/rt/pure/__release + local.get $74 + else + i32.const 0 + end i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1e-64 - call $~lib/util/number/dtoa - local.tee $161 - i32.const 7792 - call $~lib/string/String.__eq - i32.eqz - if + i32.ne + if (result i32) + local.get $72 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $73 + global.get $~lib/error + if + br $uncaughtError + end + local.get $73 + local.tee $73 + i32.const 1576 + call $~lib/string/String.__eq + local.set $74 + local.get $73 + call $~lib/rt/pure/__release + local.get $74 + else + i32.const 0 + end i32.const 0 - i32.const 72 - i32.const 341 + i32.ne + if (result i32) + local.get $72 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $73 + global.get $~lib/error + if + br $uncaughtError + end + local.get $73 + local.tee $73 + i32.const 2424 + call $~lib/string/String.__eq + local.set $74 + local.get $73 + call $~lib/rt/pure/__release + local.get $74 + else + i32.const 0 + end i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.000035689 - call $~lib/util/number/dtoa - local.tee $162 - i32.const 7824 - call $~lib/string/String.__eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 209 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $72 + call $~lib/rt/pure/__release i32.const 0 - i32.const 72 - i32.const 342 + call $~lib/util/number/itoa32 + local.set $72 + global.get $~lib/error + if + br $uncaughtError + end + local.get $72 + local.tee $72 + i32.const 1032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 235 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $~lib/util/number/itoa32 + local.set $73 + global.get $~lib/error + if + br $uncaughtError + end + local.get $73 + local.tee $73 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 236 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 8 + call $~lib/util/number/itoa32 + local.set $74 + global.get $~lib/error + if + br $uncaughtError + end + local.get $74 + local.tee $74 + i32.const 3736 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 237 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 123 + call $~lib/util/number/itoa32 + local.set $75 + global.get $~lib/error + if + br $uncaughtError + end + local.get $75 + local.tee $75 + i32.const 728 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 238 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1000 + call $~lib/util/number/itoa32 + local.set $76 + global.get $~lib/error + if + br $uncaughtError + end + local.get $76 + local.tee $76 + i32.const 3760 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 239 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1234 + call $~lib/util/number/itoa32 + local.set $77 + global.get $~lib/error + if + br $uncaughtError + end + local.get $77 + local.tee $77 + i32.const 3792 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 240 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 12345 + call $~lib/util/number/itoa32 + local.set $78 + global.get $~lib/error + if + br $uncaughtError + end + local.get $78 + local.tee $78 + i32.const 3816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 241 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 123456 + call $~lib/util/number/itoa32 + local.set $79 + global.get $~lib/error + if + br $uncaughtError + end + local.get $79 + local.tee $79 + i32.const 3848 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 242 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1111111 + call $~lib/util/number/itoa32 + local.set $80 + global.get $~lib/error + if + br $uncaughtError + end + local.get $80 + local.tee $80 + i32.const 3880 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 243 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1234567 + call $~lib/util/number/itoa32 + local.set $81 + global.get $~lib/error + if + br $uncaughtError + end + local.get $81 + local.tee $81 + i32.const 3912 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 244 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483646 + call $~lib/util/number/itoa32 + local.set $82 + global.get $~lib/error + if + br $uncaughtError + end + local.get $82 + local.tee $82 + i32.const 3944 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 245 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483647 + call $~lib/util/number/itoa32 + local.set $83 + global.get $~lib/error + if + br $uncaughtError + end + local.get $83 + local.tee $83 + i32.const 3984 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -2147483648 + call $~lib/util/number/itoa32 + local.set $84 + global.get $~lib/error + if + br $uncaughtError + end + local.get $84 + local.tee $84 + i32.const 4024 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + call $~lib/util/number/itoa32 + local.set $85 + global.get $~lib/error + if + br $uncaughtError + end + local.get $85 + local.tee $85 + i32.const 4064 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 248 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $~lib/builtins/abort - unreachable + call $~lib/util/number/utoa32 + local.set $86 + global.get $~lib/error + if + br $uncaughtError + end + local.get $86 + local.tee $86 + i32.const 1032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 250 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1000 + call $~lib/util/number/utoa32 + local.set $87 + global.get $~lib/error + if + br $uncaughtError + end + local.get $87 + local.tee $87 + i32.const 4088 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 251 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483647 + call $~lib/util/number/utoa32 + local.set $88 + global.get $~lib/error + if + br $uncaughtError + end + local.get $88 + local.tee $88 + i32.const 3984 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 252 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -2147483648 + call $~lib/util/number/utoa32 + local.set $89 + global.get $~lib/error + if + br $uncaughtError + end + local.get $89 + local.tee $89 + i32.const 4112 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 253 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/u32.MAX_VALUE + call $~lib/util/number/utoa32 + local.set $90 + global.get $~lib/error + if + br $uncaughtError + end + local.get $90 + local.tee $90 + i32.const 4152 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 254 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + call $~lib/util/number/utoa64 + local.set $91 + global.get $~lib/error + if + br $uncaughtError + end + local.get $91 + local.tee $91 + i32.const 1032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 256 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1234 + call $~lib/util/number/utoa64 + local.set $92 + global.get $~lib/error + if + br $uncaughtError + end + local.get $92 + local.tee $92 + i32.const 3792 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 257 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 99999999 + call $~lib/util/number/utoa64 + local.set $93 + global.get $~lib/error + if + br $uncaughtError + end + local.get $93 + local.tee $93 + i32.const 4192 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 258 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 100000000 + call $~lib/util/number/utoa64 + local.set $94 + global.get $~lib/error + if + br $uncaughtError + end + local.get $94 + local.tee $94 + i32.const 4224 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 259 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967295 + call $~lib/util/number/utoa64 + local.set $95 + global.get $~lib/error + if + br $uncaughtError + end + local.get $95 + local.tee $95 + i32.const 4152 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 260 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 68719476735 + call $~lib/util/number/utoa64 + local.set $96 + global.get $~lib/error + if + br $uncaughtError + end + local.get $96 + local.tee $96 + i32.const 4264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 261 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 868719476735 + call $~lib/util/number/utoa64 + local.set $97 + global.get $~lib/error + if + br $uncaughtError + end + local.get $97 + local.tee $97 + i32.const 4304 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 262 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 999868719476735 + call $~lib/util/number/utoa64 + local.set $98 + global.get $~lib/error + if + br $uncaughtError + end + local.get $98 + local.tee $98 + i32.const 4344 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 263 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 9999868719476735 + call $~lib/util/number/utoa64 + local.set $99 + global.get $~lib/error + if + br $uncaughtError + end + local.get $99 + local.tee $99 + i32.const 4392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 264 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 19999868719476735 + call $~lib/util/number/utoa64 + local.set $100 + global.get $~lib/error + if + br $uncaughtError + end + local.get $100 + local.tee $100 + i32.const 4440 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 265 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/u64.MAX_VALUE + call $~lib/util/number/utoa64 + local.set $101 + global.get $~lib/error + if + br $uncaughtError + end + local.get $101 + local.tee $101 + i32.const 4496 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 266 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + call $~lib/util/number/itoa64 + local.set $102 + global.get $~lib/error + if + br $uncaughtError + end + local.get $102 + local.tee $102 + i32.const 1032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 268 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1234 + call $~lib/util/number/itoa64 + local.set $103 + global.get $~lib/error + if + br $uncaughtError + end + local.get $103 + local.tee $103 + i32.const 4552 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 269 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967295 + call $~lib/util/number/itoa64 + local.set $104 + global.get $~lib/error + if + br $uncaughtError + end + local.get $104 + local.tee $104 + i32.const 4152 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 270 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -4294967295 + call $~lib/util/number/itoa64 + local.set $105 + global.get $~lib/error + if + br $uncaughtError + end + local.get $105 + local.tee $105 + i32.const 4584 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 271 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 68719476735 + call $~lib/util/number/itoa64 + local.set $106 + global.get $~lib/error + if + br $uncaughtError + end + local.get $106 + local.tee $106 + i32.const 4264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 272 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -68719476735 + call $~lib/util/number/itoa64 + local.set $107 + global.get $~lib/error + if + br $uncaughtError + end + local.get $107 + local.tee $107 + i32.const 4624 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 273 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -868719476735 + call $~lib/util/number/itoa64 + local.set $108 + global.get $~lib/error + if + br $uncaughtError + end + local.get $108 + local.tee $108 + i32.const 4664 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 274 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -999868719476735 + call $~lib/util/number/itoa64 + local.set $109 + global.get $~lib/error + if + br $uncaughtError + end + local.get $109 + local.tee $109 + i32.const 4712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 275 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -19999868719476735 + call $~lib/util/number/itoa64 + local.set $110 + global.get $~lib/error + if + br $uncaughtError + end + local.get $110 + local.tee $110 + i32.const 4760 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 276 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/i64.MAX_VALUE + call $~lib/util/number/itoa64 + local.set $111 + global.get $~lib/error + if + br $uncaughtError + end + local.get $111 + local.tee $111 + i32.const 4816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 277 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/i64.MIN_VALUE + call $~lib/util/number/itoa64 + local.set $112 + global.get $~lib/error + if + br $uncaughtError + end + local.get $112 + local.tee $112 + i32.const 4872 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 278 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/util/number/dtoa + local.set $113 + global.get $~lib/error + if + br $uncaughtError + end + local.get $113 + local.tee $113 + i32.const 4928 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 281 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + call $~lib/util/number/dtoa + local.set $114 + global.get $~lib/error + if + br $uncaughtError + end + local.get $114 + local.tee $114 + i32.const 4928 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 282 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + call $~lib/util/number/dtoa + local.set $115 + global.get $~lib/error + if + br $uncaughtError + end + local.get $115 + local.tee $115 + i32.const 4952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 283 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + call $~lib/util/number/dtoa + local.set $116 + global.get $~lib/error + if + br $uncaughtError + end + local.get $116 + local.tee $116 + i32.const 5016 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 284 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.neg + call $~lib/util/number/dtoa + local.set $117 + global.get $~lib/error + if + br $uncaughtError + end + local.get $117 + local.tee $117 + i32.const 4976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 285 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.EPSILON + call $~lib/util/number/dtoa + local.set $118 + global.get $~lib/error + if + br $uncaughtError + end + local.get $118 + local.tee $118 + i32.const 6104 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 286 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.EPSILON + f64.neg + call $~lib/util/number/dtoa + local.set $119 + global.get $~lib/error + if + br $uncaughtError + end + local.get $119 + local.tee $119 + i32.const 6168 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + call $~lib/util/number/dtoa + local.set $120 + global.get $~lib/error + if + br $uncaughtError + end + local.get $120 + local.tee $120 + i32.const 6232 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 288 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + f64.neg + call $~lib/util/number/dtoa + local.set $121 + global.get $~lib/error + if + br $uncaughtError + end + local.get $121 + local.tee $121 + i32.const 6296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 289 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4185580496821356722454785e274 + call $~lib/util/number/dtoa + local.set $122 + global.get $~lib/error + if + br $uncaughtError + end + local.get $122 + local.tee $122 + i32.const 6360 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 290 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + call $~lib/util/number/dtoa + local.set $123 + global.get $~lib/error + if + br $uncaughtError + end + local.get $123 + local.tee $123 + i32.const 6424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 291 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.940656e-318 + call $~lib/util/number/dtoa + local.set $124 + global.get $~lib/error + if + br $uncaughtError + end + local.get $124 + local.tee $124 + i32.const 6488 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 294 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9060801153433600 + call $~lib/util/number/dtoa + local.set $125 + global.get $~lib/error + if + br $uncaughtError + end + local.get $125 + local.tee $125 + i32.const 6536 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 295 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4708356024711512064 + call $~lib/util/number/dtoa + local.set $126 + global.get $~lib/error + if + br $uncaughtError + end + local.get $126 + local.tee $126 + i32.const 6592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 296 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9409340012568248320 + call $~lib/util/number/dtoa + local.set $127 + global.get $~lib/error + if + br $uncaughtError + end + local.get $127 + local.tee $127 + i32.const 6656 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 297 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + call $~lib/util/number/dtoa + local.set $128 + global.get $~lib/error + if + br $uncaughtError + end + local.get $128 + local.tee $128 + i32.const 6720 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 298 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + call $~lib/util/number/dtoa + local.set $129 + global.get $~lib/error + if + br $uncaughtError + end + local.get $129 + local.tee $129 + i32.const 6752 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 304 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.1 + call $~lib/util/number/dtoa + local.set $130 + global.get $~lib/error + if + br $uncaughtError + end + local.get $130 + local.tee $130 + i32.const 1464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 305 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + call $~lib/util/number/dtoa + local.set $131 + global.get $~lib/error + if + br $uncaughtError + end + local.get $131 + local.tee $131 + i32.const 6776 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 306 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.1 + call $~lib/util/number/dtoa + local.set $132 + global.get $~lib/error + if + br $uncaughtError + end + local.get $132 + local.tee $132 + i32.const 6800 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 307 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e6 + call $~lib/util/number/dtoa + local.set $133 + global.get $~lib/error + if + br $uncaughtError + end + local.get $133 + local.tee $133 + i32.const 6824 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 309 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-06 + call $~lib/util/number/dtoa + local.set $134 + global.get $~lib/error + if + br $uncaughtError + end + local.get $134 + local.tee $134 + i32.const 6864 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 310 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e6 + call $~lib/util/number/dtoa + local.set $135 + global.get $~lib/error + if + br $uncaughtError + end + local.get $135 + local.tee $135 + i32.const 6896 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 311 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-06 + call $~lib/util/number/dtoa + local.set $136 + global.get $~lib/error + if + br $uncaughtError + end + local.get $136 + local.tee $136 + i32.const 6936 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 312 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e7 + call $~lib/util/number/dtoa + local.set $137 + global.get $~lib/error + if + br $uncaughtError + end + local.get $137 + local.tee $137 + i32.const 6976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 313 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-07 + call $~lib/util/number/dtoa + local.set $138 + global.get $~lib/error + if + br $uncaughtError + end + local.get $138 + local.tee $138 + i32.const 7016 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 314 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+308 + call $~lib/util/number/dtoa + local.set $139 + global.get $~lib/error + if + br $uncaughtError + end + local.get $139 + local.tee $139 + i32.const 7040 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 316 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.e+308 + call $~lib/util/number/dtoa + local.set $140 + global.get $~lib/error + if + br $uncaughtError + end + local.get $140 + local.tee $140 + i32.const 7072 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 317 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + call $~lib/util/number/dtoa + local.set $141 + global.get $~lib/error + if + br $uncaughtError + end + local.get $141 + local.tee $141 + i32.const 5016 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 318 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + call $~lib/util/number/dtoa + local.set $142 + global.get $~lib/error + if + br $uncaughtError + end + local.get $142 + local.tee $142 + i32.const 4976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 319 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-308 + call $~lib/util/number/dtoa + local.set $143 + global.get $~lib/error + if + br $uncaughtError + end + local.get $143 + local.tee $143 + i32.const 7104 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 320 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-308 + call $~lib/util/number/dtoa + local.set $144 + global.get $~lib/error + if + br $uncaughtError + end + local.get $144 + local.tee $144 + i32.const 7136 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 321 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-323 + call $~lib/util/number/dtoa + local.set $145 + global.get $~lib/error + if + br $uncaughtError + end + local.get $145 + local.tee $145 + i32.const 7168 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 322 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-323 + call $~lib/util/number/dtoa + local.set $146 + global.get $~lib/error + if + br $uncaughtError + end + local.get $146 + local.tee $146 + i32.const 7200 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 323 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/util/number/dtoa + local.set $147 + global.get $~lib/error + if + br $uncaughtError + end + local.get $147 + local.tee $147 + i32.const 4928 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 324 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967272 + call $~lib/util/number/dtoa + local.set $148 + global.get $~lib/error + if + br $uncaughtError + end + local.get $148 + local.tee $148 + i32.const 7232 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 326 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.2312145673456234e-08 + call $~lib/util/number/dtoa + local.set $149 + global.get $~lib/error + if + br $uncaughtError + end + local.get $149 + local.tee $149 + i32.const 7272 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 327 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 555555555.5555556 + call $~lib/util/number/dtoa + local.set $150 + global.get $~lib/error + if + br $uncaughtError + end + local.get $150 + local.tee $150 + i32.const 7336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 329 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999999999999999 + call $~lib/util/number/dtoa + local.set $151 + global.get $~lib/error + if + br $uncaughtError + end + local.get $151 + local.tee $151 + i32.const 7392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 330 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + call $~lib/util/number/dtoa + local.set $152 + global.get $~lib/error + if + br $uncaughtError + end + local.get $152 + local.tee $152 + i32.const 6752 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 331 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 12.34 + call $~lib/util/number/dtoa + local.set $153 + global.get $~lib/error + if + br $uncaughtError + end + local.get $153 + local.tee $153 + i32.const 7448 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 332 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 3 + f64.div + call $~lib/util/number/dtoa + local.set $154 + global.get $~lib/error + if + br $uncaughtError + end + local.get $154 + local.tee $154 + i32.const 7480 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 334 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1234e17 + call $~lib/util/number/dtoa + local.set $155 + global.get $~lib/error + if + br $uncaughtError + end + local.get $155 + local.tee $155 + i32.const 7536 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 335 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1234e18 + call $~lib/util/number/dtoa + local.set $156 + global.get $~lib/error + if + br $uncaughtError + end + local.get $156 + local.tee $156 + i32.const 7600 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 336 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.71828 + call $~lib/util/number/dtoa + local.set $157 + global.get $~lib/error + if + br $uncaughtError + end + local.get $157 + local.tee $157 + i32.const 7640 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 337 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.0271828 + call $~lib/util/number/dtoa + local.set $158 + global.get $~lib/error + if + br $uncaughtError + end + local.get $158 + local.tee $158 + i32.const 7672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 338 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 271.828 + call $~lib/util/number/dtoa + local.set $159 + global.get $~lib/error + if + br $uncaughtError + end + local.get $159 + local.tee $159 + i32.const 7712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 339 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1e+128 + call $~lib/util/number/dtoa + local.set $160 + global.get $~lib/error + if + br $uncaughtError + end + local.get $160 + local.tee $160 + i32.const 7744 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 340 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1e-64 + call $~lib/util/number/dtoa + local.set $161 + global.get $~lib/error + if + br $uncaughtError + end + local.get $161 + local.tee $161 + i32.const 7776 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 341 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.000035689 + call $~lib/util/number/dtoa + local.set $162 + global.get $~lib/error + if + br $uncaughtError + end + local.get $162 + local.tee $162 + i32.const 7808 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 342 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release + local.get $11 + call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release + local.get $13 + call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release + local.get $16 + call $~lib/rt/pure/__release + local.get $17 + call $~lib/rt/pure/__release + local.get $18 + call $~lib/rt/pure/__release + local.get $19 + call $~lib/rt/pure/__release + local.get $20 + call $~lib/rt/pure/__release + local.get $21 + call $~lib/rt/pure/__release + local.get $22 + call $~lib/rt/pure/__release + local.get $23 + call $~lib/rt/pure/__release + local.get $24 + call $~lib/rt/pure/__release + local.get $25 + call $~lib/rt/pure/__release + local.get $26 + call $~lib/rt/pure/__release + local.get $27 + call $~lib/rt/pure/__release + local.get $28 + call $~lib/rt/pure/__release + local.get $29 + call $~lib/rt/pure/__release + local.get $30 + call $~lib/rt/pure/__release + local.get $31 + call $~lib/rt/pure/__release + local.get $32 + call $~lib/rt/pure/__release + local.get $33 + call $~lib/rt/pure/__release + local.get $34 + call $~lib/rt/pure/__release + local.get $35 + call $~lib/rt/pure/__release + local.get $36 + call $~lib/rt/pure/__release + local.get $37 + call $~lib/rt/pure/__release + local.get $38 + call $~lib/rt/pure/__release + local.get $39 + call $~lib/rt/pure/__release + local.get $40 + call $~lib/rt/pure/__release + local.get $41 + call $~lib/rt/pure/__release + local.get $42 + call $~lib/rt/pure/__release + local.get $43 + call $~lib/rt/pure/__release + local.get $44 + call $~lib/rt/pure/__release + local.get $45 + call $~lib/rt/pure/__release + local.get $46 + call $~lib/rt/pure/__release + local.get $47 + call $~lib/rt/pure/__release + local.get $48 + call $~lib/rt/pure/__release + local.get $49 + call $~lib/rt/pure/__release + local.get $50 + call $~lib/rt/pure/__release + local.get $51 + call $~lib/rt/pure/__release + local.get $52 + call $~lib/rt/pure/__release + local.get $53 + call $~lib/rt/pure/__release + local.get $54 + call $~lib/rt/pure/__release + local.get $55 + call $~lib/rt/pure/__release + local.get $56 + call $~lib/rt/pure/__release + local.get $57 + call $~lib/rt/pure/__release + local.get $58 + call $~lib/rt/pure/__release + local.get $59 + call $~lib/rt/pure/__release + local.get $60 + call $~lib/rt/pure/__release + local.get $61 + call $~lib/rt/pure/__release + local.get $62 + call $~lib/rt/pure/__release + local.get $63 + call $~lib/rt/pure/__release + local.get $64 + call $~lib/rt/pure/__release + local.get $65 + call $~lib/rt/pure/__release + local.get $66 + call $~lib/rt/pure/__release + local.get $67 + call $~lib/rt/pure/__release + local.get $68 + call $~lib/rt/pure/__release + local.get $69 + call $~lib/rt/pure/__release + local.get $70 + call $~lib/rt/pure/__release + local.get $71 + call $~lib/rt/pure/__release + local.get $72 + call $~lib/rt/pure/__release + local.get $73 + call $~lib/rt/pure/__release + local.get $74 + call $~lib/rt/pure/__release + local.get $75 + call $~lib/rt/pure/__release + local.get $76 + call $~lib/rt/pure/__release + local.get $77 + call $~lib/rt/pure/__release + local.get $78 + call $~lib/rt/pure/__release + local.get $79 + call $~lib/rt/pure/__release + local.get $80 + call $~lib/rt/pure/__release + local.get $81 + call $~lib/rt/pure/__release + local.get $82 + call $~lib/rt/pure/__release + local.get $83 + call $~lib/rt/pure/__release + local.get $84 + call $~lib/rt/pure/__release + local.get $85 + call $~lib/rt/pure/__release + local.get $86 + call $~lib/rt/pure/__release + local.get $87 + call $~lib/rt/pure/__release + local.get $88 + call $~lib/rt/pure/__release + local.get $89 + call $~lib/rt/pure/__release + local.get $90 + call $~lib/rt/pure/__release + local.get $91 + call $~lib/rt/pure/__release + local.get $92 + call $~lib/rt/pure/__release + local.get $93 + call $~lib/rt/pure/__release + local.get $94 + call $~lib/rt/pure/__release + local.get $95 + call $~lib/rt/pure/__release + local.get $96 + call $~lib/rt/pure/__release + local.get $97 + call $~lib/rt/pure/__release + local.get $98 + call $~lib/rt/pure/__release + local.get $99 + call $~lib/rt/pure/__release + local.get $100 + call $~lib/rt/pure/__release + local.get $101 + call $~lib/rt/pure/__release + local.get $102 + call $~lib/rt/pure/__release + local.get $103 + call $~lib/rt/pure/__release + local.get $104 + call $~lib/rt/pure/__release + local.get $105 + call $~lib/rt/pure/__release + local.get $106 + call $~lib/rt/pure/__release + local.get $107 + call $~lib/rt/pure/__release + local.get $108 + call $~lib/rt/pure/__release + local.get $109 + call $~lib/rt/pure/__release + local.get $110 + call $~lib/rt/pure/__release + local.get $111 + call $~lib/rt/pure/__release + local.get $112 + call $~lib/rt/pure/__release + local.get $113 + call $~lib/rt/pure/__release + local.get $114 + call $~lib/rt/pure/__release + local.get $115 + call $~lib/rt/pure/__release + local.get $116 + call $~lib/rt/pure/__release + local.get $117 + call $~lib/rt/pure/__release + local.get $118 + call $~lib/rt/pure/__release + local.get $119 + call $~lib/rt/pure/__release + local.get $120 + call $~lib/rt/pure/__release + local.get $121 + call $~lib/rt/pure/__release + local.get $122 + call $~lib/rt/pure/__release + local.get $123 + call $~lib/rt/pure/__release + local.get $124 + call $~lib/rt/pure/__release + local.get $125 + call $~lib/rt/pure/__release + local.get $126 + call $~lib/rt/pure/__release + local.get $127 + call $~lib/rt/pure/__release + local.get $128 + call $~lib/rt/pure/__release + local.get $129 + call $~lib/rt/pure/__release + local.get $130 + call $~lib/rt/pure/__release + local.get $131 + call $~lib/rt/pure/__release + local.get $132 + call $~lib/rt/pure/__release + local.get $133 + call $~lib/rt/pure/__release + local.get $134 + call $~lib/rt/pure/__release + local.get $135 + call $~lib/rt/pure/__release + local.get $136 + call $~lib/rt/pure/__release + local.get $137 + call $~lib/rt/pure/__release + local.get $138 + call $~lib/rt/pure/__release + local.get $139 + call $~lib/rt/pure/__release + local.get $140 + call $~lib/rt/pure/__release + local.get $141 + call $~lib/rt/pure/__release + local.get $142 + call $~lib/rt/pure/__release + local.get $143 + call $~lib/rt/pure/__release + local.get $144 + call $~lib/rt/pure/__release + local.get $145 + call $~lib/rt/pure/__release + local.get $146 + call $~lib/rt/pure/__release + local.get $147 + call $~lib/rt/pure/__release + local.get $148 + call $~lib/rt/pure/__release + local.get $149 + call $~lib/rt/pure/__release + local.get $150 + call $~lib/rt/pure/__release + local.get $151 + call $~lib/rt/pure/__release + local.get $152 + call $~lib/rt/pure/__release + local.get $153 + call $~lib/rt/pure/__release + local.get $154 + call $~lib/rt/pure/__release + local.get $155 + call $~lib/rt/pure/__release + local.get $156 + call $~lib/rt/pure/__release + local.get $157 + call $~lib/rt/pure/__release + local.get $158 + call $~lib/rt/pure/__release + local.get $159 + call $~lib/rt/pure/__release + local.get $160 + call $~lib/rt/pure/__release + local.get $161 + call $~lib/rt/pure/__release + local.get $162 + call $~lib/rt/pure/__release + return end - global.get $std/string/str - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - local.get $10 - call $~lib/rt/pure/__release - local.get $11 - call $~lib/rt/pure/__release - local.get $12 - call $~lib/rt/pure/__release - local.get $13 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release - local.get $16 - call $~lib/rt/pure/__release - local.get $17 - call $~lib/rt/pure/__release - local.get $18 - call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release - local.get $20 - call $~lib/rt/pure/__release - local.get $21 - call $~lib/rt/pure/__release - local.get $22 - call $~lib/rt/pure/__release - local.get $23 - call $~lib/rt/pure/__release - local.get $24 - call $~lib/rt/pure/__release - local.get $25 - call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release - local.get $27 - call $~lib/rt/pure/__release - local.get $28 - call $~lib/rt/pure/__release - local.get $29 - call $~lib/rt/pure/__release - local.get $30 - call $~lib/rt/pure/__release - local.get $31 - call $~lib/rt/pure/__release - local.get $32 - call $~lib/rt/pure/__release - local.get $33 - call $~lib/rt/pure/__release - local.get $34 - call $~lib/rt/pure/__release - local.get $35 - call $~lib/rt/pure/__release - local.get $36 - call $~lib/rt/pure/__release - local.get $37 - call $~lib/rt/pure/__release - local.get $38 - call $~lib/rt/pure/__release - local.get $39 - call $~lib/rt/pure/__release - local.get $40 - call $~lib/rt/pure/__release - local.get $41 - call $~lib/rt/pure/__release - local.get $42 - call $~lib/rt/pure/__release - local.get $43 - call $~lib/rt/pure/__release - local.get $44 - call $~lib/rt/pure/__release - local.get $45 - call $~lib/rt/pure/__release - local.get $46 - call $~lib/rt/pure/__release - local.get $47 - call $~lib/rt/pure/__release - local.get $48 - call $~lib/rt/pure/__release - local.get $49 - call $~lib/rt/pure/__release - local.get $50 - call $~lib/rt/pure/__release - local.get $51 - call $~lib/rt/pure/__release - local.get $52 - call $~lib/rt/pure/__release - local.get $53 - call $~lib/rt/pure/__release - local.get $54 - call $~lib/rt/pure/__release - local.get $55 - call $~lib/rt/pure/__release - local.get $56 - call $~lib/rt/pure/__release - local.get $57 - call $~lib/rt/pure/__release - local.get $58 - call $~lib/rt/pure/__release - local.get $59 - call $~lib/rt/pure/__release - local.get $60 - call $~lib/rt/pure/__release - local.get $61 - call $~lib/rt/pure/__release - local.get $62 - call $~lib/rt/pure/__release - local.get $63 - call $~lib/rt/pure/__release - local.get $64 - call $~lib/rt/pure/__release - local.get $65 - call $~lib/rt/pure/__release - local.get $66 - call $~lib/rt/pure/__release - local.get $67 - call $~lib/rt/pure/__release - local.get $68 - call $~lib/rt/pure/__release - local.get $69 - call $~lib/rt/pure/__release - local.get $70 - call $~lib/rt/pure/__release - local.get $71 - call $~lib/rt/pure/__release - local.get $72 - call $~lib/rt/pure/__release - local.get $73 - call $~lib/rt/pure/__release - local.get $74 - call $~lib/rt/pure/__release - local.get $75 - call $~lib/rt/pure/__release - local.get $76 - call $~lib/rt/pure/__release - local.get $77 - call $~lib/rt/pure/__release - local.get $78 - call $~lib/rt/pure/__release - local.get $79 - call $~lib/rt/pure/__release - local.get $80 - call $~lib/rt/pure/__release - local.get $81 - call $~lib/rt/pure/__release - local.get $82 - call $~lib/rt/pure/__release - local.get $83 - call $~lib/rt/pure/__release - local.get $84 - call $~lib/rt/pure/__release - local.get $85 - call $~lib/rt/pure/__release - local.get $86 - call $~lib/rt/pure/__release - local.get $87 - call $~lib/rt/pure/__release - local.get $88 - call $~lib/rt/pure/__release - local.get $89 - call $~lib/rt/pure/__release - local.get $90 - call $~lib/rt/pure/__release - local.get $91 - call $~lib/rt/pure/__release - local.get $92 - call $~lib/rt/pure/__release - local.get $93 - call $~lib/rt/pure/__release - local.get $94 - call $~lib/rt/pure/__release - local.get $95 - call $~lib/rt/pure/__release - local.get $96 - call $~lib/rt/pure/__release - local.get $97 - call $~lib/rt/pure/__release - local.get $98 - call $~lib/rt/pure/__release - local.get $99 - call $~lib/rt/pure/__release - local.get $100 - call $~lib/rt/pure/__release - local.get $101 - call $~lib/rt/pure/__release - local.get $102 - call $~lib/rt/pure/__release - local.get $103 - call $~lib/rt/pure/__release - local.get $104 - call $~lib/rt/pure/__release - local.get $105 - call $~lib/rt/pure/__release - local.get $106 - call $~lib/rt/pure/__release - local.get $107 - call $~lib/rt/pure/__release - local.get $108 - call $~lib/rt/pure/__release - local.get $109 - call $~lib/rt/pure/__release - local.get $110 - call $~lib/rt/pure/__release - local.get $111 - call $~lib/rt/pure/__release - local.get $112 - call $~lib/rt/pure/__release - local.get $113 - call $~lib/rt/pure/__release - local.get $114 - call $~lib/rt/pure/__release - local.get $115 - call $~lib/rt/pure/__release - local.get $116 - call $~lib/rt/pure/__release - local.get $117 - call $~lib/rt/pure/__release - local.get $118 - call $~lib/rt/pure/__release - local.get $119 - call $~lib/rt/pure/__release - local.get $120 - call $~lib/rt/pure/__release - local.get $121 - call $~lib/rt/pure/__release - local.get $122 - call $~lib/rt/pure/__release - local.get $123 - call $~lib/rt/pure/__release - local.get $124 - call $~lib/rt/pure/__release - local.get $125 - call $~lib/rt/pure/__release - local.get $126 - call $~lib/rt/pure/__release - local.get $127 - call $~lib/rt/pure/__release - local.get $128 - call $~lib/rt/pure/__release - local.get $129 - call $~lib/rt/pure/__release - local.get $130 - call $~lib/rt/pure/__release - local.get $131 - call $~lib/rt/pure/__release - local.get $132 - call $~lib/rt/pure/__release - local.get $133 - call $~lib/rt/pure/__release - local.get $134 - call $~lib/rt/pure/__release - local.get $135 - call $~lib/rt/pure/__release - local.get $136 - call $~lib/rt/pure/__release - local.get $137 - call $~lib/rt/pure/__release - local.get $138 - call $~lib/rt/pure/__release - local.get $139 - call $~lib/rt/pure/__release - local.get $140 - call $~lib/rt/pure/__release - local.get $141 - call $~lib/rt/pure/__release - local.get $142 - call $~lib/rt/pure/__release - local.get $143 - call $~lib/rt/pure/__release - local.get $144 - call $~lib/rt/pure/__release - local.get $145 - call $~lib/rt/pure/__release - local.get $146 - call $~lib/rt/pure/__release - local.get $147 - call $~lib/rt/pure/__release - local.get $148 - call $~lib/rt/pure/__release - local.get $149 - call $~lib/rt/pure/__release - local.get $150 - call $~lib/rt/pure/__release - local.get $151 - call $~lib/rt/pure/__release - local.get $152 - call $~lib/rt/pure/__release - local.get $153 - call $~lib/rt/pure/__release - local.get $154 - call $~lib/rt/pure/__release - local.get $155 - call $~lib/rt/pure/__release - local.get $156 - call $~lib/rt/pure/__release - local.get $157 - call $~lib/rt/pure/__release - local.get $158 - call $~lib/rt/pure/__release - local.get $159 - call $~lib/rt/pure/__release - local.get $160 - call $~lib/rt/pure/__release - local.get $161 - call $~lib/rt/pure/__release - local.get $162 - call $~lib/rt/pure/__release + i32.const 7848 + i32.const 72 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $std/string/getString (; 90 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 92 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str call $~lib/rt/pure/__retain ) - (func $start (; 91 ;) (type $FUNCSIG$v) + (func $start (; 93 ;) (type $FUNCSIG$v) global.get $~lib/started if return @@ -13601,7 +15121,7 @@ end call $start:std/string ) - (func $~lib/rt/pure/markGray (; 92 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 94 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -13628,7 +15148,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 93 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 95 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -13645,7 +15165,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 94 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 96 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -13682,7 +15202,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 95 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 97 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -13720,7 +15240,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 96 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 98 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -13766,6 +15286,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -13854,7 +15378,7 @@ end end ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 97 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 99 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13883,6 +15407,10 @@ local.get $4 local.get $1 call $~lib/rt/pure/__visit + global.get $~lib/error + if + return + end end local.get $2 i32.const 4 @@ -13893,38 +15421,65 @@ unreachable end ) - (func $~lib/array/Array#__visit_impl (; 98 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 100 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 99 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 101 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 100 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 102 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 101 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 103 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/__visit_members (; 102 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 104 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$9 - block $switch$1$case$8 - block $switch$1$case$7 - block $switch$1$case$6 - block $switch$1$case$5 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$7 $switch$1$case$8 $switch$1$case$9 $switch$1$default + block $switch$1$case$11 + block $switch$1$case$10 + block $switch$1$case$9 + block $switch$1$case$8 + block $switch$1$case$7 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$5 $switch$1$case$7 $switch$1$case$8 $switch$1$case$9 $switch$1$case$10 $switch$1$case$11 $switch$1$default + end + return end - return + br $block$4$break + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end - br $block$4$break + return end local.get $0 local.get $1 @@ -13963,6 +15518,6 @@ end return ) - (func $null (; 103 ;) (type $FUNCSIG$v) + (func $null (; 105 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/symbol.optimized.wat b/tests/compiler/std/symbol.optimized.wat index 837acceace..df8aae0341 100644 --- a/tests/compiler/std/symbol.optimized.wat +++ b/tests/compiler/std/symbol.optimized.wat @@ -12,27 +12,30 @@ (memory $0 1) (data (i32.const 8) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\002\003") (data (i32.const 32) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s") - (data (i32.const 80) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 128) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 188) "\01\00\00\00\01") - (data (i32.const 200) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") - (data (i32.const 240) "$\00\00\00\01\00\00\00\01\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 296) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") - (data (i32.const 328) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00m\00a\00t\00c\00h") - (data (i32.const 360) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") - (data (i32.const 392) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") - (data (i32.const 424) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") - (data (i32.const 456) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00s\00p\00l\00i\00t") - (data (i32.const 488) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") - (data (i32.const 528) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") - (data (i32.const 568) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") - (data (i32.const 608) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") - (data (i32.const 640) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l") - (data (i32.const 664) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00)") - (data (i32.const 688) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") - (data (i32.const 720) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") - (data (i32.const 760) "&\00\00\00\01\00\00\00\01\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 816) "4\00\00\00\01\00\00\00\01\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 80) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 116) "\01\00\00\00\01") + (data (i32.const 128) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 168) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 216) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") + (data (i32.const 256) "$\00\00\00\01\00\00\00\01\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 312) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") + (data (i32.const 344) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00m\00a\00t\00c\00h") + (data (i32.const 376) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") + (data (i32.const 408) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") + (data (i32.const 440) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") + (data (i32.const 472) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00s\00p\00l\00i\00t") + (data (i32.const 504) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") + (data (i32.const 544) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") + (data (i32.const 584) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") + (data (i32.const 624) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") + (data (i32.const 656) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l") + (data (i32.const 680) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00)") + (data (i32.const 704) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") + (data (i32.const 736) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") + (data (i32.const 776) "&\00\00\00\01\00\00\00\01\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 832) "4\00\00\00\01\00\00\00\01\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 904) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (global $~lib/error (mut i32) (i32.const 0)) (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)) @@ -137,7 +140,27 @@ i32.store offset=12 local.get $3 ) - (func $~lib/memory/memory.fill (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/error/Error#constructor (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/stub/__alloc + local.set $0 + end + local.get $0 + i32.const 96 + i32.store + local.get $0 + i32.const 128 + i32.store offset=4 + local.get $0 + i32.const 184 + i32.store offset=8 + local.get $0 + ) + (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -346,18 +369,26 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 1073741808 i32.gt_u if - i32.const 96 + i32.const 12 + i32.const 5 + call $~lib/rt/stub/__alloc + call $~lib/error/Error#constructor + local.tee $0 + i32.load + drop + local.get $0 i32.const 144 - i32.const 56 - i32.const 42 - call $~lib/builtins/abort - unreachable + i32.store + local.get $0 + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 0 @@ -367,12 +398,16 @@ call $~lib/memory/memory.fill local.get $1 ) - (func $~lib/map/Map<~lib/string/String,usize>#clear (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map<~lib/string/String,usize>#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.load drop local.get $0 @@ -384,7 +419,11 @@ i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.load offset=8 drop local.get $0 @@ -400,7 +439,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map<~lib/string/String,usize>#constructor (; 6 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map<~lib/string/String,usize>#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 i32.const 3 @@ -425,12 +464,17 @@ i32.store offset=20 local.get $0 call $~lib/map/Map<~lib/string/String,usize>#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 8 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - i32.const 4 + i32.const 6 call $~lib/rt/stub/__alloc local.tee $0 i32.const 0 @@ -452,9 +496,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map<~lib/string/String,usize>#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/string/String#get:length (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -462,7 +511,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/util/hash/hashStr (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hashStr (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -501,7 +550,7 @@ end local.get $1 ) - (func $~lib/util/string/compareImpl (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/compareImpl (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) loop $continue|0 local.get $2 @@ -534,7 +583,7 @@ end local.get $3 ) - (func $~lib/string/String.__eq (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -566,7 +615,7 @@ end i32.const 0 ) - (func $~lib/map/Map<~lib/string/String,usize>#find (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map<~lib/string/String,usize>#find (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load local.get $0 @@ -609,7 +658,7 @@ end i32.const 0 ) - (func $~lib/map/Map<~lib/string/String,usize>#rehash (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map<~lib/string/String,usize>#rehash (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -625,6 +674,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $4 + global.get $~lib/error + if + return + end local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 @@ -635,6 +688,10 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.tee $3 @@ -716,7 +773,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map<~lib/string/String,usize>#set (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map<~lib/string/String,usize>#set (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -759,6 +816,10 @@ i32.or end call $~lib/map/Map<~lib/string/String,usize>#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -805,7 +866,7 @@ i32.store end ) - (func $~lib/util/hash/hash32 (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -836,7 +897,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/map/Map#find (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -879,7 +940,7 @@ end i32.const 0 ) - (func $~lib/map/Map#rehash (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -895,6 +956,10 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.set $4 + global.get $~lib/error + if + return + end local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 @@ -905,6 +970,10 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 + global.get $~lib/error + if + return + end local.get $0 i32.load offset=8 local.tee $3 @@ -986,7 +1055,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1036,6 +1105,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -1082,7 +1155,7 @@ i32.store end ) - (func $~lib/symbol/_Symbol.for (; 19 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/symbol/_Symbol.for (; 20 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) global.get $~lib/symbol/stringToId if @@ -1106,8 +1179,18 @@ end else call $~lib/map/Map<~lib/string/String,usize>#constructor + global.get $~lib/error + if + i32.const 0 + return + end global.set $~lib/symbol/stringToId call $~lib/map/Map#constructor + global.get $~lib/error + if + i32.const 0 + return + end global.set $~lib/symbol/idToString end global.get $~lib/symbol/nextId @@ -1123,12 +1206,22 @@ global.get $~lib/symbol/stringToId local.get $0 call $~lib/map/Map<~lib/string/String,usize>#set + global.get $~lib/error + if + i32.const 0 + return + end global.get $~lib/symbol/idToString local.get $0 call $~lib/map/Map#set + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#has (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1137,7 +1230,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#get (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1151,7 +1244,7 @@ unreachable end ) - (func $~lib/symbol/_Symbol.keyFor (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/symbol/_Symbol.keyFor (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) global.get $~lib/symbol/idToString if (result i32) global.get $~lib/symbol/idToString @@ -1168,7 +1261,7 @@ i32.const 0 end ) - (func $~lib/memory/memory.copy (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) block $~lib/util/memory/memmove|inlined.0 @@ -1343,7 +1436,7 @@ end end ) - (func $~lib/string/String#concat (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1353,7 +1446,7 @@ i32.shl local.tee $3 local.get $1 - i32.const 656 + i32.const 672 local.get $1 select local.tee $1 @@ -1365,7 +1458,7 @@ local.tee $2 i32.eqz if - i32.const 200 + i32.const 128 return end local.get $2 @@ -1383,16 +1476,16 @@ call $~lib/memory/memory.copy local.get $2 ) - (func $~lib/string/String.__concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.const 656 + i32.const 672 local.get $0 select local.get $1 call $~lib/string/String#concat ) - (func $~lib/symbol/_Symbol#toString (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 624 + (func $~lib/symbol/_Symbol#toString (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 640 block $break|0 (result i32) block $case11|0 block $case10|0 @@ -1421,37 +1514,37 @@ end br $case11|0 end - i32.const 216 + i32.const 232 br $break|0 end - i32.const 256 + i32.const 272 br $break|0 end - i32.const 312 + i32.const 328 br $break|0 end - i32.const 344 + i32.const 360 br $break|0 end - i32.const 376 + i32.const 392 br $break|0 end - i32.const 408 + i32.const 424 br $break|0 end - i32.const 440 + i32.const 456 br $break|0 end - i32.const 472 + i32.const 488 br $break|0 end - i32.const 504 + i32.const 520 br $break|0 end - i32.const 544 + i32.const 560 br $break|0 end - i32.const 584 + i32.const 600 br $break|0 end global.get $~lib/symbol/idToString @@ -1467,14 +1560,14 @@ local.get $0 call $~lib/map/Map#get else - i32.const 200 + i32.const 128 end end call $~lib/string/String.__concat - i32.const 680 + i32.const 696 call $~lib/string/String.__concat ) - (func $start:std/symbol (; 27 ;) (type $FUNCSIG$v) + (func $start:std/symbol (; 28 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 24 call $~lib/symbol/Symbol @@ -1493,153 +1586,168 @@ call $~lib/builtins/abort unreachable end - i32.const 896 + i32.const 960 global.set $~lib/rt/stub/startOffset global.get $~lib/rt/stub/startOffset global.set $~lib/rt/stub/offset call $~lib/symbol/_Symbol.for - global.set $std/symbol/sym3 - 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 48 - i32.const 9 - i32.const 0 - 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 $std/symbol/key1 - if - i32.const 0 - i32.const 48 - i32.const 14 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/key2 - if - i32.const 0 - i32.const 48 - i32.const 15 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/sym3 - call $~lib/symbol/_Symbol.keyFor - local.tee $0 - i32.eqz - if - unreachable - end - local.get $0 - global.set $std/symbol/key3 - global.get $std/symbol/sym4 - call $~lib/symbol/_Symbol.keyFor - local.tee $0 - i32.eqz - if - unreachable - end - local.get $0 - global.set $std/symbol/key4 - global.get $std/symbol/key3 - i32.const 24 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 20 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/key3 - global.get $std/symbol/key4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 21 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/symbol/Symbol - call $~lib/symbol/_Symbol#toString - i32.const 704 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 23 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/sym3 - call $~lib/symbol/_Symbol#toString - i32.const 736 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 + local.set $0 + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + local.get $0 + global.set $std/symbol/sym3 + call $~lib/symbol/_Symbol.for + global.get $~lib/error + br_if $uncaughtError + global.set $std/symbol/sym4 + global.get $std/symbol/sym3 + global.get $std/symbol/sym4 + i32.ne + if + i32.const 0 + i32.const 48 + i32.const 9 + i32.const 0 + 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 $std/symbol/key1 + if + i32.const 0 + i32.const 48 + i32.const 14 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/key2 + if + i32.const 0 + i32.const 48 + i32.const 15 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/sym3 + call $~lib/symbol/_Symbol.keyFor + local.tee $0 + i32.eqz + if + unreachable + end + local.get $0 + global.set $std/symbol/key3 + global.get $std/symbol/sym4 + call $~lib/symbol/_Symbol.keyFor + local.tee $0 + i32.eqz + if + unreachable + end + local.get $0 + global.set $std/symbol/key4 + global.get $std/symbol/key3 i32.const 24 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 20 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/key3 + global.get $std/symbol/key4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 21 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $~lib/builtins/abort - unreachable + call $~lib/symbol/Symbol + call $~lib/symbol/_Symbol#toString + i32.const 720 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/sym3 + call $~lib/symbol/_Symbol#toString + i32.const 752 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 24 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $std/symbol/hasInstance + i32.const 2 + global.set $std/symbol/isConcatSpreadable + global.get $std/symbol/hasInstance + call $~lib/symbol/_Symbol#toString + i32.const 792 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 28 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/isConcatSpreadable + call $~lib/symbol/_Symbol#toString + i32.const 848 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 29 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + return end + i32.const 920 + i32.const 48 i32.const 1 - global.set $std/symbol/hasInstance - i32.const 2 - global.set $std/symbol/isConcatSpreadable - global.get $std/symbol/hasInstance - call $~lib/symbol/_Symbol#toString - i32.const 776 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 28 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/isConcatSpreadable - call $~lib/symbol/_Symbol#toString - i32.const 832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 29 - i32.const 0 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 28 ;) (type $FUNCSIG$v) + (func $start (; 29 ;) (type $FUNCSIG$v) call $start:std/symbol ) - (func $null (; 29 ;) (type $FUNCSIG$v) + (func $null (; 30 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/symbol.untouched.wat b/tests/compiler/std/symbol.untouched.wat index 42fda0507b..b2b2daf1eb 100644 --- a/tests/compiler/std/symbol.untouched.wat +++ b/tests/compiler/std/symbol.untouched.wat @@ -12,29 +12,32 @@ (memory $0 1) (data (i32.const 8) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\002\003\00") (data (i32.const 32) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s\00") - (data (i32.const 80) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 128) "&\00\00\00\01\00\00\00\01\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") - (data (i32.const 184) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 200) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00") - (data (i32.const 240) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00") - (data (i32.const 296) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00") - (data (i32.const 328) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00m\00a\00t\00c\00h\00") - (data (i32.const 360) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00") - (data (i32.const 392) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") - (data (i32.const 424) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00") - (data (i32.const 456) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00s\00p\00l\00i\00t\00") - (data (i32.const 488) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00") - (data (i32.const 528) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00") - (data (i32.const 568) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00") - (data (i32.const 608) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00") - (data (i32.const 640) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00") - (data (i32.const 664) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00)\00") - (data (i32.const 688) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00") - (data (i32.const 720) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00") - (data (i32.const 760) "&\00\00\00\01\00\00\00\01\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") - (data (i32.const 816) "4\00\00\00\01\00\00\00\01\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") + (data (i32.const 80) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 112) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 128) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 168) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 216) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00") + (data (i32.const 256) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00") + (data (i32.const 312) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00") + (data (i32.const 344) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00m\00a\00t\00c\00h\00") + (data (i32.const 376) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00") + (data (i32.const 408) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") + (data (i32.const 440) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00") + (data (i32.const 472) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00s\00p\00l\00i\00t\00") + (data (i32.const 504) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00") + (data (i32.const 544) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00") + (data (i32.const 584) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00") + (data (i32.const 624) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00") + (data (i32.const 656) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00n\00u\00l\00l\00") + (data (i32.const 680) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00)\00") + (data (i32.const 704) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00") + (data (i32.const 736) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00") + (data (i32.const 776) "&\00\00\00\01\00\00\00\01\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") + (data (i32.const 832) "4\00\00\00\01\00\00\00\01\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") + (data (i32.const 904) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (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)) @@ -53,7 +56,7 @@ (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/heap/__heap_base i32 (i32.const 884)) + (global $~lib/heap/__heap_base i32 (i32.const 948)) (export "memory" (memory $0)) (start $start) (func $~lib/rt/stub/__retain (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -178,7 +181,74 @@ i32.store offset=12 local.get $2 ) - (func $~lib/memory/memory.fill (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/error/Error#constructor (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + local.set $0 + end + local.get $0 + i32.const 96 + call $~lib/rt/stub/__retain + i32.store + local.get $0 + i32.const 128 + call $~lib/rt/stub/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/stub/__retain + drop + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 5 + call $~lib/rt/stub/__alloc + call $~lib/rt/stub/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 144 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne + if + local.get $3 + call $~lib/rt/stub/__retain + drop + local.get $2 + call $~lib/rt/stub/__release + end + local.get $3 + i32.store + local.get $1 + call $~lib/rt/stub/__release + local.get $0 + ) + (func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -442,18 +512,18 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 i32.const 1073741808 i32.gt_u if - i32.const 96 - i32.const 144 - i32.const 56 - i32.const 42 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 184 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 i32.const 0 @@ -466,7 +536,7 @@ local.get $2 call $~lib/rt/stub/__retain ) - (func $~lib/map/Map<~lib/string/String,usize>#clear (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map<~lib/string/String,usize>#clear (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -474,6 +544,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -490,6 +566,12 @@ i32.const 0 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -506,7 +588,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map<~lib/string/String,usize>#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map<~lib/string/String,usize>#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -536,9 +618,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map<~lib/string/String,usize>#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/map/Map#clear (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -546,6 +633,12 @@ i32.const 0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.set $2 local.get $1 i32.load @@ -562,6 +655,12 @@ i32.const 0 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $1 local.get $2 i32.load offset=8 @@ -578,12 +677,12 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 24 - i32.const 4 + i32.const 6 call $~lib/rt/stub/__alloc call $~lib/rt/stub/__retain local.set $0 @@ -608,9 +707,14 @@ i32.store offset=20 local.get $0 call $~lib/map/Map#clear + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 ) - (func $~lib/string/String#get:length (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -618,7 +722,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/util/hash/hashStr (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hashStr (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -669,7 +773,7 @@ call $~lib/rt/stub/__release local.get $3 ) - (func $~lib/util/string/compareImpl (; 13 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/string/compareImpl (; 15 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -734,7 +838,7 @@ call $~lib/rt/stub/__release local.get $8 ) - (func $~lib/string/String.__eq (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -807,7 +911,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/map/Map<~lib/string/String,usize>#find (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map<~lib/string/String,usize>#find (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $1 @@ -867,7 +971,7 @@ call $~lib/rt/stub/__release local.get $4 ) - (func $~lib/map/Map<~lib/string/String,usize>#has (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map<~lib/string/String,usize>#has (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -895,7 +999,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/map/Map<~lib/string/String,usize>#get (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map<~lib/string/String,usize>#get (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -930,7 +1034,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/map/Map<~lib/string/String,usize>#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map<~lib/string/String,usize>#rehash (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -952,57 +1056,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load i32.store local.get $10 - local.get $9 + local.get $3 i32.load offset=4 i32.store offset=4 block $~lib/util/hash/HASH<~lib/string/String>|inlined.3 (result i32) - local.get $9 + local.get $3 i32.load call $~lib/rt/stub/__retain local.set $11 @@ -1017,7 +1133,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -1028,34 +1144,34 @@ i32.load i32.store offset=8 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 12 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 12 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/stub/__retain drop - local.get $9 + local.get $3 call $~lib/rt/stub/__release end local.get $10 @@ -1065,7 +1181,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -1081,18 +1197,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/stub/__release - local.get $5 + local.get $6 call $~lib/rt/stub/__release ) - (func $~lib/map/Map<~lib/string/String,usize>#set (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map<~lib/string/String,usize>#set (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1152,6 +1268,10 @@ i32.or end call $~lib/map/Map<~lib/string/String,usize>#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -1206,7 +1326,7 @@ local.get $1 call $~lib/rt/stub/__release ) - (func $~lib/util/hash/hash32 (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -1248,7 +1368,7 @@ local.set $1 local.get $1 ) - (func $~lib/map/Map#find (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load @@ -1296,7 +1416,7 @@ end i32.const 0 ) - (func $~lib/map/Map#rehash (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1318,57 +1438,69 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $2 f64.convert_i32_s f64.const 2.6666666666666665 f64.mul i32.trunc_f64_s - local.set $4 + local.set $5 i32.const 0 - local.get $4 + local.get $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $6 local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $7 + local.get $7 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $7 - local.get $5 local.set $8 + local.get $6 + local.set $9 block $break|0 loop $continue|0 - local.get $6 local.get $7 + local.get $8 i32.ne i32.eqz br_if $break|0 - local.get $6 - local.set $9 - local.get $9 + local.get $7 + local.set $3 + local.get $3 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 + local.get $9 local.set $10 local.get $10 - local.get $9 + local.get $3 i32.load i32.store local.get $10 - local.get $9 + local.get $3 i32.load offset=4 i32.store offset=4 block $~lib/util/hash/HASH|inlined.1 (result i32) - local.get $9 + local.get $3 i32.load local.set $11 local.get $11 @@ -1378,7 +1510,7 @@ local.get $1 i32.and local.set $11 - local.get $3 + local.get $4 local.get $11 i32.const 4 i32.mul @@ -1389,34 +1521,34 @@ i32.load i32.store offset=8 local.get $12 - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 12 i32.add - local.set $8 + local.set $9 end - local.get $6 + local.get $7 i32.const 12 i32.add - local.set $6 + local.set $7 br $continue|0 end unreachable end local.get $0 - local.tee $9 - local.get $3 + local.tee $3 + local.get $4 local.tee $10 - local.get $9 + local.get $3 i32.load - local.tee $9 + local.tee $3 i32.ne if local.get $10 call $~lib/rt/stub/__retain drop - local.get $9 + local.get $3 call $~lib/rt/stub/__release end local.get $10 @@ -1426,7 +1558,7 @@ i32.store offset=4 local.get $0 local.tee $10 - local.get $5 + local.get $6 local.tee $11 local.get $10 i32.load offset=8 @@ -1442,18 +1574,18 @@ local.get $11 i32.store offset=8 local.get $0 - local.get $4 + local.get $5 i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 i32.store offset=16 - local.get $3 + local.get $4 call $~lib/rt/stub/__release - local.get $5 + local.get $6 call $~lib/rt/stub/__release ) - (func $~lib/map/Map#set (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1519,6 +1651,10 @@ i32.or end call $~lib/map/Map#rehash + global.get $~lib/error + if + return + end end local.get $0 i32.load offset=8 @@ -1573,7 +1709,7 @@ local.get $2 call $~lib/rt/stub/__release ) - (func $~lib/symbol/_Symbol.for (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/symbol/_Symbol.for (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -1585,6 +1721,13 @@ i32.const 0 call $~lib/map/Map<~lib/string/String,usize>#constructor local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.set $1 global.get $~lib/symbol/stringToId call $~lib/rt/stub/__release local.get $1 @@ -1592,6 +1735,13 @@ i32.const 0 call $~lib/map/Map#constructor local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $1 + local.set $1 global.get $~lib/symbol/idToString call $~lib/rt/stub/__release local.get $1 @@ -1627,17 +1777,27 @@ local.get $0 local.get $2 call $~lib/map/Map<~lib/string/String,usize>#set + global.get $~lib/error + if + i32.const 0 + return + end global.get $~lib/symbol/idToString local.get $2 local.get $0 call $~lib/map/Map#set + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 local.set $1 local.get $0 call $~lib/rt/stub/__release local.get $1 ) - (func $~lib/map/Map#has (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -1652,7 +1812,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#get (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1678,7 +1838,7 @@ end call $~lib/rt/stub/__retain ) - (func $~lib/symbol/_Symbol.keyFor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/symbol/_Symbol.keyFor (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) global.get $~lib/symbol/idToString i32.const 0 i32.ne @@ -1698,7 +1858,7 @@ call $~lib/rt/stub/__retain end ) - (func $~lib/util/memory/memcpy (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2726,7 +2886,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 29 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2951,7 +3111,7 @@ end end ) - (func $~lib/string/String#concat (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2965,7 +3125,7 @@ i32.const 0 i32.eq if - i32.const 656 + i32.const 672 local.tee $2 local.get $1 local.tee $3 @@ -2998,7 +3158,7 @@ i32.const 0 i32.eq if - i32.const 200 + i32.const 128 call $~lib/rt/stub/__retain local.set $2 local.get $1 @@ -3027,7 +3187,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/string/String.__concat (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/stub/__retain @@ -3036,7 +3196,7 @@ call $~lib/rt/stub/__retain drop local.get $0 - i32.const 656 + i32.const 672 local.get $0 i32.const 0 i32.ne @@ -3050,7 +3210,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/symbol/_Symbol#toString (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/symbol/_Symbol#toString (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3058,7 +3218,7 @@ (local $5 i32) local.get $0 local.set $1 - i32.const 200 + i32.const 128 call $~lib/rt/stub/__retain local.set $2 block $break|0 @@ -3122,7 +3282,7 @@ br_if $case10|0 br $case11|0 end - i32.const 216 + i32.const 232 local.tee $3 local.get $2 local.tee $4 @@ -3138,7 +3298,7 @@ local.set $2 br $break|0 end - i32.const 256 + i32.const 272 local.tee $4 local.get $2 local.tee $3 @@ -3154,7 +3314,7 @@ local.set $2 br $break|0 end - i32.const 312 + i32.const 328 local.tee $3 local.get $2 local.tee $4 @@ -3170,7 +3330,7 @@ local.set $2 br $break|0 end - i32.const 344 + i32.const 360 local.tee $4 local.get $2 local.tee $3 @@ -3186,7 +3346,7 @@ local.set $2 br $break|0 end - i32.const 376 + i32.const 392 local.tee $3 local.get $2 local.tee $4 @@ -3202,7 +3362,7 @@ local.set $2 br $break|0 end - i32.const 408 + i32.const 424 local.tee $4 local.get $2 local.tee $3 @@ -3218,7 +3378,7 @@ local.set $2 br $break|0 end - i32.const 440 + i32.const 456 local.tee $3 local.get $2 local.tee $4 @@ -3234,7 +3394,7 @@ local.set $2 br $break|0 end - i32.const 472 + i32.const 488 local.tee $4 local.get $2 local.tee $3 @@ -3250,7 +3410,7 @@ local.set $2 br $break|0 end - i32.const 504 + i32.const 520 local.tee $3 local.get $2 local.tee $4 @@ -3266,7 +3426,7 @@ local.set $2 br $break|0 end - i32.const 544 + i32.const 560 local.tee $4 local.get $2 local.tee $3 @@ -3282,7 +3442,7 @@ local.set $2 br $break|0 end - i32.const 584 + i32.const 600 local.tee $3 local.get $2 local.tee $4 @@ -3320,11 +3480,11 @@ end br $break|0 end - i32.const 624 + i32.const 640 local.get $2 call $~lib/string/String.__concat local.tee $4 - i32.const 680 + i32.const 696 call $~lib/string/String.__concat local.tee $3 call $~lib/rt/stub/__retain @@ -3337,208 +3497,229 @@ call $~lib/rt/stub/__release local.get $5 ) - (func $start:std/symbol (; 33 ;) (type $FUNCSIG$v) + (func $start:std/symbol (; 35 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 24 - call $~lib/symbol/Symbol - global.set $std/symbol/sym1 - i32.const 24 - call $~lib/symbol/Symbol - global.set $std/symbol/sym2 - global.get $std/symbol/sym1 - global.get $std/symbol/sym2 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 4 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/heap/__heap_base - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - global.set $~lib/rt/stub/startOffset - global.get $~lib/rt/stub/startOffset - global.set $~lib/rt/stub/offset - i32.const 24 - call $~lib/symbol/_Symbol.for - global.set $std/symbol/sym3 - i32.const 24 - call $~lib/symbol/_Symbol.for - global.set $std/symbol/sym4 - global.get $std/symbol/sym3 - global.get $std/symbol/sym4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 9 - i32.const 0 - 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 $std/symbol/key1 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 14 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/key2 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 48 + block $uncaughtError + i32.const 24 + call $~lib/symbol/Symbol + global.set $std/symbol/sym1 + i32.const 24 + call $~lib/symbol/Symbol + global.set $std/symbol/sym2 + global.get $std/symbol/sym1 + global.get $std/symbol/sym2 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 4 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/heap/__heap_base i32.const 15 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/sym3 - call $~lib/symbol/_Symbol.keyFor - local.tee $0 - if (result i32) + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + i32.const 24 + call $~lib/symbol/_Symbol.for + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end local.get $0 - else - unreachable - end - call $~lib/rt/stub/__retain - global.set $std/symbol/key3 - global.get $std/symbol/sym4 - call $~lib/symbol/_Symbol.keyFor - local.tee $0 - if (result i32) + global.set $std/symbol/sym3 + i32.const 24 + call $~lib/symbol/_Symbol.for + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end local.get $0 - else - unreachable - end - call $~lib/rt/stub/__retain - global.set $std/symbol/key4 - global.get $std/symbol/key3 - i32.const 24 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 20 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/key3 - global.get $std/symbol/key4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 21 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/symbol/Symbol - call $~lib/symbol/_Symbol#toString - local.tee $0 - i32.const 704 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 23 + global.set $std/symbol/sym4 + global.get $std/symbol/sym3 + global.get $std/symbol/sym4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 9 + i32.const 0 + 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 $std/symbol/key1 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/sym3 - call $~lib/symbol/_Symbol#toString - local.tee $1 - i32.const 736 - call $~lib/string/String.__eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 14 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/key2 i32.const 0 - i32.const 48 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 15 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/sym3 + call $~lib/symbol/_Symbol.keyFor + local.tee $0 + if (result i32) + local.get $0 + else + unreachable + end + call $~lib/rt/stub/__retain + global.set $std/symbol/key3 + global.get $std/symbol/sym4 + call $~lib/symbol/_Symbol.keyFor + local.tee $0 + if (result i32) + local.get $0 + else + unreachable + end + call $~lib/rt/stub/__retain + global.set $std/symbol/key4 + global.get $std/symbol/key3 i32.const 24 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 20 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/key3 + global.get $std/symbol/key4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 21 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/symbol/_Symbol.hasInstance - global.set $std/symbol/hasInstance - global.get $~lib/symbol/_Symbol.isConcatSpreadable - global.set $std/symbol/isConcatSpreadable - global.get $std/symbol/hasInstance - call $~lib/symbol/_Symbol#toString - local.tee $2 - i32.const 776 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 28 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/isConcatSpreadable - call $~lib/symbol/_Symbol#toString - local.tee $3 - i32.const 832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 48 - i32.const 29 - i32.const 0 - call $~lib/builtins/abort - unreachable + call $~lib/symbol/Symbol + call $~lib/symbol/_Symbol#toString + local.tee $0 + i32.const 720 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 23 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/sym3 + call $~lib/symbol/_Symbol#toString + local.tee $1 + i32.const 752 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 24 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/symbol/_Symbol.hasInstance + global.set $std/symbol/hasInstance + global.get $~lib/symbol/_Symbol.isConcatSpreadable + global.set $std/symbol/isConcatSpreadable + global.get $std/symbol/hasInstance + call $~lib/symbol/_Symbol#toString + local.tee $2 + i32.const 792 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 28 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/isConcatSpreadable + call $~lib/symbol/_Symbol#toString + local.tee $3 + i32.const 848 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 48 + i32.const 29 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/symbol/_Symbol.hasInstance + drop + global.get $~lib/symbol/_Symbol.isConcatSpreadable + drop + local.get $0 + call $~lib/rt/stub/__release + local.get $1 + call $~lib/rt/stub/__release + local.get $2 + call $~lib/rt/stub/__release + local.get $3 + call $~lib/rt/stub/__release + return end - global.get $~lib/symbol/_Symbol.hasInstance - drop - global.get $~lib/symbol/_Symbol.isConcatSpreadable - drop - local.get $0 - call $~lib/rt/stub/__release - local.get $1 - call $~lib/rt/stub/__release - local.get $2 - call $~lib/rt/stub/__release - local.get $3 - call $~lib/rt/stub/__release + i32.const 920 + i32.const 48 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 34 ;) (type $FUNCSIG$v) + (func $start (; 36 ;) (type $FUNCSIG$v) call $start:std/symbol ) - (func $null (; 35 ;) (type $FUNCSIG$v) + (func $null (; 37 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/trace.untouched.wat b/tests/compiler/std/trace.untouched.wat index affdaeadbc..2e79f81e67 100644 --- a/tests/compiler/std/trace.untouched.wat +++ b/tests/compiler/std/trace.untouched.wat @@ -13,6 +13,7 @@ (data (i32.const 272) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) (export "__start" (func $start)) (export "memory" (memory $0)) diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 913493a642..9f7c457763 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -3,9 +3,9 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viid (func (param i32 i32 f64))) (type $FUNCSIG$idd (func (param f64 f64) (result i32))) @@ -32,51 +32,52 @@ (type $FUNCSIG$ff (func (param f32) (result f32))) (type $FUNCSIG$dd (func (param f64) (result f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (memory $0 1) (data (i32.const 8) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 64) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 112) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 168) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 216) "(\00\00\00\01\00\00\00\01\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 272) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") - (data (i32.const 320) "$\00\00\00\01\00\00\00\01\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 376) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 416) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 472) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\01\04\05") - (data (i32.const 496) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 544) "\05\00\00\00\01\00\00\00\00\00\00\00\05") - (data (i32.const 568) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01") - (data (i32.const 592) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 616) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 640) "\03\00\00\00\01\00\00\00\00\00\00\00\03") - (data (i32.const 664) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\00\00\00\02") - (data (i32.const 688) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") - (data (i32.const 728) "\14\00\00\00\01\00\00\00\00\00\00\00\14") - (data (i32.const 768) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01") - (data (i32.const 808) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 848) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 888) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c") - (data (i32.const 920) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01") - (data (i32.const 952) "\02") - (data (i32.const 960) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1008) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1064) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e") - (data (i32.const 1096) "\10\00\00\00\01\00\00\00\0f\00\00\00\10\00\00\008\04\00\008\04\00\00\0c\00\00\00\03") - (data (i32.const 1128) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1192) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1256) ">\00\00\00\01\00\00\00\01\00\00\00>\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1336) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00c\00a\00l\00l\00 \00c\00o\00u\00n\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1408) "$\00\00\00\01\00\00\00\00\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") - (data (i32.const 1464) "\10\00\00\00\01\00\00\00\0f\00\00\00\10\00\00\00\90\05\00\00\90\05\00\00$\00\00\00\t") - (data (i32.const 1496) "B\00\00\00\01\00\00\00\01\00\00\00B\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1584) "V\00\00\00\01\00\00\00\01\00\00\00V\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00w\00i\00t\00h\00 \00b\00y\00t\00e\00O\00f\00f\00s\00e\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1688) "\10\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\001\04\00\00\02\00\00\001\00\00\00\02\00\00\001\00\00\00\02\00\00\00Q\04\00\00\02\00\00\00Q\00\00\00\02\00\00\00\91\04\00\00\02\00\00\00\91\00\00\00\02\00\00\00\11\05\00\00\02\00\00\00\11\01\00\00\02\00\00\00\91\0c\00\00\02\00\00\00\11\0d\00\00\02\00\00\003\04\00\00\02\00\00\00\93\04\00\00\02") + (data (i32.const 64) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 160) "(\00\00\00\01\00\00\00\01\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 216) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 252) "\01\00\00\00\01") + (data (i32.const 264) "$\00\00\00\01\00\00\00\01\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 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r") + (data (i32.const 360) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 408) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\01\04\05") + (data (i32.const 432) "\05\00\00\00\01\00\00\00\00\00\00\00\05") + (data (i32.const 456) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01") + (data (i32.const 480) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 504) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 528) "\03\00\00\00\01\00\00\00\00\00\00\00\03") + (data (i32.const 552) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\00\00\00\02") + (data (i32.const 576) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") + (data (i32.const 616) "\14\00\00\00\01\00\00\00\00\00\00\00\14") + (data (i32.const 656) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01") + (data (i32.const 696) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 736) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 776) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c") + (data (i32.const 808) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01") + (data (i32.const 840) "\02") + (data (i32.const 848) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 896) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 952) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e") + (data (i32.const 984) "\10\00\00\00\01\00\00\00\11\00\00\00\10\00\00\00\c8\03\00\00\c8\03\00\00\0c\00\00\00\03") + (data (i32.const 1016) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1080) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1144) ">\00\00\00\01\00\00\00\01\00\00\00>\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1224) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00c\00a\00l\00l\00 \00c\00o\00u\00n\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1296) "$\00\00\00\01\00\00\00\00\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data (i32.const 1352) "\10\00\00\00\01\00\00\00\11\00\00\00\10\00\00\00 \05\00\00 \05\00\00$\00\00\00\t") + (data (i32.const 1384) "B\00\00\00\01\00\00\00\01\00\00\00B\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1472) "V\00\00\00\01\00\00\00\01\00\00\00V\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00w\00i\00t\00h\00 \00b\00y\00t\00e\00O\00f\00f\00s\00e\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1576) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r") + (data (i32.const 1624) "\12\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\001\04\00\00\02\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\001\00\00\00\02\00\00\001\00\00\00\02\00\00\00Q\04\00\00\02\00\00\00Q\00\00\00\02\00\00\00\91\04\00\00\02\00\00\00\91\00\00\00\02\00\00\00\11\05\00\00\02\00\00\00\11\01\00\00\02\00\00\00\91\0c\00\00\02\00\00\00\11\0d\00\00\02\00\00\003\04\00\00\02\00\00\00\93\04\00\00\02") (table $0 112 funcref) (elem (i32.const 0) $null $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) (global $~lib/rt/pure/END (mut i32) (i32.const 0)) @@ -84,12 +85,65 @@ (global $~lib/argc (mut i32) (i32.const 0)) (global $std/typedarray/forEachCallCount (mut i32) (i32.const 0)) (global $std/typedarray/forEachSelf (mut i32) (i32.const 0)) - (global $std/typedarray/forEachValues i32 (i32.const 1112)) - (global $std/typedarray/testArrayReverseValues i32 (i32.const 1480)) + (global $std/typedarray/forEachValues i32 (i32.const 1000)) + (global $std/typedarray/testArrayReverseValues i32 (i32.const 1368)) (global $~lib/started (mut i32) (i32.const 0)) (export "__start" (func $start)) (export "memory" (memory $0)) - (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne + if + i32.const 0 + i32.const 80 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 80 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1772 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -102,7 +156,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -124,7 +178,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -169,7 +223,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -255,7 +309,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -266,7 +320,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -280,7 +334,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -353,7 +407,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -410,7 +464,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -425,7 +479,7 @@ i32.ne if i32.const 0 - i32.const 184 + i32.const 128 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -475,7 +529,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -540,7 +594,7 @@ i32.or i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -561,7 +615,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -578,7 +632,7 @@ i32.lt_u if i32.const 0 - i32.const 184 + i32.const 128 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -606,7 +660,7 @@ i32.lt_u if i32.const 0 - i32.const 184 + i32.const 128 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -654,7 +708,7 @@ local.get $1 call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/tlsf/initializeRoot (; 8 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 10 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 1 @@ -674,10 +728,10 @@ if unreachable end - i32.const 1824 + i32.const 1776 i32.const 0 i32.store - i32.const 3392 + i32.const 3344 i32.const 0 i32.store i32.const 0 @@ -691,7 +745,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 1824 + i32.const 1776 i32.add i32.const 0 i32.store offset=4 @@ -710,7 +764,7 @@ i32.add i32.const 2 i32.shl - i32.const 1824 + i32.const 1776 i32.add i32.const 0 i32.store offset=96 @@ -728,26 +782,26 @@ br $loop|0 end end - i32.const 1824 - i32.const 3408 + i32.const 1776 + i32.const 3360 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 1824 + i32.const 1776 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 232 - i32.const 184 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 176 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -761,7 +815,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 i32.const 256 @@ -818,7 +872,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -870,7 +924,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -892,7 +946,7 @@ end end ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) memory.size local.tee $2 @@ -929,7 +983,7 @@ i32.shl call $~lib/rt/tlsf/addMemory ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -940,7 +994,7 @@ i32.and if i32.const 0 - i32.const 184 + i32.const 128 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -1005,13 +1059,19 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 local.get $1 call $~lib/rt/tlsf/prepareSize - local.tee $3 + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz @@ -1026,7 +1086,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 477 i32.const 15 call $~lib/builtins/abort @@ -1041,7 +1101,7 @@ i32.lt_u if i32.const 0 - i32.const 184 + i32.const 128 i32.const 479 i32.const 13 call $~lib/builtins/abort @@ -1064,7 +1124,7 @@ call $~lib/rt/rtrace/onalloc local.get $2 ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/rt/tlsf/ROOT local.tee $2 @@ -1076,65 +1136,18 @@ end local.get $0 call $~lib/rt/tlsf/allocateBlock - local.tee $0 - local.get $1 - i32.store offset=8 - local.get $0 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.ne + local.set $0 + global.get $~lib/error if i32.const 0 - i32.const 288 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end local.get $0 local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - if - i32.const 0 - i32.const 288 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 1820 - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end + i32.store offset=8 local.get $0 + i32.const 16 + i32.add ) (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) @@ -1145,7 +1158,7 @@ i32.and if i32.const 0 - i32.const 184 + i32.const 128 i32.const 531 i32.const 2 call $~lib/builtins/abort @@ -1164,21 +1177,21 @@ ) (func $~lib/rt/__typeinfo (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 1688 + i32.const 1624 i32.load i32.gt_u if - i32.const 336 - i32.const 392 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 3 i32.shl - i32.const 1692 + i32.const 1628 i32.add i32.load ) @@ -1362,7 +1375,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 561 i32.const 13 call $~lib/builtins/abort @@ -1378,7 +1391,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 562 i32.const 2 call $~lib/builtins/abort @@ -1411,7 +1424,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $0 + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 i32.const 16 i32.sub call $~lib/rt/rtrace/onfree @@ -1447,6 +1465,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -1461,6 +1483,7 @@ (func $~lib/rt/pure/decrement (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.tee $2 @@ -1475,7 +1498,7 @@ i32.and if i32.const 0 - i32.const 288 + i32.const 80 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -1508,7 +1531,7 @@ i32.le_u if i32.const 0 - i32.const 288 + i32.const 80 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -1517,6 +1540,10 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end i32.const 16 i32.and if @@ -1550,7 +1577,7 @@ ) (func $~lib/rt/pure/__release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 1820 + i32.const 1772 i32.gt_u if local.get $0 @@ -1559,7 +1586,67 @@ call $~lib/rt/pure/decrement end ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 25 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/error/Error#constructor (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 232 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 264 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/error/RangeError#constructor (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.get $0 + call $~lib/error/Error#constructor + local.tee $1 + local.get $1 + i32.load + local.tee $3 + i32.const 336 + i32.ne + if + i32.const 336 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release + end + i32.const 336 + i32.store + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 27 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $1 i32.const 1073741808 @@ -1567,12 +1654,11 @@ i32.shr_u i32.gt_u if - i32.const 80 - i32.const 128 - i32.const 14 - i32.const 56 - call $~lib/builtins/abort - unreachable + i32.const 376 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 local.get $2 @@ -1581,6 +1667,11 @@ i32.const 0 call $~lib/rt/tlsf/__alloc local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 i32.eqz if @@ -1622,7 +1713,7 @@ i32.store offset=8 local.get $0 ) - (func $~lib/typedarray/Int8Array#constructor (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#constructor (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 i32.const 3 call $~lib/rt/tlsf/__alloc @@ -1630,123 +1721,178 @@ local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=4 local.get $0 i32.load i32.sub ) - (func $~lib/typedarray/Uint8Array#constructor (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#constructor (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/typedarray/Uint8ClampedArray#constructor (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#constructor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - i32.const 5 + i32.const 7 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/typedarray/Int16Array#constructor (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#constructor (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - i32.const 6 + i32.const 8 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.get $0 i32.const 1 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/typedarray/Int16Array#get:length (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#get:length (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 1 i32.shr_u ) - (func $~lib/typedarray/Uint16Array#constructor (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#constructor (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - i32.const 7 + i32.const 9 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.get $0 i32.const 1 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/typedarray/Int32Array#constructor (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#constructor (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - i32.const 8 + i32.const 10 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/typedarray/Int32Array#get:length (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#get:length (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 2 i32.shr_u ) - (func $~lib/typedarray/Uint32Array#constructor (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#constructor (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - i32.const 9 + i32.const 11 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/typedarray/Int64Array#constructor (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#constructor (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 12 i32.const 12 - i32.const 10 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.get $0 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/typedarray/Int64Array#get:length (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#get:length (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 i32.shr_u ) - (func $~lib/typedarray/Uint64Array#constructor (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#constructor (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - i32.const 11 + i32.const 13 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.get $0 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/typedarray/Float32Array#constructor (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 12 + (func $~lib/typedarray/Float32Array#constructor (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 + i32.const 14 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $~lib/typedarray/Float64Array#constructor (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#constructor (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - i32.const 13 + i32.const 15 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.get $0 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor + global.get $~lib/error + if + i32.const 0 + return + end ) - (func $std/typedarray/testInstantiate (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/typedarray/testInstantiate (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1760,7 +1906,12 @@ (local $11 i32) local.get $0 call $~lib/typedarray/Int8Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -1796,7 +1947,12 @@ end local.get $0 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -1832,7 +1988,12 @@ end local.get $0 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -1868,7 +2029,12 @@ end local.get $0 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.set $4 + global.get $~lib/error + if + return + end + local.get $4 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -1906,7 +2072,12 @@ end local.get $0 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.set $5 + global.get $~lib/error + if + return + end + local.get $5 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -1944,7 +2115,12 @@ end local.get $0 call $~lib/typedarray/Int32Array#constructor - local.tee $6 + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -1982,7 +2158,12 @@ end local.get $0 call $~lib/typedarray/Uint32Array#constructor - local.tee $7 + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -2020,7 +2201,12 @@ end local.get $0 call $~lib/typedarray/Int64Array#constructor - local.tee $8 + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -2058,7 +2244,12 @@ end local.get $0 call $~lib/typedarray/Uint64Array#constructor - local.tee $9 + local.set $9 + global.get $~lib/error + if + return + end + local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -2096,7 +2287,12 @@ end local.get $0 call $~lib/typedarray/Float32Array#constructor - local.tee $10 + local.set $10 + global.get $~lib/error + if + return + end + local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -2134,7 +2330,12 @@ end local.get $0 call $~lib/typedarray/Float64Array#constructor - local.tee $11 + local.set $11 + global.get $~lib/error + if + return + end + local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -2193,7 +2394,7 @@ local.get $11 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#__set (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#__set (; 44 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -2201,12 +2402,10 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 443 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -2217,7 +2416,7 @@ local.get $2 i32.store ) - (func $~lib/typedarray/Int32Array#__get (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#__get (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2225,12 +2424,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 437 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -2240,7 +2438,7 @@ i32.add i32.load ) - (func $~lib/typedarray/Int32Array#subarray (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#subarray (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2301,46 +2499,56 @@ select local.set $3 i32.const 12 - i32.const 8 + i32.const 10 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - local.get $4 - i32.load - local.tee $2 - local.get $1 - i32.load - local.tee $6 - i32.ne - if - local.get $2 + local.set $1 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $1 call $~lib/rt/pure/__retain - drop - local.get $6 + local.tee $1 + local.get $4 + i32.load + local.tee $2 + local.get $1 + i32.load + local.tee $6 + i32.ne + if + local.get $2 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $2 + i32.store + local.get $1 + local.get $4 + i32.load offset=4 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 + local.get $1 + local.get $3 + local.get $0 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 + local.get $4 call $~lib/rt/pure/__release end - local.get $2 - i32.store - local.get $1 - local.get $4 - i32.load offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $3 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.store offset=8 - local.get $4 - call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/typedarray/Float64Array#__set (; 45 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) + (func $~lib/typedarray/Float64Array#__set (; 47 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) local.get $1 local.get $0 i32.load offset=8 @@ -2348,12 +2556,10 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 853 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -2364,7 +2570,7 @@ local.get $2 f64.store ) - (func $~lib/typedarray/Float64Array#subarray (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#subarray (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2425,51 +2631,61 @@ select local.set $3 i32.const 12 - i32.const 13 + i32.const 15 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - local.get $4 - i32.load - local.tee $2 - local.get $1 - i32.load - local.tee $6 - i32.ne - if - local.get $2 + local.set $1 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $1 call $~lib/rt/pure/__retain - drop - local.get $6 + local.tee $1 + local.get $4 + i32.load + local.tee $2 + local.get $1 + i32.load + local.tee $6 + i32.ne + if + local.get $2 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $2 + i32.store + local.get $1 + local.get $4 + i32.load offset=4 + local.get $0 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 + local.get $1 + local.get $3 + local.get $0 + i32.sub + i32.const 3 + i32.shl + i32.store offset=8 + local.get $4 call $~lib/rt/pure/__release end - local.get $2 - i32.store - local.get $1 - local.get $4 - i32.load offset=4 - local.get $0 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $3 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - local.get $4 - call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/util/sort/insertionSort (; 47 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 f64) + (local $5 i32) (local $6 f64) - (local $7 i32) + (local $7 f64) block $break|0 loop $loop|0 local.get $3 @@ -2482,7 +2698,7 @@ local.get $0 i32.add f64.load - local.set $5 + local.set $6 local.get $3 i32.const 1 i32.sub @@ -2499,29 +2715,33 @@ local.get $0 i32.add f64.load - local.set $6 + local.set $7 i32.const 2 global.set $~lib/argc - local.get $5 local.get $6 + local.get $7 local.get $2 call_indirect (type $FUNCSIG$idd) + global.get $~lib/error + if + return + end i32.const 0 i32.ge_s br_if $break|1 local.get $4 - local.tee $7 + local.tee $5 i32.const 1 i32.sub local.set $4 - local.get $7 + local.get $5 i32.const 1 i32.add i32.const 3 i32.shl local.get $0 i32.add - local.get $6 + local.get $7 f64.store br $continue|1 end @@ -2533,7 +2753,7 @@ i32.shl local.get $0 i32.add - local.get $5 + local.get $6 f64.store local.get $3 i32.const 1 @@ -2544,7 +2764,7 @@ unreachable end ) - (func $~lib/memory/memory.fill (; 48 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i64) block $~lib/util/memory/memset|inlined.0 @@ -2768,7 +2988,7 @@ end end ) - (func $~lib/util/sort/weakHeapSort (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 51 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f64) @@ -2785,7 +3005,12 @@ local.tee $3 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $6 + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 0 local.get $3 call $~lib/memory/memory.fill @@ -2854,6 +3079,10 @@ local.get $7 local.get $2 call_indirect (type $FUNCSIG$idd) + global.get $~lib/error + if + return + end i32.const 0 i32.lt_s if @@ -2973,6 +3202,10 @@ local.get $7 local.get $2 call_indirect (type $FUNCSIG$idd) + global.get $~lib/error + if + return + end i32.const 0 i32.lt_s if @@ -3031,7 +3264,7 @@ local.get $5 f64.store ) - (func $~lib/typedarray/Float64Array#sort (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#sort (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f64) @@ -3068,6 +3301,12 @@ local.get $5 local.get $1 call_indirect (type $FUNCSIG$idd) + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 + end i32.const 0 i32.lt_s if @@ -3096,10 +3335,14 @@ local.get $1 call $~lib/util/sort/weakHeapSort end + block $~lib/util/sort/SORT|inlined.0 + global.get $~lib/error + br_if $~lib/util/sort/SORT|inlined.0 + end end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 51 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 53 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -3128,7 +3371,7 @@ i64.lt_s i32.sub ) - (func $~lib/typedarray/Float64Array#__get (; 52 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/typedarray/Float64Array#__get (; 54 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -3136,12 +3379,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 847 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f64.const 0 + return end local.get $0 i32.load offset=4 @@ -3151,18 +3393,16 @@ i32.add f64.load ) - (func $~lib/typedarray/Uint8ClampedArray#__set (; 53 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#__set (; 55 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 197 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3183,18 +3423,17 @@ i32.and i32.store8 ) - (func $~lib/typedarray/Uint8ClampedArray#__get (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#__get (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 191 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -3202,18 +3441,16 @@ i32.add i32.load8_u ) - (func $~lib/typedarray/Int8Array#__set (; 55 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#__set (; 57 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 33 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3222,7 +3459,7 @@ local.get $2 i32.store8 ) - (func $~lib/typedarray/Int8Array#fill (; 56 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int8Array#fill (; 58 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3291,70 +3528,62 @@ end local.get $5 ) - (func $~lib/rt/__allocArray (; 57 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocArray (; 59 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) i32.const 16 local.get $2 call $~lib/rt/tlsf/__alloc - local.tee $2 + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end local.get $0 local.get $1 i32.shl - local.tee $1 + local.tee $4 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $4 + local.set $1 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.get $1 call $~lib/rt/pure/__retain i32.store local.get $2 - local.get $4 + local.get $1 i32.store offset=4 local.get $2 - local.get $1 + local.get $4 i32.store offset=8 local.get $2 local.get $0 i32.store offset=12 local.get $3 if - local.get $4 - local.get $3 local.get $1 + local.get $3 + local.get $4 call $~lib/memory/memory.copy end local.get $2 ) - (func $~lib/typedarray/Int8Array#__get (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 336 - i32.const 432 - i32.const 27 - i32.const 44 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.add - i32.load8_s - ) - (func $~lib/array/Array#__get (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#__get (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 336 - i32.const 512 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -3362,9 +3591,11 @@ i32.add i32.load8_s ) - (func $std/typedarray/isInt8ArrayEqual (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt8ArrayEqual (; 61 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -3380,18 +3611,38 @@ br_if $folding-inner0 local.get $0 i32.load offset=8 - local.set $3 + local.set $4 loop $loop|0 local.get $2 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.get $2 call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.set $3 local.get $1 local.get $2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + if + i32.const 0 + return + end + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.get $3 i32.ne br_if $folding-inner0 local.get $2 @@ -3414,7 +3665,7 @@ call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/typedarray/Int8Array#subarray (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#subarray (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3477,40 +3728,50 @@ i32.const 12 i32.const 3 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - local.get $1 - i32.load - local.tee $6 - local.get $4 - i32.load - local.tee $2 - i32.ne - if - local.get $2 + local.set $1 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $1 call $~lib/rt/pure/__retain - drop - local.get $6 + local.tee $1 + local.get $1 + i32.load + local.tee $6 + local.get $4 + i32.load + local.tee $2 + i32.ne + if + local.get $2 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $2 + i32.store + local.get $1 + local.get $4 + i32.load offset=4 + local.get $0 + i32.add + i32.store offset=4 + local.get $1 + local.get $3 + local.get $0 + i32.sub + i32.store offset=8 + local.get $4 call $~lib/rt/pure/__release end - local.get $2 - i32.store - local.get $1 - local.get $4 - i32.load offset=4 - local.get $0 - i32.add - i32.store offset=4 - local.get $1 - local.get $3 - local.get $0 - i32.sub - i32.store offset=8 - local.get $4 - call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/typedarray/Int32Array#fill (; 62 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int32Array#fill (; 63 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3590,32 +3851,11 @@ end local.get $4 ) - (func $~lib/array/Array#__get (; 63 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 512 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - ) (func $std/typedarray/isInt32ArrayEqual (; 64 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain drop @@ -3640,9 +3880,19 @@ local.get $0 local.get $2 call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + i32.const 0 + return + end local.get $1 local.get $2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + i32.const 0 + return + end i32.ne br_if $folding-inner0 local.get $2 @@ -3690,31 +3940,41 @@ local.get $1 i32.load offset=8 local.set $4 - loop $loop|0 - local.get $0 - local.get $4 - i32.lt_s - if - i32.const 4 - global.set $~lib/argc - local.get $2 - local.get $0 - local.get $3 - i32.add - i32.load8_s - local.get $0 - local.get $1 - call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 - local.set $2 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $4 + i32.lt_s + if + i32.const 4 + global.set $~lib/argc + local.get $2 + local.get $0 + local.get $3 + i32.add + i32.load8_s + local.get $0 + local.get $1 + call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $2 + global.get $~lib/error + if + i32.const 0 + local.set $2 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $1 + call $~lib/rt/pure/__release end - local.get $1 - call $~lib/rt/pure/__release local.get $2 ) (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (; 67 ;) (type $FUNCSIG$v) @@ -3722,20 +3982,37 @@ (local $1 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $1 - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 0 - i32.const 1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + call $~lib/rt/pure/__retain + local.tee $0 + i32.const 0 + i32.const 1 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Int8Array#reduce i32.const 255 @@ -3755,27 +4032,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#__set (; 68 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 336 - i32.const 432 - i32.const 115 - i32.const 44 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.add - local.get $2 - i32.store8 - ) - (func $~lib/typedarray/Uint8Array#reduce (; 69 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduce (; 68 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3790,53 +4047,80 @@ local.get $2 i32.load offset=8 local.set $5 - loop $loop|0 - local.get $0 - local.get $5 - i32.lt_s - if - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $0 - local.get $4 - i32.add - i32.load8_u - local.get $0 - local.get $2 - local.get $1 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $5 + i32.lt_s + if + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $0 + local.get $4 + i32.add + i32.load8_u + local.get $0 + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$iiiii) + local.set $3 + global.get $~lib/error + if + i32.const 0 + local.set $3 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (; 70 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (; 69 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#reduce @@ -3857,25 +4141,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (; 71 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (; 70 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 4 call $~lib/typedarray/Uint8Array#reduce @@ -3896,7 +4197,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#__set (; 72 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#__set (; 71 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -3904,12 +4205,10 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 279 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3920,7 +4219,7 @@ local.get $2 i32.store16 ) - (func $~lib/typedarray/Int16Array#reduce (; 73 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduce (; 72 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3935,54 +4234,81 @@ local.get $2 call $~lib/typedarray/Int16Array#get:length local.set $4 - loop $loop|0 - local.get $0 - local.get $4 - i32.lt_s - if - i32.const 4 - global.set $~lib/argc - local.get $1 - local.get $0 - i32.const 1 - i32.shl - local.get $3 - i32.add - i32.load16_s - local.get $0 - local.get $2 - call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 - local.set $1 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $4 + i32.lt_s + if + i32.const 4 + global.set $~lib/argc + local.get $1 + local.get $0 + i32.const 1 + i32.shl + local.get $3 + i32.add + i32.load16_s + local.get $0 + local.get $2 + call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $1 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (; 74 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (; 73 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Int16Array#reduce i32.const 65535 @@ -4002,31 +4328,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#__set (; 75 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 432 - i32.const 361 - i32.const 63 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 - ) - (func $~lib/typedarray/Uint16Array#reduce (; 76 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduce (; 74 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4041,54 +4343,81 @@ local.get $2 call $~lib/typedarray/Int16Array#get:length local.set $4 - loop $loop|0 - local.get $0 - local.get $4 - i32.lt_s - if - i32.const 4 - global.set $~lib/argc - local.get $1 - local.get $0 - i32.const 1 - i32.shl - local.get $3 - i32.add - i32.load16_u - local.get $0 - local.get $2 - call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 - local.set $1 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 - end - end - local.get $2 - call $~lib/rt/pure/__release - local.get $1 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (; 77 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $1 - call $~lib/rt/pure/__retain - local.tee $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - i32.const 2 + local.get $4 + i32.lt_s + if + i32.const 4 + global.set $~lib/argc + local.get $1 + local.get $0 + i32.const 1 + i32.shl + local.get $3 + i32.add + i32.load16_u + local.get $0 + local.get $2 + call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $1 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end + end + local.get $2 + call $~lib/rt/pure/__release + end + local.get $1 + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (; 75 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + call $~lib/rt/pure/__retain + local.tee $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 i32.const 3 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Uint16Array#reduce i32.const 65535 @@ -4108,7 +4437,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#reduce (; 78 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduce (; 76 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4123,55 +4452,82 @@ local.get $3 call $~lib/typedarray/Int32Array#get:length local.set $5 - loop $loop|0 - local.get $0 - local.get $5 - i32.lt_s - if - i32.const 4 - global.set $~lib/argc - local.get $2 - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - i32.load - local.get $0 - local.get $3 - local.get $1 - call_indirect (type $FUNCSIG$iiiii) - local.set $2 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $5 + i32.lt_s + if + i32.const 4 + global.set $~lib/argc + local.get $2 + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + i32.load + local.get $0 + local.get $3 + local.get $1 + call_indirect (type $FUNCSIG$iiiii) + local.set $2 + global.get $~lib/error + if + i32.const 0 + local.set $2 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release local.get $2 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (; 79 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (; 77 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 7 call $~lib/typedarray/Int32Array#reduce @@ -4190,49 +4546,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array#__set (; 80 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 432 - i32.const 525 - i32.const 63 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (; 81 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (; 78 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 8 call $~lib/typedarray/Int32Array#reduce @@ -4251,7 +4600,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#__set (; 82 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/typedarray/Int64Array#__set (; 79 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 local.get $0 i32.load offset=8 @@ -4259,12 +4608,10 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 607 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -4275,7 +4622,7 @@ local.get $2 i64.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 83 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 80 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $3 call $~lib/rt/pure/__retain drop @@ -4285,7 +4632,7 @@ local.get $1 i64.add ) - (func $~lib/typedarray/Int64Array#reduce (; 84 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#reduce (; 81 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -4300,55 +4647,82 @@ local.get $3 call $~lib/typedarray/Int64Array#get:length local.set $5 - loop $loop|0 - local.get $0 - local.get $5 - i32.lt_s - if - i32.const 4 - global.set $~lib/argc - local.get $2 - local.get $0 - i32.const 3 - i32.shl - local.get $4 - i32.add - i64.load - local.get $0 - local.get $3 - local.get $1 - call_indirect (type $FUNCSIG$jjjii) - local.set $2 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $5 + i32.lt_s + if + i32.const 4 + global.set $~lib/argc + local.get $2 + local.get $0 + i32.const 3 + i32.shl + local.get $4 + i32.add + i64.load + local.get $0 + local.get $3 + local.get $1 + call_indirect (type $FUNCSIG$jjjii) + local.set $2 + global.get $~lib/error + if + i64.const 0 + local.set $2 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release local.get $2 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (; 85 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (; 82 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 9 call $~lib/typedarray/Int64Array#reduce @@ -4367,49 +4741,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#__set (; 86 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) - local.get $1 - local.get $0 - i32.load offset=8 + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (; 83 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) i32.const 3 - i32.shr_u - i32.ge_u + call $~lib/typedarray/Uint64Array#constructor + local.set $1 + global.get $~lib/error if - i32.const 336 - i32.const 432 - i32.const 689 - i32.const 63 - call $~lib/builtins/abort - unreachable + return end - local.get $0 - i32.load offset=4 local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (; 87 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i64.const 1 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i64.const 2 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i64.const 3 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 10 call $~lib/typedarray/Int64Array#reduce @@ -4428,7 +4795,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#__set (; 88 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) + (func $~lib/typedarray/Float32Array#__set (; 84 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) local.get $1 local.get $0 i32.load offset=8 @@ -4436,12 +4803,10 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 771 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -4452,7 +4817,7 @@ local.get $2 f32.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 89 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 85 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) local.get $3 call $~lib/rt/pure/__retain drop @@ -4462,7 +4827,7 @@ local.get $1 f32.add ) - (func $~lib/typedarray/Float32Array#reduce (; 90 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) + (func $~lib/typedarray/Float32Array#reduce (; 86 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -4477,54 +4842,81 @@ local.get $2 call $~lib/typedarray/Int32Array#get:length local.set $4 - loop $loop|0 - local.get $0 - local.get $4 - i32.lt_s - if - i32.const 4 - global.set $~lib/argc - local.get $1 - local.get $0 - i32.const 2 - i32.shl - local.get $3 - i32.add - f32.load - local.get $0 - local.get $2 - call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 - local.set $1 + block $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $4 + i32.lt_s + if + i32.const 4 + global.set $~lib/argc + local.get $1 + local.get $0 + i32.const 2 + i32.shl + local.get $3 + i32.add + f32.load + local.get $0 + local.get $2 + call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 + local.set $1 + global.get $~lib/error + if + f32.const 0 + local.set $1 + br $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (; 91 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (; 87 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Float32Array#reduce f32.const 6 @@ -4542,7 +4934,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 92 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 88 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) local.get $3 call $~lib/rt/pure/__retain drop @@ -4552,7 +4944,7 @@ local.get $1 f64.add ) - (func $~lib/typedarray/Float64Array#reduce (; 93 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/typedarray/Float64Array#reduce (; 89 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 f64) (local $2 i32) (local $3 i32) @@ -4567,54 +4959,81 @@ local.get $2 call $~lib/typedarray/Int64Array#get:length local.set $4 - loop $loop|0 - local.get $0 - local.get $4 - i32.lt_s - if - i32.const 4 - global.set $~lib/argc - local.get $1 - local.get $0 - i32.const 3 - i32.shl - local.get $3 - i32.add - f64.load - local.get $0 - local.get $2 - call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 - local.set $1 + block $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $4 + i32.lt_s + if + i32.const 4 + global.set $~lib/argc + local.get $1 + local.get $0 + i32.const 3 + i32.shl + local.get $3 + i32.add + f64.load + local.get $0 + local.get $2 + call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 + local.set $1 + global.get $~lib/error + if + f64.const 0 + local.set $1 + br $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (; 94 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (; 90 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Float64Array#reduce f64.const 6 @@ -4632,7 +5051,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#reduceRight (; 95 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduceRight (; 91 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4646,52 +5065,79 @@ i32.const 1 i32.sub local.set $0 - loop $loop|0 - local.get $0 - i32.const 0 - i32.ge_s - if - i32.const 4 - global.set $~lib/argc - local.get $2 - local.get $0 - local.get $3 - i32.add - i32.load8_s - local.get $0 - local.get $1 - call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 - local.set $2 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $loop|0 + i32.const 0 + i32.ge_s + if + i32.const 4 + global.set $~lib/argc + local.get $2 + local.get $0 + local.get $3 + i32.add + i32.load8_s + local.get $0 + local.get $1 + call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $2 + global.get $~lib/error + if + i32.const 0 + local.set $2 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 + else + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $1 + call $~lib/rt/pure/__release end - local.get $1 - call $~lib/rt/pure/__release local.get $2 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (; 96 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (; 92 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Int8Array#reduceRight i32.const 255 @@ -4711,7 +5157,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#reduceRight (; 97 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduceRight (; 93 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4725,53 +5171,80 @@ i32.const 1 i32.sub local.set $0 - loop $loop|0 - local.get $0 - i32.const 0 - i32.ge_s - if - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $0 - local.get $4 - i32.add - i32.load8_u - local.get $0 - local.get $2 - local.get $1 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $loop|0 - end - end - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (; 98 ;) (type $FUNCSIG$v) + i32.const 0 + i32.ge_s + if + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $0 + local.get $4 + i32.add + i32.load8_u + local.get $0 + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$iiiii) + local.set $3 + global.get $~lib/error + if + i32.const 0 + local.set $3 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 + else + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $loop|0 + end + unreachable + end + end + local.get $2 + call $~lib/rt/pure/__release + end + local.get $3 + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (; 94 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 14 call $~lib/typedarray/Uint8Array#reduceRight @@ -4792,25 +5265,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (; 99 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (; 95 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 15 call $~lib/typedarray/Uint8Array#reduceRight @@ -4831,7 +5321,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#reduceRight (; 100 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduceRight (; 96 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4845,54 +5335,81 @@ i32.const 1 i32.sub local.set $0 - loop $loop|0 - local.get $0 - i32.const 0 - i32.ge_s - if - i32.const 4 - global.set $~lib/argc - local.get $1 - local.get $0 - i32.const 1 - i32.shl - local.get $3 - i32.add - i32.load16_s - local.get $0 - local.get $2 - call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 - local.set $1 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $loop|0 + i32.const 0 + i32.ge_s + if + i32.const 4 + global.set $~lib/argc + local.get $1 + local.get $0 + i32.const 1 + i32.shl + local.get $3 + i32.add + i32.load16_s + local.get $0 + local.get $2 + call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $1 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 + else + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (; 101 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (; 97 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Int16Array#reduceRight i32.const 65535 @@ -4912,7 +5429,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#reduceRight (; 102 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduceRight (; 98 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4926,54 +5443,81 @@ i32.const 1 i32.sub local.set $0 - loop $loop|0 - local.get $0 - i32.const 0 - i32.ge_s - if - i32.const 4 - global.set $~lib/argc - local.get $1 - local.get $0 - i32.const 1 - i32.shl - local.get $3 - i32.add - i32.load16_u - local.get $0 - local.get $2 - call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 - local.set $1 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $loop|0 + i32.const 0 + i32.ge_s + if + i32.const 4 + global.set $~lib/argc + local.get $1 + local.get $0 + i32.const 1 + i32.shl + local.get $3 + i32.add + i32.load16_u + local.get $0 + local.get $2 + call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $1 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 + else + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (; 103 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (; 99 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Uint16Array#reduceRight i32.const 65535 @@ -4993,7 +5537,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#reduceRight (; 104 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduceRight (; 100 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5007,55 +5551,82 @@ i32.const 1 i32.sub local.set $0 - loop $loop|0 - local.get $0 - i32.const 0 - i32.ge_s - if - i32.const 4 - global.set $~lib/argc - local.get $2 - local.get $0 - i32.const 2 - i32.shl - local.get $4 - i32.add - i32.load - local.get $0 - local.get $3 - local.get $1 - call_indirect (type $FUNCSIG$iiiii) - local.set $2 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $loop|0 + i32.const 0 + i32.ge_s + if + i32.const 4 + global.set $~lib/argc + local.get $2 + local.get $0 + i32.const 2 + i32.shl + local.get $4 + i32.add + i32.load + local.get $0 + local.get $3 + local.get $1 + call_indirect (type $FUNCSIG$iiiii) + local.set $2 + global.get $~lib/error + if + i32.const 0 + local.set $2 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 + else + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release local.get $2 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (; 105 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (; 101 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 18 call $~lib/typedarray/Int32Array#reduceRight @@ -5074,25 +5645,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (; 106 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (; 102 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 19 call $~lib/typedarray/Int32Array#reduceRight @@ -5111,7 +5699,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#reduceRight (; 107 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#reduceRight (; 103 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -5125,55 +5713,82 @@ i32.const 1 i32.sub local.set $0 - loop $loop|0 - local.get $0 - i32.const 0 - i32.ge_s - if - i32.const 4 - global.set $~lib/argc - local.get $2 - local.get $0 - i32.const 3 - i32.shl - local.get $4 - i32.add - i64.load - local.get $0 - local.get $3 - local.get $1 - call_indirect (type $FUNCSIG$jjjii) - local.set $2 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $loop|0 + i32.const 0 + i32.ge_s + if + i32.const 4 + global.set $~lib/argc + local.get $2 + local.get $0 + i32.const 3 + i32.shl + local.get $4 + i32.add + i64.load + local.get $0 + local.get $3 + local.get $1 + call_indirect (type $FUNCSIG$jjjii) + local.set $2 + global.get $~lib/error + if + i64.const 0 + local.set $2 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 + else + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release local.get $2 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (; 108 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (; 104 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 20 call $~lib/typedarray/Int64Array#reduceRight @@ -5192,25 +5807,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (; 109 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (; 105 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i64.const 1 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i64.const 2 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i64.const 3 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 21 call $~lib/typedarray/Int64Array#reduceRight @@ -5229,7 +5861,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#reduceRight (; 110 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) + (func $~lib/typedarray/Float32Array#reduceRight (; 106 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -5243,54 +5875,81 @@ i32.const 1 i32.sub local.set $0 - loop $loop|0 - local.get $0 - i32.const 0 - i32.ge_s - if - i32.const 4 - global.set $~lib/argc - local.get $1 - local.get $0 - i32.const 2 - i32.shl - local.get $3 - i32.add - f32.load - local.get $0 - local.get $2 - call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 - local.set $1 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $loop|0 + i32.const 0 + i32.ge_s + if + i32.const 4 + global.set $~lib/argc + local.get $1 + local.get $0 + i32.const 2 + i32.shl + local.get $3 + i32.add + f32.load + local.get $0 + local.get $2 + call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 + local.set $1 + global.get $~lib/error + if + f32.const 0 + local.set $1 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 + else + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (; 111 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (; 107 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Float32Array#reduceRight f32.const 6 @@ -5308,7 +5967,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#reduceRight (; 112 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/typedarray/Float64Array#reduceRight (; 108 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 f64) (local $2 i32) (local $3 i32) @@ -5322,54 +5981,81 @@ i32.const 1 i32.sub local.set $0 - loop $loop|0 - local.get $0 - i32.const 0 - i32.ge_s - if - i32.const 4 - global.set $~lib/argc - local.get $1 - local.get $0 - i32.const 3 - i32.shl - local.get $3 - i32.add - f64.load - local.get $0 - local.get $2 - call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 - local.set $1 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 + loop $loop|0 local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $loop|0 + i32.const 0 + i32.ge_s + if + i32.const 4 + global.set $~lib/argc + local.get $1 + local.get $0 + i32.const 3 + i32.shl + local.get $3 + i32.add + f64.load + local.get $0 + local.get $2 + call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 + local.set $1 + global.get $~lib/error + if + f64.const 0 + local.set $1 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 + else + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $loop|0 + end + unreachable + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (; 113 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (; 109 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Float64Array#reduceRight f64.const 6 @@ -5387,7 +6073,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 114 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 110 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -5397,86 +6083,122 @@ local.get $0 i32.mul ) - (func $~lib/typedarray/Int8Array#map (; 115 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#map (; 111 ;) (type $FUNCSIG$ii) (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 - call $~lib/rt/pure/__retain - local.tee $1 - i32.load offset=8 - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Int8Array#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + (local $7 i32) + block $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $0 + call $~lib/rt/pure/__retain + local.tee $2 + i32.load offset=8 + local.set $3 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - local.get $6 - i32.add - local.get $0 - local.get $3 - i32.add - i32.load8_s - local.get $0 + i32.load offset=4 + local.set $5 + local.get $3 + call $~lib/typedarray/Int8Array#constructor + local.set $4 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 + drop + local.get $4 + call $~lib/rt/pure/__retain + local.tee $0 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 - i32.store8 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $3 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + local.get $5 + i32.add + i32.load8_s + local.get $1 + local.get $2 + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $7 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 + drop + local.get $1 + local.get $6 + i32.add + local.get $7 + i32.store8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end end + local.get $2 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $0 end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (; 116 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (; 112 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/typedarray/Int8Array#map - local.tee $1 + local.tee $2 i32.const 0 call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 1 i32.ne if @@ -5487,9 +6209,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 4 i32.ne if @@ -5500,9 +6228,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 9 i32.ne if @@ -5513,112 +6247,129 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#map (; 117 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#map (; 113 ;) (type $FUNCSIG$ii) (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 - call $~lib/rt/pure/__retain - local.tee $1 - i32.load offset=8 - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Uint8Array#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + (local $7 i32) + block $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $0 + call $~lib/rt/pure/__retain + local.tee $2 + i32.load offset=8 + local.set $3 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - local.get $6 - i32.add - local.get $0 - local.get $3 - i32.add - i32.load8_u - local.get $0 + i32.load offset=4 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint8Array#constructor + local.set $4 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 + drop + local.get $4 + call $~lib/rt/pure/__retain + local.tee $0 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 - i32.store8 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $3 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + local.get $5 + i32.add + i32.load8_u + local.get $1 + local.get $2 + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $7 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 + drop + local.get $1 + local.get $6 + i32.add + local.get $7 + i32.store8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end end + local.get $2 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $0 end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - ) - (func $~lib/typedarray/Uint8Array#__get (; 118 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 336 - i32.const 432 - i32.const 109 - i32.const 44 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.add - i32.load8_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (; 119 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (; 114 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $0 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $0 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - call $~lib/typedarray/Uint8Array#map - local.tee $1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end + local.get $1 + call $~lib/typedarray/Uint8Array#map + local.tee $2 i32.const 0 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 1 i32.ne if @@ -5629,9 +6380,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 4 i32.ne if @@ -5642,9 +6399,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 9 i32.ne if @@ -5655,93 +6418,129 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#map (; 120 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#map (; 115 ;) (type $FUNCSIG$ii) (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 - call $~lib/rt/pure/__retain - local.tee $1 - i32.load offset=8 - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + (local $7 i32) + block $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) local.get $0 + call $~lib/rt/pure/__retain + local.tee $2 + i32.load offset=8 + local.set $3 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - local.get $6 - i32.add - local.get $0 - local.get $3 - i32.add - i32.load8_u - local.get $0 + i32.load offset=4 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $4 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + drop + local.get $4 + call $~lib/rt/pure/__retain + local.tee $0 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 - i32.store8 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $3 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + local.get $5 + i32.add + i32.load8_u + local.get $1 + local.get $2 + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $7 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + drop + local.get $1 + local.get $6 + i32.add + local.get $7 + i32.store8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end end + local.get $2 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $0 end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (; 121 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (; 116 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/typedarray/Uint8ClampedArray#map - local.tee $1 + local.tee $2 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 1 i32.ne if @@ -5752,9 +6551,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 4 i32.ne if @@ -5765,9 +6570,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 9 i32.ne if @@ -5778,14 +6589,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#map (; 122 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#map (; 117 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5794,60 +6605,69 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - call $~lib/typedarray/Int16Array#get:length - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + block $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + call $~lib/typedarray/Int16Array#get:length + local.set $2 local.get $0 + i32.load offset=4 + local.set $4 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 1 - i32.shl - local.tee $7 - local.get $3 - i32.add - i32.load16_s - local.get $0 + call $~lib/typedarray/Int16Array#constructor + local.set $3 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 + drop + local.get $3 + call $~lib/rt/pure/__retain + local.tee $5 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 - local.set $8 - local.get $6 - local.get $7 - i32.add - local.get $8 - i32.store16 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $2 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 1 + i32.shl + local.tee $7 + local.get $4 + i32.add + i32.load16_s + local.get $1 + local.get $0 + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $8 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 + drop + local.get $6 + local.get $7 + i32.add + local.get $8 + i32.store16 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end end + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $5 end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 ) - (func $~lib/typedarray/Int16Array#__get (; 123 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#__get (; 118 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -5855,12 +6675,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 273 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -5870,31 +6689,55 @@ i32.add i32.load16_s ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (; 124 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (; 119 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/typedarray/Int16Array#map - local.tee $1 + local.tee $2 i32.const 0 call $~lib/typedarray/Int16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 1 i32.ne if @@ -5905,9 +6748,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 4 i32.ne if @@ -5918,9 +6767,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 9 i32.ne if @@ -5931,14 +6786,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#map (; 125 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#map (; 120 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5947,60 +6802,69 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - call $~lib/typedarray/Int16Array#get:length - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Uint16Array#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + block $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + call $~lib/typedarray/Int16Array#get:length + local.set $2 local.get $0 + i32.load offset=4 + local.set $4 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 1 - i32.shl - local.tee $7 - local.get $3 - i32.add - i32.load16_u - local.get $0 + call $~lib/typedarray/Uint16Array#constructor + local.set $3 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 + drop + local.get $3 + call $~lib/rt/pure/__retain + local.tee $5 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 - local.set $8 - local.get $6 - local.get $7 - i32.add - local.get $8 - i32.store16 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $2 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 1 + i32.shl + local.tee $7 + local.get $4 + i32.add + i32.load16_u + local.get $1 + local.get $0 + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $8 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 + drop + local.get $6 + local.get $7 + i32.add + local.get $8 + i32.store16 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end end + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $5 end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 ) - (func $~lib/typedarray/Uint16Array#__get (; 126 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#__get (; 121 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -6008,12 +6872,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 355 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -6023,31 +6886,55 @@ i32.add i32.load16_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (; 127 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (; 122 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $0 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $0 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $0 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end + local.get $1 call $~lib/typedarray/Uint16Array#map - local.tee $1 + local.tee $2 i32.const 0 call $~lib/typedarray/Uint16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 1 i32.ne if @@ -6058,9 +6945,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 4 i32.ne if @@ -6071,9 +6964,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 9 i32.ne if @@ -6084,14 +6983,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#map (; 128 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#map (; 123 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6100,84 +6999,115 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - call $~lib/typedarray/Int32Array#get:length - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + block $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + call $~lib/typedarray/Int32Array#get:length + local.set $2 local.get $0 + i32.load offset=4 + local.set $4 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 2 - i32.shl - local.tee $7 - local.get $3 - i32.add - i32.load - local.get $0 + call $~lib/typedarray/Int32Array#constructor + local.set $3 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 + drop + local.get $3 + call $~lib/rt/pure/__retain + local.tee $5 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 - local.set $8 - local.get $6 - local.get $7 - i32.add - local.get $8 - i32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 - end - end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 + local.get $2 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 2 + i32.shl + local.tee $7 + local.get $4 + i32.add + i32.load + local.get $1 + local.get $0 + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $8 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 + drop + local.get $6 + local.get $7 + i32.add + local.get $8 + i32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end + end + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $5 + end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (; 129 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (; 124 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/typedarray/Int32Array#map - local.tee $1 + local.tee $2 i32.const 0 call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 1 i32.ne if @@ -6188,9 +7118,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 4 i32.ne if @@ -6201,9 +7135,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 9 i32.ne if @@ -6214,14 +7152,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array#map (; 130 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#map (; 125 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6230,107 +7168,115 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - call $~lib/typedarray/Int32Array#get:length - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Uint32Array#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + block $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + call $~lib/typedarray/Int32Array#get:length + local.set $2 local.get $0 + i32.load offset=4 + local.set $4 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 2 - i32.shl - local.tee $7 - local.get $3 - i32.add - i32.load - local.get $0 + call $~lib/typedarray/Uint32Array#constructor + local.set $3 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 + drop + local.get $3 + call $~lib/rt/pure/__retain + local.tee $5 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 - local.set $8 - local.get $6 - local.get $7 - i32.add - local.get $8 - i32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $2 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 2 + i32.shl + local.tee $7 + local.get $4 + i32.add + i32.load + local.get $1 + local.get $0 + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 + local.set $8 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 + drop + local.get $6 + local.get $7 + i32.add + local.get $8 + i32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end end + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $5 end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - ) - (func $~lib/typedarray/Uint32Array#__get (; 131 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 432 - i32.const 519 - i32.const 63 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (; 132 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (; 126 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $0 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $0 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $0 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end + local.get $1 call $~lib/typedarray/Uint32Array#map - local.tee $1 + local.tee $2 i32.const 0 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 1 i32.ne if @@ -6341,9 +7287,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 4 i32.ne if @@ -6354,9 +7304,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 9 i32.ne if @@ -6367,14 +7321,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 133 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 127 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) local.get $2 call $~lib/rt/pure/__retain drop @@ -6384,7 +7338,7 @@ local.get $0 i64.mul ) - (func $~lib/typedarray/Int64Array#map (; 134 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#map (; 128 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6393,60 +7347,69 @@ (local $6 i32) (local $7 i32) (local $8 i64) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - call $~lib/typedarray/Int64Array#get:length - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Int64Array#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + block $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + call $~lib/typedarray/Int64Array#get:length + local.set $2 local.get $0 + i32.load offset=4 + local.set $4 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 3 - i32.shl - local.tee $7 - local.get $3 - i32.add - i64.load - local.get $0 + call $~lib/typedarray/Int64Array#constructor + local.set $3 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 + drop + local.get $3 + call $~lib/rt/pure/__retain + local.tee $5 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 - local.set $8 - local.get $6 - local.get $7 - i32.add - local.get $8 - i64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $2 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 3 + i32.shl + local.tee $7 + local.get $4 + i32.add + i64.load + local.get $1 + local.get $0 + call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 + local.set $8 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 + drop + local.get $6 + local.get $7 + i32.add + local.get $8 + i64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end end + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $5 end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 ) - (func $~lib/typedarray/Int64Array#__get (; 135 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#__get (; 129 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 i32.load offset=8 @@ -6454,12 +7417,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 601 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i64.const 0 + return end local.get $0 i32.load offset=4 @@ -6469,31 +7431,53 @@ i32.add i64.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (; 136 ;) (type $FUNCSIG$v) - (local $0 i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (; 130 ;) (type $FUNCSIG$v) + (local $0 i64) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/typedarray/Int64Array#map - local.tee $1 + local.tee $2 i32.const 0 call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 1 i64.ne if @@ -6504,9 +7488,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 4 i64.ne if @@ -6517,9 +7505,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 9 i64.ne if @@ -6530,14 +7522,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#map (; 137 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#map (; 131 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6546,107 +7538,115 @@ (local $6 i32) (local $7 i32) (local $8 i64) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - call $~lib/typedarray/Int64Array#get:length - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Uint64Array#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + block $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + call $~lib/typedarray/Int64Array#get:length + local.set $2 local.get $0 + i32.load offset=4 + local.set $4 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 3 - i32.shl - local.tee $7 - local.get $3 - i32.add - i64.load - local.get $0 + call $~lib/typedarray/Uint64Array#constructor + local.set $3 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 + drop + local.get $3 + call $~lib/rt/pure/__retain + local.tee $5 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 - local.set $8 - local.get $6 - local.get $7 - i32.add - local.get $8 - i64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $2 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 3 + i32.shl + local.tee $7 + local.get $4 + i32.add + i64.load + local.get $1 + local.get $0 + call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 + local.set $8 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 + drop + local.get $6 + local.get $7 + i32.add + local.get $8 + i64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end end + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $5 end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - ) - (func $~lib/typedarray/Uint64Array#__get (; 138 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 432 - i32.const 683 - i32.const 63 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (; 139 ;) (type $FUNCSIG$v) - (local $0 i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (; 132 ;) (type $FUNCSIG$v) + (local $0 i64) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $0 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $0 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - call $~lib/typedarray/Uint64Array#map - local.tee $1 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end + local.get $1 + call $~lib/typedarray/Uint64Array#map + local.tee $2 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 1 i64.ne if @@ -6657,9 +7657,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 - call $~lib/typedarray/Uint64Array#__get + call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 4 i64.ne if @@ -6670,9 +7674,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 - call $~lib/typedarray/Uint64Array#__get + call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 9 i64.ne if @@ -6683,14 +7691,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 140 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 133 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) local.get $2 call $~lib/rt/pure/__retain drop @@ -6700,7 +7708,7 @@ local.get $0 f32.mul ) - (func $~lib/typedarray/Float32Array#map (; 141 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#map (; 134 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6709,60 +7717,69 @@ (local $6 i32) (local $7 i32) (local $8 f32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - call $~lib/typedarray/Int32Array#get:length - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Float32Array#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + block $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + call $~lib/typedarray/Int32Array#get:length + local.set $2 + local.get $0 + i32.load offset=4 + local.set $4 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 2 - i32.shl - local.tee $7 - local.get $3 - i32.add - f32.load - local.get $0 + call $~lib/typedarray/Float32Array#constructor + local.set $3 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $3 + call $~lib/rt/pure/__retain + local.tee $5 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 - local.set $8 - local.get $6 - local.get $7 - i32.add - local.get $8 - f32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $2 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 2 + i32.shl + local.tee $7 + local.get $4 + i32.add + f32.load + local.get $1 + local.get $0 + call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 + local.set $8 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $6 + local.get $7 + i32.add + local.get $8 + f32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end end + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $5 end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 ) - (func $~lib/typedarray/Float32Array#__get (; 142 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/typedarray/Float32Array#__get (; 135 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -6770,12 +7787,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 765 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f32.const 0 + return end local.get $0 i32.load offset=4 @@ -6785,31 +7801,53 @@ i32.add f32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (; 143 ;) (type $FUNCSIG$v) - (local $0 i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (; 136 ;) (type $FUNCSIG$v) + (local $0 f32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/typedarray/Float32Array#map - local.tee $1 + local.tee $2 i32.const 0 call $~lib/typedarray/Float32Array#__get + global.get $~lib/error + if + return + end f32.const 1 f32.ne if @@ -6820,9 +7858,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get + global.get $~lib/error + if + return + end f32.const 4 f32.ne if @@ -6833,9 +7875,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get + global.get $~lib/error + if + return + end f32.const 9 f32.ne if @@ -6846,14 +7892,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 144 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 137 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) local.get $2 call $~lib/rt/pure/__retain drop @@ -6863,7 +7909,7 @@ local.get $0 f64.mul ) - (func $~lib/typedarray/Float64Array#map (; 145 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#map (; 138 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6872,84 +7918,115 @@ (local $6 i32) (local $7 i32) (local $8 f64) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - call $~lib/typedarray/Int64Array#get:length - local.set $2 - local.get $1 - i32.load offset=4 - local.set $3 - local.get $2 - call $~lib/typedarray/Float64Array#constructor - local.tee $4 - call $~lib/rt/pure/__retain - local.tee $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $0 - loop $loop|0 + block $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + call $~lib/typedarray/Int64Array#get:length + local.set $2 local.get $0 + i32.load offset=4 + local.set $4 local.get $2 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 3 - i32.shl - local.tee $7 - local.get $3 - i32.add - f64.load - local.get $0 + call $~lib/typedarray/Float64Array#constructor + local.set $3 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $3 + call $~lib/rt/pure/__retain + local.tee $5 + i32.load offset=4 + local.set $6 + loop $loop|0 local.get $1 - call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 - local.set $8 - local.get $6 - local.get $7 - i32.add - local.get $8 - f64.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $2 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $1 + i32.const 3 + i32.shl + local.tee $7 + local.get $4 + i32.add + f64.load + local.get $1 + local.get $0 + call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 + local.set $8 + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $6 + local.get $7 + i32.add + local.get $8 + f64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|0 + end end + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $5 end - local.get $1 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (; 146 ;) (type $FUNCSIG$v) - (local $0 i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (; 139 ;) (type $FUNCSIG$v) + (local $0 f64) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $2 + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 call $~lib/rt/pure/__retain - local.tee $0 + local.tee $1 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/typedarray/Float64Array#map - local.tee $1 + local.tee $2 i32.const 0 call $~lib/typedarray/Float64Array#__get + global.get $~lib/error + if + return + end f64.const 1 f64.ne if @@ -6960,9 +8037,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 call $~lib/typedarray/Float64Array#__get + global.get $~lib/error + if + return + end f64.const 4 f64.ne if @@ -6973,9 +8054,13 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 call $~lib/typedarray/Float64Array#__get + global.get $~lib/error + if + return + end f64.const 9 f64.ne if @@ -6986,14 +8071,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $0 + local.get $3 call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 147 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 140 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7005,10 +8090,11 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int8Array#some (; 148 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#some (; 141 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -7035,6 +8121,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 + drop if local.get $2 call $~lib/rt/pure/__release @@ -7055,7 +8145,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 149 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 142 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7066,25 +8156,42 @@ i32.and i32.eqz ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (; 150 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (; 143 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 35 call $~lib/typedarray/Int8Array#some @@ -7113,10 +8220,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#some (; 151 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#some (; 144 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -7143,6 +8251,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 + drop if local.get $2 call $~lib/rt/pure/__release @@ -7163,25 +8275,42 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (; 152 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (; 145 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 37 call $~lib/typedarray/Uint8Array#some @@ -7210,25 +8339,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (; 153 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (; 146 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 39 call $~lib/typedarray/Uint8Array#some @@ -7257,7 +8403,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 154 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 147 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7269,10 +8415,11 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int16Array#some (; 155 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#some (; 148 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -7302,6 +8449,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 + drop if local.get $2 call $~lib/rt/pure/__release @@ -7322,7 +8473,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 156 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 149 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7333,25 +8484,42 @@ i32.and i32.eqz ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (; 157 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (; 150 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 41 call $~lib/typedarray/Int16Array#some @@ -7380,10 +8548,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#some (; 158 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#some (; 151 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -7413,6 +8582,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 + drop if local.get $2 call $~lib/rt/pure/__release @@ -7433,25 +8606,42 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (; 159 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (; 152 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 43 call $~lib/typedarray/Uint16Array#some @@ -7480,7 +8670,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 160 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 153 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7490,10 +8680,11 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int32Array#some (; 161 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#some (; 154 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -7523,6 +8714,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 + drop if local.get $2 call $~lib/rt/pure/__release @@ -7543,7 +8738,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 162 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 155 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7552,25 +8747,42 @@ local.get $0 i32.eqz ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (; 163 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (; 156 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 45 call $~lib/typedarray/Int32Array#some @@ -7599,25 +8811,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (; 164 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (; 157 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 47 call $~lib/typedarray/Int32Array#some @@ -7646,7 +8875,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 165 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 158 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7656,10 +8885,11 @@ i64.const 2 i64.eq ) - (func $~lib/typedarray/Int64Array#some (; 166 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#some (; 159 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -7689,6 +8919,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$ijii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 + drop if local.get $2 call $~lib/rt/pure/__release @@ -7709,7 +8943,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 167 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 160 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7719,25 +8953,42 @@ i64.const 0 i64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (; 168 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (; 161 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 49 call $~lib/typedarray/Int64Array#some @@ -7766,25 +9017,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (; 169 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (; 162 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i64.const 2 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i64.const 4 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i64.const 6 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 51 call $~lib/typedarray/Int64Array#some @@ -7813,7 +9081,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 170 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 163 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7823,10 +9091,11 @@ f32.const 2 f32.eq ) - (func $~lib/typedarray/Float32Array#some (; 171 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#some (; 164 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -7856,6 +9125,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$ifii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 + drop if local.get $2 call $~lib/rt/pure/__release @@ -7876,7 +9149,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 172 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 165 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7886,25 +9159,42 @@ f32.const 0 f32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (; 173 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (; 166 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 53 call $~lib/typedarray/Float32Array#some @@ -7933,7 +9223,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 174 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 167 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -7943,10 +9233,11 @@ f64.const 2 f64.eq ) - (func $~lib/typedarray/Float64Array#some (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#some (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -7976,6 +9267,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$idii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 + drop if local.get $2 call $~lib/rt/pure/__release @@ -7996,7 +9291,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 176 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 169 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -8006,25 +9301,42 @@ f64.const 0 f64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (; 177 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (; 170 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 55 call $~lib/typedarray/Float64Array#some @@ -8053,10 +9365,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#findIndex (; 178 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#findIndex (; 171 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain local.tee $2 @@ -8083,6 +9396,12 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + end if local.get $2 call $~lib/rt/pure/__release @@ -8104,7 +9423,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 179 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 172 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -8116,32 +9435,49 @@ i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (; 180 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (; 173 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - local.get $0 + global.get $~lib/error + if + return + end + local.get $0 i32.const 57 call $~lib/typedarray/Int8Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -8154,7 +9490,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -8166,10 +9502,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#findIndex (; 181 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#findIndex (; 174 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain local.tee $2 @@ -8196,6 +9533,12 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + end if local.get $2 call $~lib/rt/pure/__release @@ -8217,32 +9560,49 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (; 182 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (; 175 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 59 call $~lib/typedarray/Uint8Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -8255,7 +9615,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -8267,32 +9627,49 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (; 183 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (; 176 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 61 call $~lib/typedarray/Uint8Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -8305,7 +9682,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -8317,10 +9694,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#findIndex (; 184 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#findIndex (; 177 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain local.tee $2 @@ -8350,6 +9728,12 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + end if local.get $2 call $~lib/rt/pure/__release @@ -8371,7 +9755,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 185 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 178 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -8383,32 +9767,49 @@ i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (; 186 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (; 179 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 63 call $~lib/typedarray/Int16Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -8421,7 +9822,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -8433,10 +9834,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#findIndex (; 187 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#findIndex (; 180 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain local.tee $2 @@ -8466,6 +9868,12 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + end if local.get $2 call $~lib/rt/pure/__release @@ -8487,32 +9895,49 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (; 188 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (; 181 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 65 call $~lib/typedarray/Uint16Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -8525,7 +9950,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -8537,10 +9962,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#findIndex (; 189 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#findIndex (; 182 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain local.tee $2 @@ -8570,6 +9996,12 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + end if local.get $2 call $~lib/rt/pure/__release @@ -8591,7 +10023,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 190 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 183 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -8601,32 +10033,49 @@ i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (; 191 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (; 184 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 67 call $~lib/typedarray/Int32Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -8639,7 +10088,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -8651,32 +10100,49 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (; 192 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (; 185 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 69 call $~lib/typedarray/Int32Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -8689,7 +10155,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -8701,10 +10167,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#findIndex (; 193 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#findIndex (; 186 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain local.tee $2 @@ -8734,6 +10201,12 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$ijii) + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + end if local.get $2 call $~lib/rt/pure/__release @@ -8755,7 +10228,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 194 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 187 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -8765,32 +10238,49 @@ i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (; 195 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (; 188 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 71 call $~lib/typedarray/Int64Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -8803,7 +10293,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -8815,32 +10305,49 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (; 196 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (; 189 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i64.const 1 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i64.const 2 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i64.const 3 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 73 call $~lib/typedarray/Int64Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -8853,7 +10360,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -8865,10 +10372,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#findIndex (; 197 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#findIndex (; 190 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain local.tee $2 @@ -8898,6 +10406,12 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$ifii) + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + end if local.get $2 call $~lib/rt/pure/__release @@ -8919,7 +10433,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 198 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 191 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -8929,32 +10443,49 @@ f32.const 4 f32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (; 199 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (; 192 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 75 call $~lib/typedarray/Float32Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -8967,7 +10498,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -8979,10 +10510,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#findIndex (; 200 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#findIndex (; 193 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $0 call $~lib/rt/pure/__retain local.tee $2 @@ -9012,6 +10544,12 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$idii) + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + end if local.get $2 call $~lib/rt/pure/__release @@ -9033,7 +10571,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 201 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 194 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -9043,32 +10581,49 @@ f64.const 4 f64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (; 202 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (; 195 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 77 call $~lib/typedarray/Float64Array#findIndex i32.const 1 i32.ne if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -9081,7 +10636,7 @@ i32.const -1 i32.ne if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -9093,7 +10648,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 203 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 196 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -9108,10 +10663,11 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#every (; 204 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#every (; 197 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -9138,6 +10694,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 + drop if local.get $0 i32.const 1 @@ -9158,25 +10718,42 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (; 205 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (; 198 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 79 call $~lib/typedarray/Int8Array#every @@ -9205,7 +10782,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 206 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 199 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -9216,10 +10793,11 @@ i32.and i32.eqz ) - (func $~lib/typedarray/Uint8Array#every (; 207 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#every (; 200 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -9246,6 +10824,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 + drop if local.get $0 i32.const 1 @@ -9266,25 +10848,42 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (; 208 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (; 201 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 81 call $~lib/typedarray/Uint8Array#every @@ -9313,25 +10912,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (; 209 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (; 202 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 2 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 83 call $~lib/typedarray/Uint8Array#every @@ -9360,7 +10976,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 210 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 203 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -9375,10 +10991,11 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#every (; 211 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#every (; 204 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -9408,6 +11025,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 + drop i32.eqz if local.get $2 @@ -9427,25 +11048,42 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (; 212 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (; 205 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 85 call $~lib/typedarray/Int16Array#every @@ -9474,10 +11112,11 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#every (; 213 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#every (; 206 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -9507,6 +11146,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 + drop i32.eqz if local.get $2 @@ -9526,25 +11169,42 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (; 214 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (; 207 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 87 call $~lib/typedarray/Uint16Array#every @@ -9573,7 +11233,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 215 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 208 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -9584,10 +11244,11 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#every (; 216 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#every (; 209 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -9617,6 +11278,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$iiii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 + drop i32.eqz if local.get $2 @@ -9636,25 +11301,42 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (; 217 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (; 210 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 89 call $~lib/typedarray/Int32Array#every @@ -9683,25 +11365,42 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (; 218 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (; 211 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i32.const 2 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i32.const 4 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i32.const 6 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 91 call $~lib/typedarray/Int32Array#every @@ -9730,7 +11429,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 219 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 212 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -9742,10 +11441,11 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#every (; 220 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#every (; 213 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -9775,6 +11475,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$ijii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 + drop i32.eqz if local.get $2 @@ -9794,25 +11498,42 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (; 221 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (; 214 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 93 call $~lib/typedarray/Int64Array#every @@ -9841,7 +11562,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 222 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 215 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -9853,25 +11574,42 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 223 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 216 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 i64.const 2 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 i64.const 4 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 i64.const 6 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 95 call $~lib/typedarray/Int64Array#every @@ -9900,7 +11638,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/math/NativeMathf.mod (; 224 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 217 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10049,7 +11787,7 @@ local.get $0 f32.mul ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 225 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 218 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -10060,10 +11798,11 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#every (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#every (; 219 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -10093,6 +11832,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$ifii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 + drop i32.eqz if local.get $2 @@ -10112,25 +11855,42 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (; 227 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (; 220 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 97 call $~lib/typedarray/Float32Array#every @@ -10159,7 +11919,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/math/NativeMath.mod (; 228 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 221 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) (local $1 i64) (local $2 i64) (local $3 i64) @@ -10315,7 +12075,7 @@ local.get $0 f64.mul ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 229 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 222 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -10326,10 +12086,11 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#every (; 230 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#every (; 223 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $0 call $~lib/rt/pure/__retain @@ -10359,6 +12120,10 @@ local.get $2 local.get $1 call_indirect (type $FUNCSIG$idii) + i32.const 0 + global.get $~lib/error + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 + drop i32.eqz if local.get $2 @@ -10378,25 +12143,42 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (; 231 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (; 224 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $1 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 call $~lib/rt/pure/__retain local.tee $0 i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 99 call $~lib/typedarray/Float64Array#every @@ -10425,21 +12207,28 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 232 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 225 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop + global.get $std/typedarray/forEachValues + local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.const 255 i32.and - global.get $std/typedarray/forEachValues - local.get $1 - call $~lib/array/Array#__get + local.get $3 i32.const 255 i32.and i32.ne if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -10450,7 +12239,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -10461,7 +12250,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -10475,177 +12264,255 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#forEach (; 233 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Int8Array#forEach (; 226 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - i32.load offset=4 - local.set $2 - i32.const 0 - local.set $0 - local.get $1 - i32.load offset=8 - local.set $3 - loop $loop|0 + block $~lib/typedarray/FOREACH<~lib/typedarray/Int8Array,i8>|inlined.0 local.get $0 - local.get $3 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - local.get $2 - i32.add - i32.load8_s - local.get $0 - local.get $1 - call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 + call $~lib/rt/pure/__retain + local.tee $1 + i32.load offset=4 + local.set $2 + i32.const 0 + local.set $0 + local.get $1 + i32.load offset=8 + local.set $3 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $3 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $0 + local.get $2 + i32.add + i32.load8_s + local.get $0 + local.get $1 + call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 + global.get $~lib/error + br_if $~lib/typedarray/FOREACH<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end end + local.get $1 + call $~lib/rt/pure/__release end - local.get $1 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (; 234 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (; 227 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 0 + local.get $1 i32.const 24 i32.shl i32.const 24 i32.shr_s call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 1 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 1 + local.get $1 i32.const 24 i32.shl i32.const 24 i32.shr_s call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 2 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Int8Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#forEach (; 235 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#forEach (; 228 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $2 - i32.load offset=4 - local.set $3 - i32.const 0 - local.set $0 - local.get $2 - i32.load offset=8 - local.set $4 - loop $loop|0 + block $~lib/typedarray/FOREACH<~lib/typedarray/Uint8Array,u8>|inlined.0 local.get $0 - local.get $4 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - local.get $3 - i32.add - i32.load8_u - local.get $0 - local.get $2 - local.get $1 - call_indirect (type $FUNCSIG$viii) + call $~lib/rt/pure/__retain + local.tee $2 + i32.load offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $2 + i32.load offset=8 + local.set $4 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $4 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $0 + local.get $3 + i32.add + i32.load8_u + local.get $0 + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$viii) + global.get $~lib/error + br_if $~lib/typedarray/FOREACH<~lib/typedarray/Uint8Array,u8>|inlined.0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (; 236 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (; 229 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 0 + local.get $1 i32.const 255 i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $0 - i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 1 + local.get $1 i32.const 255 i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $0 - i32.const 2 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 i32.const 255 i32.and - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 102 call $~lib/typedarray/Uint8Array#forEach @@ -10653,53 +12520,88 @@ i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (; 237 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (; 230 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 0 + local.get $1 i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 1 + local.get $1 i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 2 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 103 call $~lib/typedarray/Uint8Array#forEach @@ -10707,33 +12609,40 @@ i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 238 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 231 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop + global.get $std/typedarray/forEachValues + local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $3 + global.get $~lib/error + if + return + end local.get $0 i32.const 65535 i32.and - global.get $std/typedarray/forEachValues - local.get $1 - call $~lib/array/Array#__get + local.get $3 i32.const 65535 i32.and i32.ne if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -10744,7 +12653,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -10755,7 +12664,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -10769,209 +12678,294 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#forEach (; 239 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Int16Array#forEach (; 232 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - i32.load offset=4 - local.set $2 - i32.const 0 - local.set $0 - local.get $1 - call $~lib/typedarray/Int16Array#get:length - local.set $3 - loop $loop|0 + block $~lib/typedarray/FOREACH<~lib/typedarray/Int16Array,i16>|inlined.0 local.get $0 - local.get $3 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 1 - i32.shl - local.get $2 - i32.add - i32.load16_s - local.get $0 - local.get $1 - call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 + call $~lib/rt/pure/__retain + local.tee $1 + i32.load offset=4 + local.set $2 + i32.const 0 + local.set $0 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.set $3 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $3 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $0 + i32.const 1 + i32.shl + local.get $2 + i32.add + i32.load16_s + local.get $0 + local.get $1 + call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 + global.get $~lib/error + br_if $~lib/typedarray/FOREACH<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end end + local.get $1 + call $~lib/rt/pure/__release end - local.get $1 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (; 240 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (; 233 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get - i32.const 16 - i32.shl + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 16 + i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set - local.get $0 - i32.const 1 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 1 + local.get $1 i32.const 16 i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set - local.get $0 - i32.const 2 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 i32.const 16 i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Int16Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#forEach (; 241 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Uint16Array#forEach (; 234 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - i32.load offset=4 - local.set $2 - i32.const 0 - local.set $0 - local.get $1 - call $~lib/typedarray/Int16Array#get:length - local.set $3 - loop $loop|0 + block $~lib/typedarray/FOREACH<~lib/typedarray/Uint16Array,u16>|inlined.0 local.get $0 - local.get $3 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 1 - i32.shl - local.get $2 - i32.add - i32.load16_u - local.get $0 - local.get $1 - call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 + call $~lib/rt/pure/__retain + local.tee $1 + i32.load offset=4 + local.set $2 + i32.const 0 + local.set $0 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.set $3 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $3 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $0 + i32.const 1 + i32.shl + local.get $2 + i32.add + i32.load16_u + local.get $0 + local.get $1 + call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 + global.get $~lib/error + br_if $~lib/typedarray/FOREACH<~lib/typedarray/Uint16Array,u16>|inlined.0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end end + local.get $1 + call $~lib/rt/pure/__release end - local.get $1 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (; 242 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (; 235 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 0 + local.get $1 i32.const 65535 i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $0 - i32.const 1 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 1 + local.get $1 i32.const 65535 i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $0 - i32.const 2 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 i32.const 65535 i32.and - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Uint16Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 243 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 236 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop global.get $std/typedarray/forEachValues local.get $1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $3 + global.get $~lib/error + if + return + end local.get $0 + local.get $3 i32.ne if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -10982,7 +12976,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -10993,7 +12987,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -11007,77 +13001,116 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#forEach (; 244 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#forEach (; 237 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $2 - i32.load offset=4 - local.set $3 - i32.const 0 - local.set $0 - local.get $2 - call $~lib/typedarray/Int32Array#get:length - local.set $4 - loop $loop|0 - block $break|0 - local.get $0 - local.get $4 - i32.ge_s - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 2 - i32.shl - local.get $3 - i32.add - i32.load - local.get $0 - local.get $2 - local.get $1 - call_indirect (type $FUNCSIG$viii) - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + block $~lib/typedarray/FOREACH<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $2 + i32.load offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $2 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + loop $loop|0 + block $break|0 + local.get $0 + local.get $4 + i32.ge_s + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $0 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load + local.get $0 + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$viii) + global.get $~lib/error + br_if $~lib/typedarray/FOREACH<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> (; 245 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> (; 238 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end local.get $0 - i32.const 1 + i32.const 0 + local.get $1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end local.get $0 - i32.const 2 + i32.const 1 + local.get $1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 106 call $~lib/typedarray/Int32Array#forEach @@ -11085,47 +13118,82 @@ i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (; 246 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (; 239 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end local.get $0 - i32.const 1 + i32.const 0 + local.get $1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end local.get $0 - i32.const 2 + i32.const 1 + local.get $1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 107 call $~lib/typedarray/Int32Array#forEach @@ -11133,30 +13201,37 @@ i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 247 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 240 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop - local.get $0 global.get $std/typedarray/forEachValues local.get $1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $0 + local.get $3 i64.extend_i32_s i64.ne if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -11167,7 +13242,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -11178,7 +13253,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -11192,80 +13267,119 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#forEach (; 248 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#forEach (; 241 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $2 - i32.load offset=4 - local.set $3 - i32.const 0 - local.set $0 - local.get $2 - call $~lib/typedarray/Int64Array#get:length - local.set $4 - loop $loop|0 - block $break|0 - local.get $0 - local.get $4 - i32.ge_s - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 3 - i32.shl - local.get $3 - i32.add - i64.load - local.get $0 - local.get $2 - local.get $1 - call_indirect (type $FUNCSIG$vjii) - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + block $~lib/typedarray/FOREACH<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.tee $2 + i32.load offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $2 + call $~lib/typedarray/Int64Array#get:length + local.set $4 + loop $loop|0 + block $break|0 + local.get $0 + local.get $4 + i32.ge_s + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $0 + i32.const 3 + i32.shl + local.get $3 + i32.add + i64.load + local.get $0 + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vjii) + global.get $~lib/error + br_if $~lib/typedarray/FOREACH<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end end + local.get $2 + call $~lib/rt/pure/__release end - local.get $2 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (; 249 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (; 242 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 0 + local.get $1 i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $0 - i32.const 1 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 1 + local.get $1 i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $0 - i32.const 2 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 i64.extend_i32_s call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 108 call $~lib/typedarray/Int64Array#forEach @@ -11273,50 +13387,85 @@ i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (; 250 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (; 243 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end local.get $0 - i32.const 1 + i32.const 0 + local.get $1 + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end local.get $0 - i32.const 2 + i32.const 1 + local.get $1 + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $0 i32.const 109 call $~lib/typedarray/Int64Array#forEach @@ -11324,30 +13473,37 @@ i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 251 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 244 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop - local.get $0 global.get $std/typedarray/forEachValues local.get $1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $0 + local.get $3 f32.convert_i32_s f32.ne if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -11358,7 +13514,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -11369,7 +13525,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -11383,108 +13539,154 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#forEach (; 252 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Float32Array#forEach (; 245 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - i32.load offset=4 - local.set $2 - i32.const 0 - local.set $0 - local.get $1 - call $~lib/typedarray/Int32Array#get:length - local.set $3 - loop $loop|0 + block $~lib/typedarray/FOREACH<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $0 - local.get $3 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 2 - i32.shl - local.get $2 - i32.add - f32.load - local.get $0 - local.get $1 - call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 + call $~lib/rt/pure/__retain + local.tee $1 + i32.load offset=4 + local.set $2 + i32.const 0 + local.set $0 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + local.set $3 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $3 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $0 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load + local.get $0 + local.get $1 + call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 + global.get $~lib/error + br_if $~lib/typedarray/FOREACH<~lib/typedarray/Float32Array,f32>|inlined.0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end end + local.get $1 + call $~lib/rt/pure/__release end - local.get $1 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (; 253 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (; 246 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 0 + local.get $1 f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 1 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 1 + local.get $1 f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 2 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 f32.convert_i32_s call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Float32Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 254 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 247 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $2 call $~lib/rt/pure/__retain drop - local.get $0 global.get $std/typedarray/forEachValues local.get $1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $0 + local.get $3 f64.convert_i32_s f64.ne if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -11495,7 +13697,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -11506,7 +13708,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -11520,97 +13722,136 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#forEach (; 255 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Float64Array#forEach (; 248 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.tee $1 - i32.load offset=4 - local.set $2 - i32.const 0 - local.set $0 - local.get $1 - call $~lib/typedarray/Int64Array#get:length - local.set $3 - loop $loop|0 + block $~lib/typedarray/FOREACH<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $0 - local.get $3 - i32.lt_s - if - i32.const 3 - global.set $~lib/argc - local.get $0 - i32.const 3 - i32.shl - local.get $2 - i32.add - f64.load - local.get $0 - local.get $1 - call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 + call $~lib/rt/pure/__retain + local.tee $1 + i32.load offset=4 + local.set $2 + i32.const 0 + local.set $0 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $3 + loop $loop|0 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $3 + i32.lt_s + if + i32.const 3 + global.set $~lib/argc + local.get $0 + i32.const 3 + i32.shl + local.get $2 + i32.add + f64.load + local.get $0 + local.get $1 + call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 + global.get $~lib/error + br_if $~lib/typedarray/FOREACH<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end end + local.get $1 + call $~lib/rt/pure/__release end - local.get $1 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (; 256 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (; 249 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $1 + global.get $~lib/error + if + return + end + local.tee $2 call $~lib/rt/pure/__retain local.tee $0 global.set $std/typedarray/forEachSelf - local.get $0 - i32.const 0 global.get $std/typedarray/forEachValues i32.const 0 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 0 + local.get $1 f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 1 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 1 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 1 + local.get $1 f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 2 + global.get $~lib/error + if + return + end global.get $std/typedarray/forEachValues i32.const 2 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 2 + local.get $1 f64.convert_i32_s call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $0 call $~lib/typedarray/Float64Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#reverse (; 257 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reverse (; 250 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11662,7 +13903,7 @@ end local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (; 258 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (; 251 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11670,53 +13911,86 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 + local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $4 local.get $0 - call $~lib/array/Array#__get + local.get $1 i32.const 24 i32.shl i32.const 24 i32.shr_s call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - call $~lib/array/Array#__get + local.get $1 i32.const 24 i32.shl i32.const 24 i32.shr_s call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable end end - local.get $2 + local.get $4 call $~lib/typedarray/Int8Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -11727,21 +14001,33 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 call $~lib/typedarray/Int8Array#__get - local.get $1 + global.get $~lib/error + if + return + end + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 24 i32.shl i32.const 24 i32.shr_s i32.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -11757,19 +14043,25 @@ unreachable end end - local.get $3 + local.get $5 i32.const 4 i32.const 8 call $~lib/typedarray/Int8Array#subarray - local.tee $6 + local.tee $1 call $~lib/typedarray/Int8Array#reverse local.tee $0 i32.const 0 call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 8 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -11779,10 +14071,16 @@ local.get $0 i32.const 1 call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 7 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -11792,10 +14090,16 @@ local.get $0 i32.const 2 call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 6 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -11805,32 +14109,38 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 5 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release - local.get $2 + local.get $1 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#reverse (; 259 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reverse (; 252 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11882,7 +14192,7 @@ end local.get $3 ) - (func $~lib/typedarray/Uint8Array#subarray (; 260 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#subarray (; 253 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11913,42 +14223,52 @@ select local.set $4 i32.const 12 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $0 - local.get $2 - i32.load - local.tee $1 - local.get $0 - i32.load - local.tee $6 - i32.ne - if - local.get $1 + local.set $0 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $0 call $~lib/rt/pure/__retain - drop - local.get $6 + local.tee $0 + local.get $2 + i32.load + local.tee $1 + local.get $0 + i32.load + local.tee $6 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $1 + i32.store + local.get $0 + local.get $2 + i32.load offset=4 + local.get $3 + i32.add + i32.store offset=4 + local.get $0 + local.get $4 + local.get $3 + i32.sub + i32.store offset=8 + local.get $2 call $~lib/rt/pure/__release end - local.get $1 - i32.store - local.get $0 - local.get $2 - i32.load offset=4 - local.get $3 - i32.add - i32.store offset=4 - local.get $0 - local.get $4 - local.get $3 - i32.sub - i32.store offset=8 - local.get $2 - call $~lib/rt/pure/__release local.get $0 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 261 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 254 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11956,49 +14276,82 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 + local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $4 local.get $0 - call $~lib/array/Array#__get + local.get $1 i32.const 255 i32.and - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - call $~lib/array/Array#__get + local.get $1 i32.const 255 i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable end end - local.get $2 + local.get $4 call $~lib/typedarray/Uint8Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -12009,19 +14362,29 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 - call $~lib/typedarray/Uint8Array#__get - local.get $1 + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 255 i32.and i32.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -12037,17 +14400,23 @@ unreachable end end - local.get $3 + local.get $5 call $~lib/typedarray/Uint8Array#subarray - local.tee $6 + local.tee $1 call $~lib/typedarray/Uint8Array#reverse local.tee $0 i32.const 0 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 8 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -12056,11 +14425,17 @@ end local.get $0 i32.const 1 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 7 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -12069,11 +14444,17 @@ end local.get $0 i32.const 2 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 6 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -12082,33 +14463,39 @@ end local.get $0 i32.const 3 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 5 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release - local.get $2 + local.get $1 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#subarray (; 262 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#subarray (; 255 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12139,42 +14526,52 @@ select local.set $4 i32.const 12 - i32.const 5 + i32.const 7 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $0 - local.get $2 - i32.load - local.tee $1 - local.get $0 - i32.load - local.tee $6 - i32.ne - if - local.get $1 + local.set $0 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $0 call $~lib/rt/pure/__retain - drop - local.get $6 - call $~lib/rt/pure/__release - end - local.get $1 - i32.store - local.get $0 - local.get $2 - i32.load offset=4 - local.get $3 - i32.add - i32.store offset=4 - local.get $0 - local.get $4 - local.get $3 - i32.sub - i32.store offset=8 - local.get $2 - call $~lib/rt/pure/__release + local.tee $0 + local.get $2 + i32.load + local.tee $1 + local.get $0 + i32.load + local.tee $6 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $1 + i32.store + local.get $0 + local.get $2 + i32.load offset=4 + local.get $3 + i32.add + i32.store offset=4 + local.get $0 + local.get $4 + local.get $3 + i32.sub + i32.store offset=8 + local.get $2 + call $~lib/rt/pure/__release + end local.get $0 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 263 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 256 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12182,49 +14579,82 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 + local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $4 local.get $0 - call $~lib/array/Array#__get + local.get $1 i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - call $~lib/array/Array#__get + local.get $1 i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable end end - local.get $2 + local.get $4 call $~lib/typedarray/Uint8Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -12235,19 +14665,29 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 call $~lib/typedarray/Uint8ClampedArray#__get - local.get $1 + global.get $~lib/error + if + return + end + i32.const 255 + i32.and + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 255 i32.and i32.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -12263,17 +14703,23 @@ unreachable end end - local.get $3 + local.get $5 call $~lib/typedarray/Uint8ClampedArray#subarray - local.tee $6 + local.tee $1 call $~lib/typedarray/Uint8Array#reverse local.tee $0 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 8 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -12283,10 +14729,16 @@ local.get $0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 7 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -12296,10 +14748,16 @@ local.get $0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 6 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -12309,32 +14767,38 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + if + return + end + i32.const 255 + i32.and i32.const 5 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release - local.get $2 + local.get $1 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#reverse (; 264 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reverse (; 257 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12391,7 +14855,7 @@ end local.get $3 ) - (func $~lib/typedarray/Int16Array#subarray (; 265 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#subarray (; 258 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12423,46 +14887,56 @@ select local.set $4 i32.const 12 - i32.const 6 + i32.const 8 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - local.get $1 - i32.load - local.tee $6 - local.get $2 - i32.load - local.tee $3 - i32.ne - if - local.get $3 + local.set $1 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $1 call $~lib/rt/pure/__retain - drop - local.get $6 + local.tee $1 + local.get $1 + i32.load + local.tee $6 + local.get $2 + i32.load + local.tee $3 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $3 + i32.store + local.get $1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.store offset=4 + local.get $1 + local.get $4 + local.get $0 + i32.sub + i32.const 1 + i32.shl + i32.store offset=8 + local.get $2 call $~lib/rt/pure/__release end - local.get $3 - i32.store - local.get $1 - local.get $2 - i32.load offset=4 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $4 - local.get $0 - i32.sub - i32.const 1 - i32.shl - i32.store offset=8 - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 266 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 259 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12470,53 +14944,86 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 + local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $4 local.get $0 - call $~lib/array/Array#__get + local.get $1 i32.const 16 i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - call $~lib/array/Array#__get + local.get $1 i32.const 16 i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 - end + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end end - local.get $2 + local.get $4 call $~lib/typedarray/Int16Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -12527,21 +15034,33 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 call $~lib/typedarray/Int16Array#__get - local.get $1 + global.get $~lib/error + if + return + end + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 16 i32.shl i32.const 16 i32.shr_s i32.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -12557,17 +15076,23 @@ unreachable end end - local.get $3 + local.get $5 call $~lib/typedarray/Int16Array#subarray - local.tee $6 + local.tee $1 call $~lib/typedarray/Int16Array#reverse local.tee $0 i32.const 0 call $~lib/typedarray/Int16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 8 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -12577,10 +15102,16 @@ local.get $0 i32.const 1 call $~lib/typedarray/Int16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 7 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -12590,10 +15121,16 @@ local.get $0 i32.const 2 call $~lib/typedarray/Int16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 6 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -12603,32 +15140,38 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 5 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release - local.get $2 + local.get $1 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#reverse (; 267 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reverse (; 260 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12685,7 +15228,7 @@ end local.get $3 ) - (func $~lib/typedarray/Uint16Array#subarray (; 268 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#subarray (; 261 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12717,46 +15260,56 @@ select local.set $4 i32.const 12 - i32.const 7 + i32.const 9 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - local.get $1 - i32.load - local.tee $6 - local.get $2 - i32.load - local.tee $3 - i32.ne - if - local.get $3 + local.set $1 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $1 call $~lib/rt/pure/__retain - drop - local.get $6 + local.tee $1 + local.get $1 + i32.load + local.tee $6 + local.get $2 + i32.load + local.tee $3 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $3 + i32.store + local.get $1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.store offset=4 + local.get $1 + local.get $4 + local.get $0 + i32.sub + i32.const 1 + i32.shl + i32.store offset=8 + local.get $2 call $~lib/rt/pure/__release end - local.get $3 - i32.store - local.get $1 - local.get $2 - i32.load offset=4 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $4 - local.get $0 - i32.sub - i32.const 1 - i32.shl - i32.store offset=8 - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 269 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 262 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12764,49 +15317,82 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 + local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $4 local.get $0 - call $~lib/array/Array#__get + local.get $1 i32.const 65535 i32.and - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - call $~lib/array/Array#__get + local.get $1 i32.const 65535 i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable end end - local.get $2 + local.get $4 call $~lib/typedarray/Uint16Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -12817,19 +15403,29 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 call $~lib/typedarray/Uint16Array#__get - local.get $1 + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 65535 i32.and i32.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -12845,17 +15441,23 @@ unreachable end end - local.get $3 + local.get $5 call $~lib/typedarray/Uint16Array#subarray - local.tee $6 + local.tee $1 call $~lib/typedarray/Uint16Array#reverse local.tee $0 i32.const 0 call $~lib/typedarray/Uint16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 8 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -12865,10 +15467,16 @@ local.get $0 i32.const 1 call $~lib/typedarray/Uint16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 7 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -12878,10 +15486,16 @@ local.get $0 i32.const 2 call $~lib/typedarray/Uint16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 6 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -12891,32 +15505,38 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#__get + global.get $~lib/error + if + return + end + i32.const 65535 + i32.and i32.const 5 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release - local.get $2 + local.get $1 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#reverse (; 270 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#reverse (; 263 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12973,7 +15593,7 @@ end local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (; 271 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (; 264 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12981,45 +15601,78 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 - local.get $0 - local.get $1 + local.get $3 local.get $0 - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $4 + local.get $0 + local.get $2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - call $~lib/array/Array#__get + local.get $2 call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable end end - local.get $2 + local.get $4 call $~lib/typedarray/Int32Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -13030,17 +15683,27 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 call $~lib/typedarray/Int32Array#__get - local.get $1 + local.set $2 + global.get $~lib/error + if + return + end + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end + local.get $2 i32.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -13056,19 +15719,23 @@ unreachable end end - local.get $3 + local.get $5 i32.const 4 i32.const 8 call $~lib/typedarray/Int32Array#subarray - local.tee $6 + local.tee $2 call $~lib/typedarray/Int32Array#reverse local.tee $0 i32.const 0 call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 8 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -13078,10 +15745,14 @@ local.get $0 i32.const 1 call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 7 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -13091,10 +15762,14 @@ local.get $0 i32.const 2 call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 6 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -13104,32 +15779,36 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 5 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array#subarray (; 272 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#subarray (; 265 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13161,46 +15840,56 @@ select local.set $4 i32.const 12 - i32.const 9 + i32.const 11 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - local.get $1 - i32.load - local.tee $6 - local.get $2 - i32.load - local.tee $3 - i32.ne - if - local.get $3 + local.set $1 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $1 call $~lib/rt/pure/__retain - drop - local.get $6 + local.tee $1 + local.get $1 + i32.load + local.tee $6 + local.get $2 + i32.load + local.tee $3 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $3 + i32.store + local.get $1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 + local.get $1 + local.get $4 + local.get $0 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 + local.get $2 call $~lib/rt/pure/__release end - local.get $3 - i32.store - local.get $1 - local.get $2 - i32.load offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $4 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.store offset=8 - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 273 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 266 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13208,45 +15897,78 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 + local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $4 local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set + local.get $2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + local.get $2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable end end - local.get $2 + local.get $4 call $~lib/typedarray/Int32Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -13257,17 +15979,27 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 - call $~lib/typedarray/Uint32Array#__get - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end + local.get $2 i32.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -13283,17 +16015,21 @@ unreachable end end - local.get $3 + local.get $5 call $~lib/typedarray/Uint32Array#subarray - local.tee $6 + local.tee $2 call $~lib/typedarray/Int32Array#reverse local.tee $0 i32.const 0 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 8 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -13302,11 +16038,15 @@ end local.get $0 i32.const 1 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 7 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -13315,11 +16055,15 @@ end local.get $0 i32.const 2 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 6 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -13328,33 +16072,37 @@ end local.get $0 i32.const 3 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i32.const 5 i32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#reverse (; 274 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#reverse (; 267 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13411,7 +16159,7 @@ end local.get $3 ) - (func $~lib/typedarray/Int64Array#subarray (; 275 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#subarray (; 268 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13443,94 +16191,137 @@ select local.set $4 i32.const 12 - i32.const 10 + i32.const 12 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - local.get $1 - i32.load - local.tee $6 - local.get $2 - i32.load - local.tee $3 - i32.ne - if - local.get $3 + local.set $1 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $1 call $~lib/rt/pure/__retain - drop - local.get $6 + local.tee $1 + local.get $1 + i32.load + local.tee $6 + local.get $2 + i32.load + local.tee $3 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $3 + i32.store + local.get $1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 + local.get $1 + local.get $4 + local.get $0 + i32.sub + i32.const 3 + i32.shl + i32.store offset=8 + local.get $2 call $~lib/rt/pure/__release end - local.get $3 - i32.store - local.get $1 - local.get $2 - i32.load offset=4 - local.get $0 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $4 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 276 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 269 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 i32) + (local $1 i64) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Int64Array#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 + local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $4 local.get $0 - call $~lib/array/Array#__get + local.get $2 i64.extend_i32_s call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - call $~lib/array/Array#__get + local.get $2 i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable end end - local.get $2 + local.get $4 call $~lib/typedarray/Int64Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -13541,18 +16332,26 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 call $~lib/typedarray/Int64Array#__get - local.get $1 + global.get $~lib/error + if + return + end + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i64.extend_i32_s i64.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -13568,17 +16367,21 @@ unreachable end end - local.get $3 + local.get $5 call $~lib/typedarray/Int64Array#subarray - local.tee $6 + local.tee $2 call $~lib/typedarray/Int64Array#reverse local.tee $0 i32.const 0 call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 8 i64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -13588,10 +16391,14 @@ local.get $0 i32.const 1 call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 7 i64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -13601,10 +16408,14 @@ local.get $0 i32.const 2 call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 6 i64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -13614,32 +16425,36 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 5 i64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#subarray (; 277 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#subarray (; 270 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13671,94 +16486,137 @@ select local.set $4 i32.const 12 - i32.const 11 + i32.const 13 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - local.get $1 - i32.load - local.tee $6 - local.get $2 - i32.load - local.tee $3 - i32.ne - if - local.get $3 + local.set $1 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $1 call $~lib/rt/pure/__retain - drop - local.get $6 + local.tee $1 + local.get $1 + i32.load + local.tee $6 + local.get $2 + i32.load + local.tee $3 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $3 + i32.store + local.get $1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 + local.get $1 + local.get $4 + local.get $0 + i32.sub + i32.const 3 + i32.shl + i32.store offset=8 + local.get $2 call $~lib/rt/pure/__release end - local.get $3 - i32.store - local.get $1 - local.get $2 - i32.load offset=4 - local.get $0 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $4 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 278 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 271 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 i32) + (local $1 i64) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Uint64Array#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 + local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $4 local.get $0 - call $~lib/array/Array#__get + local.get $2 i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - call $~lib/array/Array#__get + local.get $2 i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 - end + call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable + end end - local.get $2 + local.get $4 call $~lib/typedarray/Int64Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -13769,18 +16627,26 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 - call $~lib/typedarray/Uint64Array#__get - local.get $1 + call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end i64.extend_i32_s i64.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -13796,17 +16662,21 @@ unreachable end end - local.get $3 + local.get $5 call $~lib/typedarray/Uint64Array#subarray - local.tee $6 + local.tee $2 call $~lib/typedarray/Int64Array#reverse local.tee $0 i32.const 0 - call $~lib/typedarray/Uint64Array#__get + call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 8 i64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -13815,11 +16685,15 @@ end local.get $0 i32.const 1 - call $~lib/typedarray/Uint64Array#__get + call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 7 i64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -13828,11 +16702,15 @@ end local.get $0 i32.const 2 - call $~lib/typedarray/Uint64Array#__get + call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 6 i64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -13841,33 +16719,37 @@ end local.get $0 i32.const 3 - call $~lib/typedarray/Uint64Array#__get + call $~lib/typedarray/Int64Array#__get + global.get $~lib/error + if + return + end i64.const 5 i64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#reverse (; 279 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#reverse (; 272 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13924,7 +16806,7 @@ end local.get $3 ) - (func $~lib/typedarray/Float32Array#subarray (; 280 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#subarray (; 273 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13956,94 +16838,137 @@ select local.set $4 i32.const 12 - i32.const 12 + i32.const 14 call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.tee $1 - local.get $1 - i32.load - local.tee $6 - local.get $2 - i32.load - local.tee $3 - i32.ne - if - local.get $3 + local.set $1 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 + global.get $~lib/error + if + i32.const 0 + local.set $1 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $1 call $~lib/rt/pure/__retain - drop - local.get $6 + local.tee $1 + local.get $1 + i32.load + local.tee $6 + local.get $2 + i32.load + local.tee $3 + i32.ne + if + local.get $3 + call $~lib/rt/pure/__retain + drop + local.get $6 + call $~lib/rt/pure/__release + end + local.get $3 + i32.store + local.get $1 + local.get $2 + i32.load offset=4 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 + local.get $1 + local.get $4 + local.get $0 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 + local.get $2 call $~lib/rt/pure/__release end - local.get $3 - i32.store - local.get $1 - local.get $2 - i32.load offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $4 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.store offset=8 - local.get $2 - call $~lib/rt/pure/__release local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 281 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 274 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 i32) + (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Float32Array#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 + local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $4 local.get $0 - call $~lib/array/Array#__get + local.get $2 f32.convert_i32_s call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - call $~lib/array/Array#__get + local.get $2 f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable end end - local.get $2 + local.get $4 call $~lib/typedarray/Float32Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -14054,18 +16979,26 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 call $~lib/typedarray/Float32Array#__get - local.get $1 + global.get $~lib/error + if + return + end + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end f32.convert_i32_s f32.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -14081,17 +17014,21 @@ unreachable end end - local.get $3 + local.get $5 call $~lib/typedarray/Float32Array#subarray - local.tee $6 + local.tee $2 call $~lib/typedarray/Float32Array#reverse local.tee $0 i32.const 0 call $~lib/typedarray/Float32Array#__get + global.get $~lib/error + if + return + end f32.const 8 f32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -14101,10 +17038,14 @@ local.get $0 i32.const 1 call $~lib/typedarray/Float32Array#__get + global.get $~lib/error + if + return + end f32.const 7 f32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -14114,10 +17055,14 @@ local.get $0 i32.const 2 call $~lib/typedarray/Float32Array#__get + global.get $~lib/error + if + return + end f32.const 6 f32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -14127,32 +17072,36 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#__get + global.get $~lib/error + if + return + end f32.const 5 f32.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#reverse (; 282 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#reverse (; 275 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -14209,55 +17158,88 @@ end local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (; 283 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (; 276 ;) (type $FUNCSIG$v) (local $0 i32) - (local $1 i32) + (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain - local.set $1 + local.set $3 i32.const 9 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + global.get $~lib/error + if + return + end + local.tee $6 call $~lib/rt/pure/__retain - local.set $2 + local.set $4 i32.const 9 call $~lib/typedarray/Float64Array#constructor - local.tee $5 + global.get $~lib/error + if + return + end + local.tee $7 call $~lib/rt/pure/__retain - local.set $3 + local.set $5 + i32.const 0 + local.set $0 loop $loop|0 block $break|0 local.get $0 i32.const 9 i32.ge_s br_if $break|0 - local.get $2 + local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $4 local.get $0 - call $~lib/array/Array#__get + local.get $2 f64.convert_i32_s call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $3 local.get $0 - local.get $1 + call $~lib/typedarray/Int32Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $5 local.get $0 - call $~lib/array/Array#__get + local.get $2 f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $loop|0 + global.get $~lib/error + if + return + else + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + unreachable end end - local.get $2 + local.get $4 call $~lib/typedarray/Float64Array#reverse call $~lib/rt/pure/__release i32.const 0 @@ -14268,18 +17250,26 @@ i32.const 9 i32.ge_s br_if $break|1 - local.get $2 + local.get $4 local.get $0 call $~lib/typedarray/Float64Array#__get - local.get $1 + global.get $~lib/error + if + return + end + local.get $3 i32.const 8 local.get $0 i32.sub - call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + if + return + end f64.convert_i32_s f64.ne if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -14295,19 +17285,23 @@ unreachable end end - local.get $3 + local.get $5 i32.const 4 i32.const 8 call $~lib/typedarray/Float64Array#subarray - local.tee $6 + local.tee $2 call $~lib/typedarray/Float64Array#reverse local.tee $0 i32.const 0 call $~lib/typedarray/Float64Array#__get + global.get $~lib/error + if + return + end f64.const 8 f64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -14317,10 +17311,14 @@ local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get + global.get $~lib/error + if + return + end f64.const 7 f64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -14330,10 +17328,14 @@ local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get + global.get $~lib/error + if + return + end f64.const 6 f64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -14343,1153 +17345,1552 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#__get + global.get $~lib/error + if + return + end f64.const 5 f64.ne if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release local.get $6 call $~lib/rt/pure/__release - local.get $1 + local.get $7 call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) - (func $start:std/typedarray (; 284 ;) (type $FUNCSIG$v) + (func $start:std/typedarray (; 277 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f64) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) + (local $10 i32) i32.const 0 call $std/typedarray/testInstantiate - i32.const 5 - call $std/typedarray/testInstantiate - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $0 - call $~lib/typedarray/Int32Array#get:length - i32.const 3 - i32.ne - if + block $uncaughtError + global.get $~lib/error + br_if $uncaughtError + i32.const 5 + call $std/typedarray/testInstantiate + global.get $~lib/error + br_if $uncaughtError + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 0 - i32.const 24 - i32.const 95 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - if - i32.const 0 - i32.const 24 - i32.const 96 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - i32.const 12 - i32.ne - if + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 95 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 24 + i32.const 96 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 97 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.const 24 - i32.const 97 + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 98 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + br_if $uncaughtError i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 98 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 99 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 100 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#subarray + local.get $0 + call $~lib/rt/pure/__release + local.tee $0 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 103 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 105 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.const 24 - i32.const 99 + call $~lib/typedarray/Int32Array#__get + global.get $~lib/error + br_if $uncaughtError i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 106 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + i32.const 8 + call $~lib/typedarray/Float64Array#constructor + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 0 - i32.const 24 - i32.const 100 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#subarray - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/typedarray/Int32Array#get:length - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 103 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 105 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 106 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/rt/pure/__release - i32.const 8 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 2 - f64.const 7 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 3 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 5 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 6 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 7 - f64.const 8 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Float64Array#subarray - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/typedarray/Int64Array#get:length - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 122 + f64.const 7 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 3 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 5 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 6 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 7 + f64.const 8 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 16 - i32.ne - if + i32.const 6 + call $~lib/typedarray/Float64Array#subarray + local.get $0 + call $~lib/rt/pure/__release + local.tee $0 + call $~lib/typedarray/Int64Array#get:length + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 122 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 16 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 123 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 32 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 124 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 24 - i32.const 123 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 32 - i32.ne - if + global.set $~lib/argc i32.const 0 - i32.const 24 - i32.const 124 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $~lib/argc - i32.const 0 - local.set $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - br_table $0of1 $1of1 $outOfRange + local.set $1 + block $1of1 + block $0of1 + block $outOfRange + global.get $~lib/argc + br_table $0of1 $1of1 $outOfRange + end + unreachable end - unreachable + i32.const 1 + local.set $1 end - i32.const 1 - local.set $0 - end - local.get $1 - local.get $0 - call $~lib/typedarray/Float64Array#sort - call $~lib/rt/pure/__release - local.get $1 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.eq - if (result i32) + local.get $0 local.get $1 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - else + call $~lib/typedarray/Float64Array#sort + call $~lib/rt/pure/__release + local.get $0 i32.const 0 - end - if (result i32) - local.get $1 - i32.const 2 call $~lib/typedarray/Float64Array#__get - f64.const 6 + global.get $~lib/error + br_if $uncaughtError + f64.const 4 f64.eq - else - i32.const 0 - end - if (result i32) - local.get $1 + if (result i32) + local.get $0 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + global.get $~lib/error + br_if $uncaughtError + f64.const 5 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + global.get $~lib/error + br_if $uncaughtError + f64.const 6 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#__get + global.get $~lib/error + br_if $uncaughtError + f64.const 7 + f64.eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 126 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.eq - else - i32.const 0 - end - i32.eqz - if + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 0 - i32.const 24 - i32.const 126 + i32.const -32 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/rt/pure/__release - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.const 0 - i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - if - i32.const 0 - i32.const 24 - i32.const 135 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 136 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 255 - i32.ne - if + i32.const 256 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 0 - i32.const 24 - i32.const 137 + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 135 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 488 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 149 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 136 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 560 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + call $~lib/typedarray/Uint8ClampedArray#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 255 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 137 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 0 - i32.const 24 - i32.const 152 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 584 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 155 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const -2 - i32.const 2147483647 - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 608 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 24 - i32.const 158 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 632 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.const 16 + i32.const 424 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $2 + call $std/typedarray/isInt8ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 149 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.const 24 - i32.const 161 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $1 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $1 - i32.load offset=8 - i32.const 3 - i32.ne - if i32.const 0 - i32.const 24 - i32.const 165 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 1 - i32.ne - if + i32.const 2147483647 + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 24 - i32.const 166 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 167 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 3 - i32.const 0 - i32.const 14 - i32.const 656 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $7 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 168 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 680 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 169 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 704 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const 16 + i32.const 448 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $4 + call $std/typedarray/isInt8ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 152 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 i32.const 0 - i32.const 24 - i32.const 181 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 744 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const -3 + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 24 - i32.const 184 + i32.const 16 + i32.const 472 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $7 + call $std/typedarray/isInt8ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 155 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 784 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const -2 + i32.const 2147483647 + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 24 - i32.const 187 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const -2 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 824 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const 16 + i32.const 496 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $8 + call $std/typedarray/isInt8ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 158 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.const 24 - i32.const 190 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 864 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const 1 i32.const 0 - i32.const 24 - i32.const 193 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $1 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $1 - call $~lib/typedarray/Int32Array#get:length - i32.const 3 - i32.ne - if + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 0 - i32.const 24 - i32.const 197 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 4 - i32.ne - if + i32.const 16 + i32.const 520 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $9 + call $std/typedarray/isInt8ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 161 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $1 i32.const 0 - i32.const 24 - i32.const 198 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 12 - i32.ne - if i32.const 0 - i32.const 24 - i32.const 199 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 3 - i32.const 2 - i32.const 15 - i32.const 904 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $7 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const 2147483647 + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + local.get $1 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 165 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 166 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 167 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 0 - i32.const 24 - i32.const 200 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 936 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const 16 + i32.const 544 + call $~lib/rt/__allocArray + local.set $6 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $6 + call $~lib/rt/pure/__retain + local.tee $6 + call $std/typedarray/isInt8ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 168 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 i32.const 0 - i32.const 24 - i32.const 201 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 5 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 1 - i32.const 6 - call $~lib/typedarray/Int8Array#subarray - local.tee $1 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - if + i32.const 16 + i32.const 568 + call $~lib/rt/__allocArray + local.set $3 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $3 + call $~lib/rt/pure/__retain + local.tee $3 + call $std/typedarray/isInt8ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 169 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 0 - i32.const 24 - i32.const 222 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 223 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 224 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 5 - i32.ne - if + i32.const 17 + i32.const 592 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $2 + call $std/typedarray/isInt32ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 181 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.const 24 - i32.const 225 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.const 5 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - if + i32.const 17 + i32.const 632 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $4 + call $std/typedarray/isInt32ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 184 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 i32.const 0 - i32.const 24 - i32.const 228 + i32.const -3 + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=8 - i32.const 4 - i32.ne - if + i32.const 17 + i32.const 672 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $7 + call $std/typedarray/isInt32ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 187 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.const -2 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 712 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $8 + call $std/typedarray/isInt32ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 190 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.const 24 - i32.const 229 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 2 - i32.ne - if + i32.const 17 + i32.const 752 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $1 + call $~lib/rt/pure/__retain + local.tee $9 + call $std/typedarray/isInt32ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 193 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $1 i32.const 0 - i32.const 24 - i32.const 230 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + local.get $1 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 197 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 198 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 199 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=8 - i32.const 4 - i32.ne - if + i32.const 17 + i32.const 792 + call $~lib/rt/__allocArray + local.set $6 + global.get $~lib/error + br_if $uncaughtError + local.get $1 + local.get $6 + call $~lib/rt/pure/__retain + local.tee $6 + call $std/typedarray/isInt32ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 200 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 824 + call $~lib/rt/__allocArray + local.set $3 + global.get $~lib/error + br_if $uncaughtError + local.get $0 + local.get $3 + call $~lib/rt/pure/__retain + local.tee $3 + call $std/typedarray/isInt32ArrayEqual + global.get $~lib/error + br_if $uncaughtError + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 201 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + i32.const 6 + call $~lib/typedarray/Int8Array#constructor + local.set $0 + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 0 - i32.const 24 - i32.const 231 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $3 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 234 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load offset=8 - i32.const 3 - i32.ne - if + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 5 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + br_if $uncaughtError + local.get $0 + i32.const 1 + i32.const 6 + call $~lib/typedarray/Int8Array#subarray + local.tee $1 i32.const 0 - i32.const 24 - i32.const 235 + call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 3 - i32.ne - if + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 222 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 223 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 224 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 225 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/typedarray/Int8Array#subarray + local.tee $2 i32.const 0 - i32.const 24 - i32.const 236 + call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 228 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 229 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load offset=8 - i32.const 3 - i32.ne - if + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 230 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 231 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $4 i32.const 0 - i32.const 24 - i32.const 237 - i32.const 2 - call $~lib/builtins/abort - unreachable + call $~lib/typedarray/Int8Array#__get + global.get $~lib/error + br_if $uncaughtError + i32.const 255 + i32.and + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 234 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 235 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 236 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 237 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + br_if $uncaughtError + call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + br_if $uncaughtError + global.get $std/typedarray/forEachValues + call $~lib/rt/pure/__release + global.get $~lib/error + br_if $uncaughtError + global.get $std/typedarray/testArrayReverseValues + call $~lib/rt/pure/__release + global.get $~lib/error + br_if $uncaughtError + return end - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> - 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> - global.get $std/typedarray/forEachValues - call $~lib/rt/pure/__release - global.get $std/typedarray/testArrayReverseValues - call $~lib/rt/pure/__release + i32.const 1592 + i32.const 24 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable ) - (func $start (; 285 ;) (type $FUNCSIG$v) + (func $start (; 278 ;) (type $FUNCSIG$v) global.get $~lib/started if return @@ -15499,7 +18900,7 @@ end call $start:std/typedarray ) - (func $~lib/rt/pure/markGray (; 286 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 279 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -15523,7 +18924,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 287 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 280 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -15536,7 +18937,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 288 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 281 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -15570,7 +18971,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 289 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 282 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -15603,9 +19004,9 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 290 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 283 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 - i32.const 1820 + i32.const 1772 i32.lt_u if return @@ -15638,6 +19039,10 @@ end local.get $0 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $0 @@ -15648,7 +19053,7 @@ i32.le_u if i32.const 0 - i32.const 288 + i32.const 80 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -15681,7 +19086,7 @@ i32.ne if i32.const 0 - i32.const 288 + i32.const 80 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -15706,22 +19111,50 @@ br $break|0 end i32.const 0 - i32.const 288 + i32.const 80 i32.const 97 i32.const 24 call $~lib/builtins/abort unreachable end ) - (func $~lib/rt/__visit_members (; 291 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 284 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$2 + block $switch$1$case$6 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $switch$1$case$6 $switch$1$case$6 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $0 + if local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$default + local.get $1 + call $~lib/rt/pure/__visit end return end @@ -15736,7 +19169,7 @@ call $~lib/rt/pure/__visit end ) - (func $null (; 292 ;) (type $FUNCSIG$v) + (func $null (; 285 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 911996f63c..eec5db130f 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -3,9 +3,9 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viid (func (param i32 i32 f64))) (type $FUNCSIG$idd (func (param f64 f64) (result i32))) @@ -35,50 +35,51 @@ (type $FUNCSIG$vfii (func (param f32 i32 i32))) (type $FUNCSIG$vdii (func (param f64 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) (memory $0 1) (data (i32.const 8) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 64) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 112) "&\00\00\00\01\00\00\00\01\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") - (data (i32.const 168) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 216) "(\00\00\00\01\00\00\00\01\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") - (data (i32.const 272) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") - (data (i32.const 320) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 376) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") - (data (i32.const 416) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 472) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\01\04\05") - (data (i32.const 496) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 544) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\00") - (data (i32.const 568) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\00\00") - (data (i32.const 592) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 616) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 640) "\03\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00\00\00\00") - (data (i32.const 664) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\00\00\00\02") - (data (i32.const 688) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 728) "\14\00\00\00\01\00\00\00\00\00\00\00\14\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 768) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 808) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") - (data (i32.const 848) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") - (data (i32.const 888) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 920) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00") - (data (i32.const 960) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 1008) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 1064) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00") - (data (i32.const 1096) "\10\00\00\00\01\00\00\00\0f\00\00\00\10\00\00\008\04\00\008\04\00\00\0c\00\00\00\03\00\00\00") - (data (i32.const 1128) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 1192) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 1256) ">\00\00\00\01\00\00\00\01\00\00\00>\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 1336) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00c\00a\00l\00l\00 \00c\00o\00u\00n\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 1408) "$\00\00\00\01\00\00\00\00\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00") - (data (i32.const 1464) "\10\00\00\00\01\00\00\00\0f\00\00\00\10\00\00\00\90\05\00\00\90\05\00\00$\00\00\00\t\00\00\00") - (data (i32.const 1496) "B\00\00\00\01\00\00\00\01\00\00\00B\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 1584) "V\00\00\00\01\00\00\00\01\00\00\00V\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00w\00i\00t\00h\00 \00b\00y\00t\00e\00O\00f\00f\00s\00e\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 1688) "\10\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\001\04\00\00\02\00\00\001\00\00\00\02\00\00\001\00\00\00\02\00\00\00Q\04\00\00\02\00\00\00Q\00\00\00\02\00\00\00\91\04\00\00\02\00\00\00\91\00\00\00\02\00\00\00\11\05\00\00\02\00\00\00\11\01\00\00\02\00\00\00\91\0c\00\00\02\00\00\00\11\0d\00\00\02\00\00\003\04\00\00\02\00\00\00\93\04\00\00\02\00\00\00") + (data (i32.const 64) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 112) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 160) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 216) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 248) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 264) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 320) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00R\00a\00n\00g\00e\00E\00r\00r\00o\00r\00") + (data (i32.const 360) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 408) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\01\04\05") + (data (i32.const 432) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\00") + (data (i32.const 456) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\00\00") + (data (i32.const 480) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 504) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\01\00\02\02") + (data (i32.const 528) "\03\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00\00\00\00") + (data (i32.const 552) "\05\00\00\00\01\00\00\00\00\00\00\00\05\00\00\00\01\00\00\00\02") + (data (i32.const 576) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 616) "\14\00\00\00\01\00\00\00\00\00\00\00\14\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 656) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 696) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") + (data (i32.const 736) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") + (data (i32.const 776) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 808) "\14\00\00\00\01\00\00\00\00\00\00\00\14\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00") + (data (i32.const 848) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 896) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 952) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00") + (data (i32.const 984) "\10\00\00\00\01\00\00\00\11\00\00\00\10\00\00\00\c8\03\00\00\c8\03\00\00\0c\00\00\00\03\00\00\00") + (data (i32.const 1016) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1080) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1144) ">\00\00\00\01\00\00\00\01\00\00\00>\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1224) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00c\00a\00l\00l\00 \00c\00o\00u\00n\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1296) "$\00\00\00\01\00\00\00\00\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00") + (data (i32.const 1352) "\10\00\00\00\01\00\00\00\11\00\00\00\10\00\00\00 \05\00\00 \05\00\00$\00\00\00\t\00\00\00") + (data (i32.const 1384) "B\00\00\00\01\00\00\00\01\00\00\00B\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1472) "V\00\00\00\01\00\00\00\01\00\00\00V\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00w\00i\00t\00h\00 \00b\00y\00t\00e\00O\00f\00f\00s\00e\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1576) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00u\00n\00c\00a\00u\00g\00h\00t\00 \00e\00r\00r\00o\00r\00") + (data (i32.const 1624) "\12\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\001\04\00\00\02\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\04\00\00\001\00\00\00\02\00\00\001\00\00\00\02\00\00\00Q\04\00\00\02\00\00\00Q\00\00\00\02\00\00\00\91\04\00\00\02\00\00\00\91\00\00\00\02\00\00\00\11\05\00\00\02\00\00\00\11\01\00\00\02\00\00\00\91\0c\00\00\02\00\00\00\11\0d\00\00\02\00\00\003\04\00\00\02\00\00\00\93\04\00\00\02\00\00\00") (table $0 112 funcref) (elem (i32.const 0) $null $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) (global $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) (global $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT i32 (i32.const 1)) @@ -99,14 +100,75 @@ (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) (global $std/typedarray/forEachCallCount (mut i32) (i32.const 0)) (global $std/typedarray/forEachSelf (mut i32) (i32.const 0)) - (global $std/typedarray/forEachValues (mut i32) (i32.const 1112)) - (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 1480)) + (global $std/typedarray/forEachValues (mut i32) (i32.const 1000)) + (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 1368)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 1688)) - (global $~lib/heap/__heap_base i32 (i32.const 1820)) + (global $~lib/rt/__rtti_base i32 (i32.const 1624)) + (global $~lib/heap/__heap_base i32 (i32.const 1772)) (export "__start" (func $start)) (export "memory" (memory $0)) - (func $~lib/rt/tlsf/removeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 80 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -126,7 +188,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 276 i32.const 13 call $~lib/builtins/abort @@ -151,7 +213,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 278 i32.const 13 call $~lib/builtins/abort @@ -203,7 +265,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 291 i32.const 13 call $~lib/builtins/abort @@ -316,7 +378,7 @@ end end ) - (func $~lib/rt/tlsf/insertBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -333,7 +395,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 204 i32.const 13 call $~lib/builtins/abort @@ -348,7 +410,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 206 i32.const 13 call $~lib/builtins/abort @@ -441,7 +503,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 227 i32.const 15 call $~lib/builtins/abort @@ -504,7 +566,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 242 i32.const 13 call $~lib/builtins/abort @@ -520,7 +582,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 243 i32.const 13 call $~lib/builtins/abort @@ -577,7 +639,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 259 i32.const 13 call $~lib/builtins/abort @@ -666,7 +728,7 @@ local.get $7 i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/addMemory (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -696,7 +758,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 385 i32.const 4 call $~lib/builtins/abort @@ -719,7 +781,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 395 i32.const 15 call $~lib/builtins/abort @@ -750,7 +812,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 407 i32.const 4 call $~lib/builtins/abort @@ -814,7 +876,7 @@ call $~lib/rt/tlsf/insertBlock i32.const 1 ) - (func $~lib/rt/tlsf/initializeRoot (; 8 ;) (type $FUNCSIG$v) + (func $~lib/rt/tlsf/initializeRoot (; 10 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -959,19 +1021,19 @@ local.get $3 global.set $~lib/rt/tlsf/ROOT ) - (func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 i32.const 1073741808 i32.ge_u if - i32.const 232 - i32.const 184 - i32.const 447 - i32.const 29 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 176 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.const 15 @@ -988,7 +1050,7 @@ i32.gt_u select ) - (func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/searchBlock (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1061,7 +1123,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 337 i32.const 13 call $~lib/builtins/abort @@ -1124,7 +1186,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 350 i32.const 17 call $~lib/builtins/abort @@ -1171,7 +1233,7 @@ end local.get $7 ) - (func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1224,7 +1286,7 @@ call $~lib/rt/tlsf/addMemory drop ) - (func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1238,7 +1300,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 364 i32.const 13 call $~lib/builtins/abort @@ -1319,74 +1381,83 @@ i32.store end ) - (func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) local.get $1 call $~lib/rt/tlsf/prepareSize local.set $2 - local.get $0 + global.get $~lib/error + if + i32.const 0 + return + end local.get $2 - call $~lib/rt/tlsf/searchBlock local.set $3 + local.get $0 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if local.get $0 - local.get $2 + local.get $3 call $~lib/rt/tlsf/growMemory local.get $0 - local.get $2 - call $~lib/rt/tlsf/searchBlock - local.set $3 local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 477 i32.const 15 call $~lib/builtins/abort unreachable end end - local.get $3 + local.get $4 i32.load i32.const 3 i32.const -1 i32.xor i32.and - local.get $2 + local.get $3 i32.ge_u i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 479 i32.const 13 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 i32.const 0 i32.store offset=4 - local.get $3 + local.get $4 local.get $1 i32.store offset=12 local.get $0 - local.get $3 + local.get $4 call $~lib/rt/tlsf/removeBlock local.get $0 + local.get $4 local.get $3 - local.get $2 call $~lib/rt/tlsf/prepareBlock - local.get $3 + local.get $4 call $~lib/rt/rtrace/onalloc - local.get $3 + local.get $4 ) - (func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/rt/tlsf/ROOT local.set $2 local.get $2 @@ -1400,73 +1471,19 @@ local.get $0 call $~lib/rt/tlsf/allocateBlock local.set $3 - local.get $3 - local.get $1 - i32.store offset=8 - local.get $3 - i32.const 16 - i32.add - ) - (func $~lib/rt/pure/increment (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const 268435455 - i32.const -1 - i32.xor - i32.and - i32.eq - i32.eqz + global.get $~lib/error if i32.const 0 - i32.const 288 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable + return end - local.get $0 + local.get $3 + local.set $4 + local.get $4 local.get $1 - i32.const 1 + i32.store offset=8 + local.get $4 + i32.const 16 i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 288 - i32.const 107 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 ) (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) @@ -1480,7 +1497,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 531 i32.const 2 call $~lib/builtins/abort @@ -1506,12 +1523,12 @@ i32.load i32.gt_u if - i32.const 336 - i32.const 392 - i32.const 22 - i32.const 27 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return end local.get $1 i32.const 4 @@ -2780,7 +2797,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 561 i32.const 13 call $~lib/builtins/abort @@ -2800,7 +2817,7 @@ i32.eqz if i32.const 0 - i32.const 184 + i32.const 128 i32.const 562 i32.const 2 call $~lib/builtins/abort @@ -2841,6 +2858,12 @@ local.get $4 i32.const 0 call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 local.set $5 local.get $5 i32.const 16 @@ -2879,6 +2902,10 @@ i32.ge_u if call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end global.get $~lib/rt/pure/CUR local.set $1 end @@ -2893,6 +2920,7 @@ (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 local.set $1 @@ -2910,7 +2938,7 @@ i32.eqz if i32.const 0 - i32.const 288 + i32.const 80 i32.const 115 i32.const 13 call $~lib/builtins/abort @@ -2949,7 +2977,7 @@ i32.eqz if i32.const 0 - i32.const 288 + i32.const 80 i32.const 124 i32.const 15 call $~lib/builtins/abort @@ -2958,6 +2986,12 @@ local.get $0 i32.load offset=8 call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 16 i32.and i32.eqz @@ -2978,6 +3012,10 @@ if local.get $0 call $~lib/rt/pure/appendRoot + global.get $~lib/error + if + return + end end else local.get $0 @@ -3003,76 +3041,155 @@ i32.const 16 i32.sub call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end end ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 26 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $1 - i32.const 1073741808 - local.get $2 - i32.shr_u - i32.gt_u - if - i32.const 80 - i32.const 128 - i32.const 14 - i32.const 56 - call $~lib/builtins/abort - unreachable - end + (func $~lib/error/Error#constructor (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $2 - i32.shl - local.tee $1 - i32.const 0 - call $~lib/rt/tlsf/__alloc - local.set $3 + call $~lib/rt/pure/__retain + drop local.get $0 i32.eqz if i32.const 12 - i32.const 2 + i32.const 4 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain local.set $0 end local.get $0 - i32.const 0 + i32.const 232 + call $~lib/rt/pure/__retain i32.store local.get $0 - i32.const 0 + i32.const 264 + call $~lib/rt/pure/__retain i32.store offset=4 local.get $0 - i32.const 0 + local.get $1 i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release local.get $0 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - i32.load - local.tee $4 - i32.ne - if - local.get $5 + ) + (func $~lib/error/RangeError#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + if (result i32) + local.get $0 + else + i32.const 12 + i32.const 5 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + end + local.get $1 + call $~lib/error/Error#constructor + local.set $0 + local.get $0 + local.tee $2 + i32.const 336 + local.tee $3 + local.get $2 + i32.load + local.tee $2 + i32.ne + if + local.get $3 call $~lib/rt/pure/__retain drop - local.get $4 + local.get $2 call $~lib/rt/pure/__release end - local.get $5 + local.get $3 + i32.store + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.const 1073741808 + local.get $2 + i32.shr_u + i32.gt_u + if + i32.const 0 + i32.const 376 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + local.get $2 + i32.shl + local.tee $1 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $4 + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 2 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 0 i32.store local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + local.tee $3 + local.get $4 + local.tee $5 local.get $3 + i32.load + local.tee $3 + i32.ne + if + local.get $5 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release + end + local.get $5 + i32.store + local.get $0 + local.get $4 i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $0 ) - (func $~lib/typedarray/Int8Array#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 @@ -3085,241 +3202,328 @@ local.get $1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=4 local.get $0 i32.load i32.sub ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 ) - (func $~lib/typedarray/Int8Array#get:length (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#get:length (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength ) - (func $~lib/typedarray/Uint8Array#constructor (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#constructor (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 4 + i32.const 6 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint8Array#get:length (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#get:length (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength ) - (func $~lib/typedarray/Uint8ClampedArray#constructor (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#constructor (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 5 + i32.const 7 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint8ClampedArray#get:length (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#get:length (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength ) - (func $~lib/typedarray/Int16Array#constructor (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#constructor (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 6 + i32.const 8 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 1 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Int16Array#get:length (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#get:length (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 i32.shr_u ) - (func $~lib/typedarray/Uint16Array#constructor (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#constructor (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 7 + i32.const 9 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 1 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint16Array#get:length (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#get:length (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 i32.shr_u ) - (func $~lib/typedarray/Int32Array#constructor (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#constructor (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 8 + i32.const 10 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Int32Array#get:length (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#get:length (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u ) - (func $~lib/typedarray/Uint32Array#constructor (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#constructor (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 9 + i32.const 11 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint32Array#get:length (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#get:length (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u ) - (func $~lib/typedarray/Int64Array#constructor (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#constructor (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 10 + i32.const 12 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Int64Array#get:length (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#get:length (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 i32.shr_u ) - (func $~lib/typedarray/Uint64Array#constructor (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#constructor (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 11 + i32.const 13 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint64Array#get:length (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#get:length (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 i32.shr_u ) - (func $~lib/typedarray/Float32Array#constructor (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#constructor (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 12 + i32.const 14 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Float32Array#get:length (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#get:length (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u ) - (func $~lib/typedarray/Float64Array#constructor (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#constructor (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 if (result i32) local.get $0 else i32.const 12 - i32.const 13 + i32.const 15 call $~lib/rt/tlsf/__alloc call $~lib/rt/pure/__retain end local.get $1 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 local.set $0 local.get $0 ) - (func $~lib/typedarray/Float64Array#get:length (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#get:length (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 i32.shr_u ) - (func $std/typedarray/testInstantiate (; 51 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/typedarray/testInstantiate (; 53 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3331,11 +3535,18 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) i32.const 0 local.get $0 call $~lib/typedarray/Int8Array#constructor local.set $1 + global.get $~lib/error + if + return + end local.get $1 + local.set $2 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3348,7 +3559,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT @@ -3363,7 +3574,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 call $~lib/typedarray/Int8Array#get:length local.get $0 i32.eq @@ -3379,8 +3590,14 @@ i32.const 0 local.get $0 call $~lib/typedarray/Uint8Array#constructor - local.set $2 - local.get $2 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + local.set $3 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3393,7 +3610,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT @@ -3408,7 +3625,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 call $~lib/typedarray/Uint8Array#get:length local.get $0 i32.eq @@ -3424,8 +3641,14 @@ i32.const 0 local.get $0 call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $3 - local.get $3 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + local.set $4 + local.get $4 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3438,7 +3661,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT @@ -3453,7 +3676,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 call $~lib/typedarray/Uint8ClampedArray#get:length local.get $0 i32.eq @@ -3469,8 +3692,14 @@ i32.const 0 local.get $0 call $~lib/typedarray/Int16Array#constructor - local.set $4 - local.get $4 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + local.set $5 + local.get $5 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3483,7 +3712,7 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $5 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT @@ -3498,7 +3727,7 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $5 call $~lib/typedarray/Int16Array#get:length local.get $0 i32.eq @@ -3514,8 +3743,14 @@ i32.const 0 local.get $0 call $~lib/typedarray/Uint16Array#constructor - local.set $5 - local.get $5 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + local.set $6 + local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3528,7 +3763,7 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT @@ -3543,7 +3778,7 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $6 call $~lib/typedarray/Uint16Array#get:length local.get $0 i32.eq @@ -3559,8 +3794,14 @@ i32.const 0 local.get $0 call $~lib/typedarray/Int32Array#constructor - local.set $6 - local.get $6 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + local.set $7 + local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3573,7 +3814,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT @@ -3588,7 +3829,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $7 call $~lib/typedarray/Int32Array#get:length local.get $0 i32.eq @@ -3604,8 +3845,14 @@ i32.const 0 local.get $0 call $~lib/typedarray/Uint32Array#constructor - local.set $7 - local.get $7 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + local.set $8 + local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3618,7 +3865,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT @@ -3633,7 +3880,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 call $~lib/typedarray/Uint32Array#get:length local.get $0 i32.eq @@ -3649,8 +3896,14 @@ i32.const 0 local.get $0 call $~lib/typedarray/Int64Array#constructor - local.set $8 - local.get $8 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + local.set $9 + local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3663,7 +3916,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT @@ -3678,7 +3931,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $9 call $~lib/typedarray/Int64Array#get:length local.get $0 i32.eq @@ -3694,8 +3947,14 @@ i32.const 0 local.get $0 call $~lib/typedarray/Uint64Array#constructor - local.set $9 - local.get $9 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + local.set $10 + local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3708,7 +3967,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT @@ -3723,7 +3982,7 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $10 call $~lib/typedarray/Uint64Array#get:length local.get $0 i32.eq @@ -3739,8 +3998,14 @@ i32.const 0 local.get $0 call $~lib/typedarray/Float32Array#constructor - local.set $10 - local.get $10 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + local.set $11 + local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3753,7 +4018,7 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT @@ -3768,7 +4033,7 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $11 call $~lib/typedarray/Float32Array#get:length local.get $0 i32.eq @@ -3784,8 +4049,14 @@ i32.const 0 local.get $0 call $~lib/typedarray/Float64Array#constructor - local.set $11 - local.get $11 + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 + local.set $12 + local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -3798,7 +4069,7 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $0 global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT @@ -3813,7 +4084,7 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $12 call $~lib/typedarray/Float64Array#get:length local.get $0 i32.eq @@ -3826,8 +4097,6 @@ call $~lib/builtins/abort unreachable end - local.get $1 - call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release local.get $3 @@ -3848,8 +4117,10 @@ call $~lib/rt/pure/__release local.get $11 call $~lib/rt/pure/__release + local.get $12 + call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#__set (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#__set (; 54 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -3857,12 +4128,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 443 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -3873,7 +4143,7 @@ local.get $2 i32.store ) - (func $~lib/typedarray/Int32Array#__get (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#__get (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -3881,12 +4151,12 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 437 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -3896,7 +4166,7 @@ i32.add i32.load ) - (func $~lib/typedarray/Int32Array#subarray (; 54 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#subarray (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3904,120 +4174,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Int32Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Int32Array#get:length + local.set $6 local.get $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 $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 local.get $3 local.tee $7 - local.get $6 + local.get $4 local.tee $8 local.get $7 local.get $8 - i32.lt_s + i32.gt_s select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 8 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 + local.set $3 + i32.const 12 + i32.const 10 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $7 call $~lib/rt/pure/__retain - drop + local.set $7 + local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 + i32.load + local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 2 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $~lib/typedarray/Float64Array#__set (; 55 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) + (func $~lib/typedarray/Float64Array#__set (; 57 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) local.get $1 local.get $0 i32.load offset=8 @@ -4025,12 +4304,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 853 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -4041,7 +4319,7 @@ local.get $2 f64.store ) - (func $~lib/typedarray/Float64Array#subarray (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#subarray (; 58 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4049,120 +4327,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Float64Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Float64Array#get:length + local.set $6 local.get $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 $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 local.get $3 local.tee $7 - local.get $6 + local.get $4 local.tee $8 local.get $7 local.get $8 - i32.lt_s + i32.gt_s select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 13 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 + local.set $3 + i32.const 12 + i32.const 15 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $7 call $~lib/rt/pure/__retain - drop + local.set $7 + local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 + i32.load + local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 3 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $~lib/util/sort/insertionSort (; 57 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 59 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -4208,6 +4495,12 @@ local.get $6 local.get $2 call_indirect (type $FUNCSIG$idd) + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i32.const 0 i32.lt_s if @@ -4250,7 +4543,7 @@ unreachable end ) - (func $~lib/memory/memory.fill (; 58 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 60 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4514,7 +4807,7 @@ end end ) - (func $~lib/util/sort/weakHeapSort (; 59 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 61 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4522,7 +4815,8 @@ (local $7 i32) (local $8 f64) (local $9 f64) - (local $10 f64) + (local $10 i32) + (local $11 f64) local.get $1 i32.const 31 i32.add @@ -4535,7 +4829,13 @@ i32.const 0 call $~lib/rt/tlsf/__alloc local.set $4 + global.get $~lib/error + if + return + end local.get $4 + local.set $5 + local.get $5 i32.const 0 local.get $3 call $~lib/memory/memory.fill @@ -4543,21 +4843,21 @@ local.get $1 i32.const 1 i32.sub - local.set $5 + local.set $4 loop $loop|0 - local.get $5 + local.get $4 i32.const 0 i32.gt_s i32.eqz br_if $break|0 - local.get $5 + local.get $4 local.set $6 block $break|1 loop $continue|1 local.get $6 i32.const 1 i32.and - local.get $4 + local.get $5 local.get $6 i32.const 6 i32.shr_s @@ -4596,7 +4896,7 @@ f64.load local.set $8 local.get $0 - local.get $5 + local.get $4 i32.const 3 i32.shl i32.add @@ -4608,18 +4908,24 @@ local.get $9 local.get $2 call_indirect (type $FUNCSIG$idd) + local.set $10 + global.get $~lib/error + if + return + end + local.get $10 i32.const 0 i32.lt_s if - local.get $4 local.get $5 + local.get $4 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $4 local.get $5 + local.get $4 i32.const 5 i32.shr_s i32.const 2 @@ -4627,14 +4933,14 @@ i32.add i32.load i32.const 1 - local.get $5 + local.get $4 i32.const 31 i32.and i32.shl i32.xor i32.store local.get $0 - local.get $5 + local.get $4 i32.const 3 i32.shl i32.add @@ -4648,10 +4954,10 @@ local.get $9 f64.store end - local.get $5 + local.get $4 i32.const 1 i32.sub - local.set $5 + local.set $4 br $loop|0 end unreachable @@ -4692,7 +4998,7 @@ local.get $6 i32.const 1 i32.shl - local.get $4 + local.get $5 local.get $6 i32.const 5 i32.shr_s @@ -4707,12 +5013,12 @@ i32.const 1 i32.and i32.add - local.tee $5 + local.tee $4 local.get $7 i32.lt_s i32.eqz br_if $break|3 - local.get $5 + local.get $4 local.set $6 br $continue|3 end @@ -4741,17 +5047,23 @@ local.get $8 local.get $2 call_indirect (type $FUNCSIG$idd) + local.set $10 + global.get $~lib/error + if + return + end + local.get $10 i32.const 0 i32.lt_s if - local.get $4 + local.get $5 local.get $6 i32.const 5 i32.shr_s i32.const 2 i32.shl i32.add - local.get $4 + local.get $5 local.get $6 i32.const 5 i32.shr_s @@ -4793,20 +5105,20 @@ end unreachable end - local.get $4 + local.get $5 call $~lib/rt/tlsf/__free local.get $0 f64.load offset=8 - local.set $10 + local.set $11 local.get $0 local.get $0 f64.load f64.store offset=8 local.get $0 - local.get $10 + local.get $11 f64.store ) - (func $~lib/typedarray/Float64Array#sort (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#sort (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4855,7 +5167,14 @@ local.get $7 local.get $2 call_indirect (type $FUNCSIG$idd) - i32.const 0 + local.set $8 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $8 + i32.const 0 i32.lt_s if local.get $5 @@ -4872,30 +5191,40 @@ local.get $8 br $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 end - local.get $5 - local.set $10 - local.get $4 - local.set $9 - local.get $2 - local.set $8 - local.get $9 - i32.const 256 - i32.lt_s - if - local.get $10 - local.get $9 - local.get $8 - call $~lib/util/sort/insertionSort - else - local.get $10 + block $~lib/util/sort/SORT|inlined.0 + local.get $5 + local.set $10 + local.get $4 + local.set $9 + local.get $2 + local.set $8 local.get $9 - local.get $8 - call $~lib/util/sort/weakHeapSort + i32.const 256 + i32.lt_s + if + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/sort/insertionSort + global.get $~lib/error + if + br $~lib/util/sort/SORT|inlined.0 + end + else + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/sort/weakHeapSort + global.get $~lib/error + if + br $~lib/util/sort/SORT|inlined.0 + end + end end local.get $3 end ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 61 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 63 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -4928,7 +5257,7 @@ i64.lt_s i32.sub ) - (func $~lib/typedarray/Float64Array#sort|trampoline (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#sort|trampoline (; 64 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -4947,7 +5276,7 @@ local.get $1 call $~lib/typedarray/Float64Array#sort ) - (func $~lib/typedarray/Float64Array#__get (; 63 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/typedarray/Float64Array#__get (; 65 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -4955,12 +5284,12 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 847 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f64.const 0 + return end local.get $0 i32.load offset=4 @@ -4970,18 +5299,17 @@ i32.add f64.load ) - (func $~lib/typedarray/Uint8ClampedArray#__set (; 64 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#__set (; 66 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 197 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -5002,18 +5330,18 @@ i32.and i32.store8 ) - (func $~lib/typedarray/Uint8ClampedArray#__get (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#__get (; 67 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 191 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -5021,18 +5349,17 @@ i32.add i32.load8_u ) - (func $~lib/typedarray/Int8Array#__set (; 66 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#__set (; 68 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 33 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -5041,7 +5368,7 @@ local.get $2 i32.store8 ) - (func $~lib/typedarray/Int8Array#fill (; 67 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int8Array#fill (; 69 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -5130,60 +5457,75 @@ end local.get $7 ) - (func $~lib/rt/__allocArray (; 68 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocArray (; 70 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) i32.const 16 local.get $2 call $~lib/rt/tlsf/__alloc local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + local.set $5 local.get $0 local.get $1 i32.shl - local.set $5 - local.get $5 + local.set $6 + local.get $6 i32.const 0 call $~lib/rt/tlsf/__alloc - local.set $6 + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end local.get $4 - local.get $6 + local.set $7 + local.get $5 + local.get $7 call $~lib/rt/pure/__retain i32.store - local.get $4 - local.get $6 + local.get $5 + local.get $7 i32.store offset=4 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 + local.get $5 local.get $0 i32.store offset=12 local.get $3 if - local.get $6 + local.get $7 local.get $3 - local.get $5 + local.get $6 call $~lib/memory/memory.copy end - local.get $4 + local.get $5 ) - (func $~lib/array/Array#get:length (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 71 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/typedarray/Int8Array#__get (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#__get (; 72 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 27 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -5191,7 +5533,7 @@ i32.add i32.load8_s ) - (func $~lib/array/Array#__unchecked_get (; 71 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 73 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -5200,7 +5542,7 @@ i32.add i32.load8_s ) - (func $~lib/array/Array#__get (; 72 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 74 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -5208,18 +5550,18 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 512 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $std/typedarray/isInt8ArrayEqual (; 73 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt8ArrayEqual (; 75 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5259,9 +5601,31 @@ local.get $0 local.get $2 call $~lib/typedarray/Int8Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s local.get $1 local.get $2 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.ne if i32.const 0 @@ -5289,7 +5653,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int8Array#subarray (; 74 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#subarray (; 76 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5297,120 +5661,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Int8Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Int8Array#get:length + local.set $6 local.get $4 - i32.add - local.tee $7 i32.const 0 + i32.lt_s + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 + local.get $3 + local.tee $7 + local.get $4 local.tee $8 local.get $7 local.get $8 i32.gt_s select - else - local.get $4 - local.tee $7 - local.get $6 - local.tee $8 + local.set $3 + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $7 + call $~lib/rt/pure/__retain + local.set $7 local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 - i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 - i32.const 0 + i32.load local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 0 + i32.shl + i32.add + i32.store offset=4 local.get $7 - local.get $8 - i32.gt_s - select - else local.get $3 - local.tee $7 - local.get $6 - local.tee $8 + local.get $4 + i32.sub + i32.const 0 + i32.shl + i32.store offset=8 local.get $7 - local.get $8 - i32.lt_s - select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 3 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 - call $~lib/rt/pure/__retain - drop - local.get $8 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 0 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $~lib/typedarray/Int32Array#fill (; 75 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int32Array#fill (; 77 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -5508,11 +5881,11 @@ end local.get $7 ) - (func $~lib/array/Array#get:length (; 76 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 78 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 77 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 79 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -5521,7 +5894,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 78 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 80 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -5529,18 +5902,18 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 512 - i32.const 109 - i32.const 61 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $std/typedarray/isInt32ArrayEqual (; 79 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt32ArrayEqual (; 81 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5580,9 +5953,23 @@ local.get $0 local.get $2 call $~lib/typedarray/Int32Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 local.get $1 local.get $2 call $~lib/array/Array#__get + local.set $4 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $4 i32.ne if i32.const 0 @@ -5610,7 +5997,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 80 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 82 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -5623,70 +6010,86 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int8Array#reduce (; 81 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduce (; 83 ;) (type $FUNCSIG$iiii) (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) (local $8 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 + (local $9 i32) + block $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Int8Array#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 i32.const 0 - i32.shl - i32.add - i32.load8_s - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 - i32.const 1 - i32.add local.set $7 - br $loop|0 + local.get $5 + call $~lib/typedarray/Int8Array#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $9 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (; 82 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (; 84 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -5694,14 +6097,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 0 @@ -5728,18 +6143,17 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#__set (; 83 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#__set (; 85 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 115 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -5748,7 +6162,7 @@ local.get $2 i32.store8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 84 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 86 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -5761,85 +6175,113 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint8Array#reduce (; 85 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduce (; 87 ;) (type $FUNCSIG$iiii) (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) (local $8 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 + (local $9 i32) + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Uint8Array#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 - i32.const 1 - i32.add local.set $7 - br $loop|0 - end - unreachable - end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (; 86 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - call $~lib/rt/pure/__retain - local.set $1 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 2 - i32.const 3 + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $9 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable + end + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 + end + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (; 88 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.tee $0 + call $~lib/rt/pure/__retain + local.set $1 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end + local.get $1 + i32.const 2 + i32.const 3 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 3 i32.const 0 @@ -5864,7 +6306,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 87 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 89 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -5877,70 +6319,86 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint8ClampedArray#reduce (; 88 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reduce (; 90 ;) (type $FUNCSIG$iiii) (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) (local $8 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 + (local $9 i32) + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 - i32.const 1 - i32.add local.set $7 - br $loop|0 + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $9 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (; 89 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (; 91 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -5948,14 +6406,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 4 i32.const 0 @@ -5980,7 +6450,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#__set (; 90 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#__set (; 92 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -5988,12 +6458,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 279 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -6004,7 +6473,7 @@ local.get $2 i32.store16 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 91 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 93 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6017,85 +6486,113 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int16Array#reduce (; 92 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduce (; 94 ;) (type $FUNCSIG$iiii) (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) (local $8 i32) + (local $9 i32) + block $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + local.get $5 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $9 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable + end + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 + end + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (; 95 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + local.tee $0 call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - local.get $5 - call $~lib/typedarray/Int16Array#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $loop|0 - end - unreachable - end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (; 93 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - call $~lib/rt/pure/__retain - local.set $1 + local.set $1 local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 5 i32.const 0 @@ -6122,7 +6619,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#__set (; 94 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#__set (; 96 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -6130,12 +6627,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 361 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -6146,7 +6642,7 @@ local.get $2 i32.store16 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 95 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 97 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6159,70 +6655,86 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint16Array#reduce (; 96 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduce (; 98 ;) (type $FUNCSIG$iiii) (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) (local $8 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 + (local $9 i32) + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Uint16Array#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 - i32.const 1 - i32.add + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 local.set $7 - br $loop|0 + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $9 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (; 97 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (; 99 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -6230,14 +6742,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 6 i32.const 0 @@ -6262,7 +6786,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 98 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 100 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6275,85 +6799,113 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int32Array#reduce (; 99 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduce (; 101 ;) (type $FUNCSIG$iiii) (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) (local $8 i32) + (local $9 i32) + block $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 + local.set $7 + local.get $5 + call $~lib/typedarray/Int32Array#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $9 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable + end + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 + end + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (; 102 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + local.tee $0 call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - local.get $5 - call $~lib/typedarray/Int32Array#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $loop|0 - end - unreachable - end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (; 100 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - call $~lib/rt/pure/__retain - local.set $1 + local.set $1 local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 7 i32.const 0 @@ -6376,7 +6928,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array#__set (; 101 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#__set (; 103 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -6384,12 +6936,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 525 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -6400,7 +6951,7 @@ local.get $2 i32.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 102 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 104 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6413,70 +6964,86 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint32Array#reduce (; 103 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reduce (; 105 ;) (type $FUNCSIG$iiii) (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) (local $8 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 + (local $9 i32) + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Uint32Array#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 - i32.const 1 - i32.add + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 local.set $7 - br $loop|0 + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $9 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (; 104 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (; 106 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -6484,14 +7051,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 8 i32.const 0 @@ -6514,7 +7093,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#__set (; 105 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/typedarray/Int64Array#__set (; 107 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 local.get $0 i32.load offset=8 @@ -6522,12 +7101,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 607 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -6538,7 +7116,7 @@ local.get $2 i64.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 106 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 108 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) (local $4 i64) local.get $3 call $~lib/rt/pure/__retain @@ -6551,7 +7129,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int64Array#reduce (; 107 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Int64Array#reduce (; 109 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i64) (local $4 i32) (local $5 i32) @@ -6559,63 +7137,78 @@ (local $7 i32) (local $8 i32) (local $9 i64) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 (result i64) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Int64Array#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$jjjii) - local.set $3 - local.get $7 - i32.const 1 - i32.add + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 local.set $7 - br $loop|0 + local.get $5 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$jjjii) + local.set $9 + global.get $~lib/error + if + i64.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $9 + local.get $5 + call $~lib/rt/pure/__release + local.get $9 end - local.get $3 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (; 108 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (; 110 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i64) i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -6623,14 +7216,26 @@ i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 9 i64.const 0 @@ -6653,7 +7258,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#__set (; 109 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/typedarray/Uint64Array#__set (; 111 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 local.get $0 i32.load offset=8 @@ -6661,12 +7266,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 689 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -6677,7 +7281,7 @@ local.get $2 i64.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 110 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 112 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) (local $4 i64) local.get $3 call $~lib/rt/pure/__retain @@ -6690,7 +7294,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint64Array#reduce (; 111 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Uint64Array#reduce (; 113 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i64) (local $4 i32) (local $5 i32) @@ -6698,63 +7302,78 @@ (local $7 i32) (local $8 i32) (local $9 i64) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 (result i64) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Uint64Array#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$jjjii) - local.set $3 - local.get $7 - i32.const 1 - i32.add + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 local.set $7 - br $loop|0 + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$jjjii) + local.set $9 + global.get $~lib/error + if + i64.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $9 + local.get $5 + call $~lib/rt/pure/__release + local.get $9 end - local.get $3 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (; 112 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (; 114 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i64) i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -6762,14 +7381,26 @@ i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 10 i64.const 0 @@ -6792,7 +7423,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#__set (; 113 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) + (func $~lib/typedarray/Float32Array#__set (; 115 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) local.get $1 local.get $0 i32.load offset=8 @@ -6800,12 +7431,11 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 771 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + return end local.get $0 i32.load offset=4 @@ -6816,7 +7446,7 @@ local.get $2 f32.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 114 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 116 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) (local $4 f32) local.get $3 call $~lib/rt/pure/__retain @@ -6829,7 +7459,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Float32Array#reduce (; 115 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (func $~lib/typedarray/Float32Array#reduce (; 117 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) (local $3 f32) (local $4 i32) (local $5 i32) @@ -6837,63 +7467,78 @@ (local $7 i32) (local $8 i32) (local $9 f32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 + block $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 (result f32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Float32Array#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$fffii) - local.set $3 - local.get $7 - i32.const 1 - i32.add + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 local.set $7 - br $loop|0 + local.get $5 + call $~lib/typedarray/Float32Array#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$fffii) + local.set $9 + global.get $~lib/error + if + f32.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $9 + local.get $5 + call $~lib/rt/pure/__release + local.get $9 end - local.get $3 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (; 116 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (; 118 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 f32) i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -6901,14 +7546,26 @@ i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 11 f32.const 0 @@ -6931,7 +7588,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 117 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 119 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) (local $4 f64) local.get $3 call $~lib/rt/pure/__retain @@ -6944,7 +7601,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Float64Array#reduce (; 118 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (func $~lib/typedarray/Float64Array#reduce (; 120 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) (local $3 f64) (local $4 i32) (local $5 i32) @@ -6952,63 +7609,78 @@ (local $7 i32) (local $8 i32) (local $9 f64) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 - i32.const 0 - local.set $7 - local.get $5 - call $~lib/typedarray/Float64Array#get:length - local.set $8 - loop $loop|0 - local.get $7 - local.get $8 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $7 - local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$dddii) - local.set $3 - local.get $7 - i32.const 1 - i32.add + block $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 (result f64) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + block $break|0 + i32.const 0 local.set $7 - br $loop|0 + local.get $5 + call $~lib/typedarray/Float64Array#get:length + local.set $8 + loop $loop|0 + local.get $7 + local.get $8 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$dddii) + local.set $9 + global.get $~lib/error + if + f64.const 0 + br $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 + end + local.get $9 + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $9 + local.get $5 + call $~lib/rt/pure/__release + local.get $9 end - local.get $3 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (; 119 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (; 121 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 f64) i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -7016,14 +7688,26 @@ i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 12 f64.const 0 @@ -7046,7 +7730,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 120 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 122 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7059,69 +7743,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int8Array#reduceRight (; 121 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduceRight (; 123 ;) (type $FUNCSIG$iiii) (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) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + (local $8 i32) + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Int8Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 + call $~lib/typedarray/Int8Array#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $8 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $7 + local.get $5 + call $~lib/rt/pure/__release + local.get $7 end - local.get $3 - local.set $7 - local.get $5 - call $~lib/rt/pure/__release - local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (; 122 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (; 124 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -7129,14 +7829,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 13 i32.const 0 @@ -7163,7 +7875,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 123 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 125 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7176,69 +7888,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint8Array#reduceRight (; 124 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduceRight (; 126 ;) (type $FUNCSIG$iiii) (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) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + (local $8 i32) + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Uint8Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 + call $~lib/typedarray/Uint8Array#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 - end - unreachable - end - local.get $3 - local.set $7 - local.get $5 - call $~lib/rt/pure/__release - local.get $7 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (; 125 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $8 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable + end + local.get $3 + local.set $7 + local.get $5 + call $~lib/rt/pure/__release + local.get $7 + end + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (; 127 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -7246,14 +7974,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 14 i32.const 0 @@ -7278,7 +8018,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 126 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 128 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7291,69 +8031,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint8ClampedArray#reduceRight (; 127 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reduceRight (; 129 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + (local $8 i32) + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 + call $~lib/typedarray/Uint8ClampedArray#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $8 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $7 + local.get $5 + call $~lib/rt/pure/__release + local.get $7 end - local.get $3 - local.set $7 - local.get $5 - call $~lib/rt/pure/__release - local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (; 128 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (; 130 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -7361,14 +8117,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 15 i32.const 0 @@ -7393,7 +8161,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 129 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 131 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7406,69 +8174,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int16Array#reduceRight (; 130 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduceRight (; 132 ;) (type $FUNCSIG$iiii) (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) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + (local $8 i32) + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Int16Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 + call $~lib/typedarray/Int16Array#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $8 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $7 + local.get $5 + call $~lib/rt/pure/__release + local.get $7 end - local.get $3 - local.set $7 - local.get $5 - call $~lib/rt/pure/__release - local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (; 131 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (; 133 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -7476,16 +8260,28 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 16 + global.get $~lib/error + if + return + end + local.get $1 + i32.const 16 i32.const 0 call $~lib/typedarray/Int16Array#reduceRight local.set $2 @@ -7510,7 +8306,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 132 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 134 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7523,69 +8319,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint16Array#reduceRight (; 133 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduceRight (; 135 ;) (type $FUNCSIG$iiii) (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) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + (local $8 i32) + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Uint16Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 + call $~lib/typedarray/Uint16Array#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $8 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $7 + local.get $5 + call $~lib/rt/pure/__release + local.get $7 end - local.get $3 - local.set $7 - local.get $5 - call $~lib/rt/pure/__release - local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (; 134 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (; 136 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -7593,14 +8405,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 17 i32.const 0 @@ -7625,7 +8449,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 135 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 137 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7638,69 +8462,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int32Array#reduceRight (; 136 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduceRight (; 138 ;) (type $FUNCSIG$iiii) (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) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + (local $8 i32) + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Int32Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 + call $~lib/typedarray/Int32Array#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $8 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $7 + local.get $5 + call $~lib/rt/pure/__release + local.get $7 end - local.get $3 - local.set $7 - local.get $5 - call $~lib/rt/pure/__release - local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (; 137 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (; 139 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -7708,14 +8548,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 18 i32.const 0 @@ -7738,7 +8590,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 138 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 140 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7751,69 +8603,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint32Array#reduceRight (; 139 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reduceRight (; 141 ;) (type $FUNCSIG$iiii) (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) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + (local $8 i32) + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Uint32Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$iiiii) - local.set $3 - local.get $7 + call $~lib/typedarray/Uint32Array#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 - end - unreachable + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$iiiii) + local.set $8 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable + end + local.get $3 + local.set $7 + local.get $5 + call $~lib/rt/pure/__release + local.get $7 end - local.get $3 - local.set $7 - local.get $5 - call $~lib/rt/pure/__release - local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (; 140 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (; 142 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -7821,14 +8689,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 19 i32.const 0 @@ -7851,7 +8731,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 141 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 143 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) (local $4 i64) local.get $3 call $~lib/rt/pure/__retain @@ -7864,70 +8744,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int64Array#reduceRight (; 142 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Int64Array#reduceRight (; 144 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i64) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i64) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 (result i64) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Int64Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$jjjii) - local.set $3 - local.get $7 + call $~lib/typedarray/Int64Array#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$jjjii) + local.set $8 + global.get $~lib/error + if + i64.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (; 143 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (; 145 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i64) i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -7935,14 +8830,26 @@ i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 20 i64.const 0 @@ -7965,7 +8872,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 144 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 146 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) (local $4 i64) local.get $3 call $~lib/rt/pure/__retain @@ -7978,70 +8885,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint64Array#reduceRight (; 145 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Uint64Array#reduceRight (; 147 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i64) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i64) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 (result i64) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Uint64Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$jjjii) - local.set $3 - local.get $7 + call $~lib/typedarray/Uint64Array#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$jjjii) + local.set $8 + global.get $~lib/error + if + i64.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (; 146 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (; 148 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i64) i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -8049,14 +8971,26 @@ i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 21 i64.const 0 @@ -8079,7 +9013,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 147 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 149 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) (local $4 f32) local.get $3 call $~lib/rt/pure/__retain @@ -8092,70 +9026,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Float32Array#reduceRight (; 148 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (func $~lib/typedarray/Float32Array#reduceRight (; 150 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) (local $3 f32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 f32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 (result f32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Float32Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$fffii) - local.set $3 - local.get $7 + call $~lib/typedarray/Float32Array#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$fffii) + local.set $8 + global.get $~lib/error + if + f32.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (; 149 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (; 151 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 f32) i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -8163,14 +9112,26 @@ i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 22 f32.const 0 @@ -8193,7 +9154,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 150 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 152 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) (local $4 f64) local.get $3 call $~lib/rt/pure/__retain @@ -8206,70 +9167,85 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Float64Array#reduceRight (; 151 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (func $~lib/typedarray/Float64Array#reduceRight (; 153 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) (local $3 f64) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 f64) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - block $break|0 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 (result f64) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - call $~lib/typedarray/Float64Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $loop|0 - local.get $7 - i32.const 0 - i32.ge_s - i32.eqz - br_if $break|0 - i32.const 4 - global.set $~lib/argc - local.get $3 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $7 + i32.load offset=4 + local.set $6 + block $break|0 local.get $5 - local.get $4 - call_indirect (type $FUNCSIG$dddii) - local.set $3 - local.get $7 + call $~lib/typedarray/Float64Array#get:length i32.const 1 i32.sub local.set $7 - br $loop|0 + loop $loop|0 + local.get $7 + i32.const 0 + i32.ge_s + i32.eqz + br_if $break|0 + i32.const 4 + global.set $~lib/argc + local.get $3 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $7 + local.get $5 + local.get $4 + call_indirect (type $FUNCSIG$dddii) + local.set $8 + global.get $~lib/error + if + f64.const 0 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 + end + local.get $8 + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + local.set $8 + local.get $5 + call $~lib/rt/pure/__release + local.get $8 end - local.get $3 - local.set $8 - local.get $5 - call $~lib/rt/pure/__release - local.get $8 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (; 152 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (; 154 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 f64) i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -8277,14 +9253,26 @@ i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 23 f64.const 0 @@ -8307,7 +9295,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 153 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 155 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -8320,7 +9308,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int8Array#map (; 154 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#map (; 156 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8329,76 +9317,100 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Int8Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.get $4 - call $~lib/typedarray/Int8Array#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 + (local $10 i32) + block $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 + local.get $4 + call $~lib/typedarray/Int8Array#constructor + local.set $6 + global.get $~lib/error + if i32.const 0 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 + br $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 i32.const 0 - i32.shl - i32.add - i32.load8_s - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$iiii) - i32.store8 - local.get $9 - i32.const 1 - i32.add local.set $9 - br $loop|0 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$iiii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $10 + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable end - unreachable + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (; 155 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (; 157 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -8406,14 +9418,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 24 call $~lib/typedarray/Int8Array#map @@ -8421,6 +9445,16 @@ local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const 1 i32.eq i32.eqz @@ -8435,6 +9469,16 @@ local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const 4 i32.eq i32.eqz @@ -8449,6 +9493,16 @@ local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const 9 i32.eq i32.eqz @@ -8467,7 +9521,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 156 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 158 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -8480,7 +9534,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8Array#map (; 157 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#map (; 159 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8489,81 +9543,98 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Uint8Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.get $4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 + (local $10 i32) + block $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 + local.get $4 + call $~lib/typedarray/Uint8Array#constructor + local.set $6 + global.get $~lib/error + if i32.const 0 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 + br $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$iiii) - i32.store8 - local.get $9 - i32.const 1 - i32.add local.set $9 - br $loop|0 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$iiii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $10 + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable end - unreachable + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 ) - (func $~lib/typedarray/Uint8Array#__get (; 158 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#__get (; 160 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 109 - i32.const 44 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -8571,13 +9642,20 @@ i32.add i32.load8_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (; 159 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (; 161 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -8585,14 +9663,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 25 call $~lib/typedarray/Uint8Array#map @@ -8600,6 +9690,14 @@ local.get $2 i32.const 0 call $~lib/typedarray/Uint8Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 255 + i32.and i32.const 1 i32.eq i32.eqz @@ -8614,6 +9712,14 @@ local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 255 + i32.and i32.const 4 i32.eq i32.eqz @@ -8628,9 +9734,17 @@ local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get - i32.const 9 - i32.eq - i32.eqz + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 255 + i32.and + i32.const 9 + i32.eq + i32.eqz if i32.const 0 i32.const 24 @@ -8646,7 +9760,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 160 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 162 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -8659,7 +9773,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8ClampedArray#map (; 161 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#map (; 163 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8668,76 +9782,100 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.get $4 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 + (local $10 i32) + block $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 + local.get $4 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $6 + global.get $~lib/error + if i32.const 0 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 + br $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$iiii) - i32.store8 - local.get $9 - i32.const 1 - i32.add local.set $9 - br $loop|0 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$iiii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $10 + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable end - unreachable + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (; 162 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (; 164 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -8745,14 +9883,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 26 call $~lib/typedarray/Uint8ClampedArray#map @@ -8760,6 +9910,14 @@ local.get $2 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 255 + i32.and i32.const 1 i32.eq i32.eqz @@ -8774,6 +9932,14 @@ local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 255 + i32.and i32.const 4 i32.eq i32.eqz @@ -8788,6 +9954,14 @@ local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 255 + i32.and i32.const 9 i32.eq i32.eqz @@ -8806,7 +9980,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 163 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 165 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -8819,7 +9993,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int16Array#map (; 164 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#map (; 166 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8828,99 +10002,123 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Int16Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.get $4 - call $~lib/typedarray/Int16Array#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 + (local $10 i32) + block $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Int16Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$iiii) - i32.store16 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $loop|0 + local.get $4 + call $~lib/typedarray/Int16Array#constructor + local.set $6 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 end - unreachable - end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 - ) - (func $~lib/typedarray/Int16Array#__get (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 432 - i32.const 273 - i32.const 63 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$iiii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $10 + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable + end + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 + end + ) + (func $~lib/typedarray/Int16Array#__get (; 167 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 1 + i32.shl i32.add i32.load16_s ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (; 166 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (; 168 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -8928,14 +10126,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 27 call $~lib/typedarray/Int16Array#map @@ -8943,6 +10153,16 @@ local.get $2 i32.const 0 call $~lib/typedarray/Int16Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.const 1 i32.eq i32.eqz @@ -8957,6 +10177,16 @@ local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.const 4 i32.eq i32.eqz @@ -8971,6 +10201,16 @@ local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.const 9 i32.eq i32.eqz @@ -8989,7 +10229,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 167 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 169 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -9002,7 +10242,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint16Array#map (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#map (; 170 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9011,70 +10251,87 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Uint16Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.get $4 - call $~lib/typedarray/Uint16Array#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 + (local $10 i32) + block $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint16Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$iiii) - i32.store16 - local.get $9 - i32.const 1 - i32.add + local.get $4 + call $~lib/typedarray/Uint16Array#constructor + local.set $6 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 local.set $9 - br $loop|0 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$iiii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $10 + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable end - unreachable + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 ) - (func $~lib/typedarray/Uint16Array#__get (; 169 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#__get (; 171 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -9082,12 +10339,12 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 355 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -9097,13 +10354,20 @@ i32.add i32.load16_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (; 170 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (; 172 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -9111,14 +10375,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 28 call $~lib/typedarray/Uint16Array#map @@ -9126,11 +10402,19 @@ local.get $2 i32.const 0 call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.eq - i32.eqz + local.set $3 + global.get $~lib/error if - i32.const 0 + return + end + local.get $3 + i32.const 65535 + i32.and + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 i32.const 24 i32.const 317 i32.const 2 @@ -9140,6 +10424,14 @@ local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 65535 + i32.and i32.const 4 i32.eq i32.eqz @@ -9154,6 +10446,14 @@ local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 65535 + i32.and i32.const 9 i32.eq i32.eqz @@ -9172,7 +10472,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 171 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 173 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -9185,7 +10485,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int32Array#map (; 172 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#map (; 174 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9194,76 +10494,100 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Int32Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.get $4 - call $~lib/typedarray/Int32Array#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 + (local $10 i32) + block $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$iiii) - i32.store - local.get $9 - i32.const 1 - i32.add + local.get $4 + call $~lib/typedarray/Int32Array#constructor + local.set $6 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 local.set $9 - br $loop|0 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$iiii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $10 + i32.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable end - unreachable + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (; 173 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (; 175 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -9271,14 +10595,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 29 call $~lib/typedarray/Int32Array#map @@ -9286,6 +10622,12 @@ local.get $2 i32.const 0 call $~lib/typedarray/Int32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 1 i32.eq i32.eqz @@ -9300,6 +10642,12 @@ local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 4 i32.eq i32.eqz @@ -9314,6 +10662,12 @@ local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 9 i32.eq i32.eqz @@ -9332,7 +10686,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 174 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 176 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -9345,7 +10699,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint32Array#map (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#map (; 177 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9354,83 +10708,100 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Uint32Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.get $4 - call $~lib/typedarray/Uint32Array#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 + (local $10 i32) + block $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint32Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$iiii) - i32.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $loop|0 + local.get $4 + call $~lib/typedarray/Uint32Array#constructor + local.set $6 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 end - unreachable - end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 - ) - (func $~lib/typedarray/Uint32Array#__get (; 176 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$iiii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $10 + i32.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable + end + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 + end + ) + (func $~lib/typedarray/Uint32Array#__get (; 178 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 2 i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 519 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i32.const 0 + return end local.get $0 i32.load offset=4 @@ -9440,13 +10811,20 @@ i32.add i32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (; 177 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (; 179 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -9454,14 +10832,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 30 call $~lib/typedarray/Uint32Array#map @@ -9469,6 +10859,12 @@ local.get $2 i32.const 0 call $~lib/typedarray/Uint32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 1 i32.eq i32.eqz @@ -9483,6 +10879,12 @@ local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 4 i32.eq i32.eqz @@ -9497,6 +10899,12 @@ local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i32.const 9 i32.eq i32.eqz @@ -9515,7 +10923,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 178 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 180 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) (local $3 i64) local.get $2 call $~lib/rt/pure/__retain @@ -9528,7 +10936,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int64Array#map (; 179 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#map (; 181 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9537,70 +10945,87 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Int64Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.get $4 - call $~lib/typedarray/Int64Array#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 + (local $10 i64) + block $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Int64Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 - i32.const 3 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$jjii) - i64.store - local.get $9 - i32.const 1 - i32.add + local.get $4 + call $~lib/typedarray/Int64Array#constructor + local.set $6 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 local.set $9 - br $loop|0 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 3 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$jjii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $10 + i64.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable end - unreachable + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 ) - (func $~lib/typedarray/Int64Array#__get (; 180 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#__get (; 182 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 i32.load offset=8 @@ -9608,12 +11033,12 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 601 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i64.const 0 + return end local.get $0 i32.load offset=4 @@ -9623,13 +11048,20 @@ i32.add i64.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (; 181 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (; 183 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i64) i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -9637,14 +11069,26 @@ i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 31 call $~lib/typedarray/Int64Array#map @@ -9652,6 +11096,12 @@ local.get $2 i32.const 0 call $~lib/typedarray/Int64Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i64.const 1 i64.eq i32.eqz @@ -9666,6 +11116,12 @@ local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i64.const 4 i64.eq i32.eqz @@ -9680,6 +11136,12 @@ local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i64.const 9 i64.eq i32.eqz @@ -9698,7 +11160,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 182 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 184 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) (local $3 i64) local.get $2 call $~lib/rt/pure/__retain @@ -9711,7 +11173,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint64Array#map (; 183 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#map (; 185 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9720,70 +11182,87 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Uint64Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.get $4 - call $~lib/typedarray/Uint64Array#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 + (local $10 i64) + block $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint64Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 - i32.const 3 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$jjii) - i64.store - local.get $9 - i32.const 1 - i32.add + local.get $4 + call $~lib/typedarray/Uint64Array#constructor + local.set $6 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 local.set $9 - br $loop|0 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 3 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$jjii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $10 + i64.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable end - unreachable + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 ) - (func $~lib/typedarray/Uint64Array#__get (; 184 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Uint64Array#__get (; 186 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 i32.load offset=8 @@ -9791,12 +11270,12 @@ i32.shr_u i32.ge_u if - i32.const 336 - i32.const 432 - i32.const 683 - i32.const 63 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + i64.const 0 + return end local.get $0 i32.load offset=4 @@ -9806,13 +11285,20 @@ i32.add i64.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (; 185 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (; 187 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i64) i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -9820,14 +11306,26 @@ i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 32 call $~lib/typedarray/Uint64Array#map @@ -9835,6 +11333,12 @@ local.get $2 i32.const 0 call $~lib/typedarray/Uint64Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i64.const 1 i64.eq i32.eqz @@ -9849,6 +11353,12 @@ local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i64.const 4 i64.eq i32.eqz @@ -9863,6 +11373,12 @@ local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 i64.const 9 i64.eq i32.eqz @@ -9881,7 +11397,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 186 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 188 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) (local $3 f32) local.get $2 call $~lib/rt/pure/__retain @@ -9894,7 +11410,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float32Array#map (; 187 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#map (; 189 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9903,114 +11419,150 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 + (local $10 f32) + block $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Float32Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 + i32.const 0 + local.get $4 + call $~lib/typedarray/Float32Array#constructor + local.set $6 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 + local.set $9 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$ffii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $10 + f32.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable + end + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 + end + ) + (func $~lib/typedarray/Float32Array#__get (; 190 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Float32Array#get:length - local.set $4 - local.get $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 0 + i32.const 280 + call $~lib/error/RangeError#constructor + global.set $~lib/error + f32.const 0 + return + end + local.get $0 i32.load offset=4 - local.set $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (; 191 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) i32.const 0 - local.get $4 + i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 - i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$ffii) - f32.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $loop|0 - end - unreachable - end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 - ) - (func $~lib/typedarray/Float32Array#__get (; 188 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 432 - i32.const 765 - i32.const 63 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (; 189 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - (local $2 i32) - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.tee $0 call $~lib/rt/pure/__retain local.set $1 local.get $1 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 33 call $~lib/typedarray/Float32Array#map @@ -10018,6 +11570,12 @@ local.get $2 i32.const 0 call $~lib/typedarray/Float32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 f32.const 1 f32.eq i32.eqz @@ -10032,6 +11590,12 @@ local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 f32.const 4 f32.eq i32.eqz @@ -10046,6 +11610,12 @@ local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 f32.const 9 f32.eq i32.eqz @@ -10064,7 +11634,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 190 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 192 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) (local $3 f64) local.get $2 call $~lib/rt/pure/__retain @@ -10077,7 +11647,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float64Array#map (; 191 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#map (; 193 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10086,76 +11656,100 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - call $~lib/typedarray/Float64Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - i32.const 0 - local.get $4 - call $~lib/typedarray/Float64Array#constructor - local.tee $6 - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - i32.load offset=4 - local.set $8 - block $break|0 + (local $10 f64) + block $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 i32.const 0 - local.set $9 - loop $loop|0 - local.get $9 - local.get $4 - i32.lt_s - i32.eqz - br_if $break|0 - local.get $8 - local.get $9 - i32.const 3 - i32.shl - i32.add - i32.const 3 - global.set $~lib/argc - local.get $5 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $9 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$ddii) - f64.store - local.get $9 - i32.const 1 - i32.add + local.get $4 + call $~lib/typedarray/Float64Array#constructor + local.set $6 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $6 + local.tee $6 + call $~lib/rt/pure/__retain + local.set $7 + local.get $7 + i32.load offset=4 + local.set $8 + block $break|0 + i32.const 0 local.set $9 - br $loop|0 + loop $loop|0 + local.get $9 + local.get $4 + i32.lt_s + i32.eqz + br_if $break|0 + local.get $8 + local.get $9 + i32.const 3 + i32.shl + i32.add + i32.const 3 + global.set $~lib/argc + local.get $5 + local.get $9 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $9 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$ddii) + local.set $10 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $10 + f64.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $loop|0 + end + unreachable end - unreachable + local.get $7 + local.set $9 + local.get $3 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $9 end - local.get $7 - local.set $9 - local.get $3 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (; 192 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (; 194 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 f64) i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -10163,14 +11757,26 @@ i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 34 call $~lib/typedarray/Float64Array#map @@ -10178,6 +11784,12 @@ local.get $2 i32.const 0 call $~lib/typedarray/Float64Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 f64.const 1 f64.eq i32.eqz @@ -10192,6 +11804,12 @@ local.get $2 i32.const 1 call $~lib/typedarray/Float64Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 f64.const 4 f64.eq i32.eqz @@ -10206,6 +11824,12 @@ local.get $2 i32.const 2 call $~lib/typedarray/Float64Array#__get + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 f64.const 9 f64.eq i32.eqz @@ -10224,7 +11848,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 193 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 195 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10241,7 +11865,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int8Array#some (; 194 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#some (; 196 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10281,6 +11905,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -10304,7 +11935,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 195 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 197 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10321,7 +11952,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (; 196 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (; 198 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10329,21 +11960,39 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $0 - call $~lib/rt/pure/__retain - local.set $1 + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + local.tee $0 + call $~lib/rt/pure/__retain + local.set $1 local.get $1 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 35 call $~lib/typedarray/Int8Array#some @@ -10382,7 +12031,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 197 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 199 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10397,7 +12046,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8Array#some (; 198 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#some (; 200 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10437,6 +12086,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -10460,7 +12116,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 199 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 201 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10475,7 +12131,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (; 200 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (; 202 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10483,6 +12139,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -10490,14 +12152,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 37 call $~lib/typedarray/Uint8Array#some @@ -10536,7 +12210,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 201 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 203 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10551,7 +12225,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8ClampedArray#some (; 202 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#some (; 204 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10591,6 +12265,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -10614,7 +12295,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 203 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 205 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10629,7 +12310,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (; 204 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (; 206 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10637,6 +12318,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -10644,14 +12331,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 39 call $~lib/typedarray/Uint8ClampedArray#some @@ -10690,7 +12389,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 205 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 207 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10707,7 +12406,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int16Array#some (; 206 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#some (; 208 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10747,6 +12446,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -10770,7 +12476,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 207 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 209 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10787,7 +12493,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (; 208 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (; 210 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10795,6 +12501,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -10802,14 +12514,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 41 call $~lib/typedarray/Int16Array#some @@ -10848,7 +12572,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 209 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 211 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10863,7 +12587,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint16Array#some (; 210 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#some (; 212 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10903,6 +12627,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -10926,7 +12657,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 211 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 213 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10941,7 +12672,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (; 212 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (; 214 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10949,6 +12680,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -10956,14 +12693,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 43 call $~lib/typedarray/Uint16Array#some @@ -11002,7 +12751,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 213 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 215 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11015,7 +12764,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int32Array#some (; 214 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#some (; 216 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11055,6 +12804,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -11078,7 +12834,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 215 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 217 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11091,7 +12847,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (; 216 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (; 218 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11099,6 +12855,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -11106,14 +12868,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 45 call $~lib/typedarray/Int32Array#some @@ -11152,7 +12926,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 217 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 219 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11165,7 +12939,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint32Array#some (; 218 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#some (; 220 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11205,6 +12979,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -11228,7 +13009,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 219 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 221 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11241,7 +13022,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (; 220 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (; 222 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11249,6 +13030,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -11256,14 +13043,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 47 call $~lib/typedarray/Uint32Array#some @@ -11302,7 +13101,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 221 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 223 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11315,7 +13114,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int64Array#some (; 222 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#some (; 224 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11355,6 +13154,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$ijii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -11378,7 +13184,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 223 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 225 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11391,7 +13197,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (; 224 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (; 226 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11399,6 +13205,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -11406,14 +13218,26 @@ i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 49 call $~lib/typedarray/Int64Array#some @@ -11452,7 +13276,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 225 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 227 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11465,7 +13289,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint64Array#some (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#some (; 228 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11505,6 +13329,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$ijii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -11528,7 +13359,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 227 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 229 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11541,7 +13372,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (; 228 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (; 230 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11549,6 +13380,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -11556,14 +13393,26 @@ i32.const 0 i64.const 2 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 4 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 6 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 51 call $~lib/typedarray/Uint64Array#some @@ -11602,7 +13451,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 229 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 231 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11615,7 +13464,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float32Array#some (; 230 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#some (; 232 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11655,6 +13504,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$ifii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -11678,7 +13534,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 231 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 233 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11691,7 +13547,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (; 232 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (; 234 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11699,6 +13555,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -11706,14 +13568,26 @@ i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 53 call $~lib/typedarray/Float32Array#some @@ -11752,7 +13626,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 233 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 235 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11765,7 +13639,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float64Array#some (; 234 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#some (; 236 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11805,6 +13679,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$idii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $7 if i32.const 1 local.set $7 @@ -11828,7 +13709,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 235 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 237 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11841,7 +13722,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (; 236 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (; 238 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11849,6 +13730,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -11856,14 +13743,26 @@ i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 55 call $~lib/typedarray/Float64Array#some @@ -11902,7 +13801,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 237 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 239 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11919,7 +13818,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int8Array#findIndex (; 238 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#findIndex (; 240 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11959,6 +13858,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -11982,7 +13888,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 239 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 241 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11999,7 +13905,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (; 240 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (; 242 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12007,6 +13913,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -12014,14 +13926,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 57 call $~lib/typedarray/Int8Array#findIndex @@ -12031,7 +13955,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -12047,7 +13971,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -12059,7 +13983,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 241 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 243 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12074,7 +13998,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8Array#findIndex (; 242 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#findIndex (; 244 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12114,6 +14038,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -12137,7 +14068,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 243 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 245 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12152,7 +14083,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (; 244 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (; 246 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12160,6 +14091,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -12167,16 +14104,28 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 59 + global.get $~lib/error + if + return + end + local.get $1 + i32.const 59 call $~lib/typedarray/Uint8Array#findIndex local.set $2 local.get $2 @@ -12184,7 +14133,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -12200,7 +14149,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -12212,7 +14161,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 245 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 247 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12227,7 +14176,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8ClampedArray#findIndex (; 246 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#findIndex (; 248 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12267,6 +14216,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -12290,7 +14246,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 247 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 249 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12305,7 +14261,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (; 248 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (; 250 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12313,6 +14269,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -12320,14 +14282,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 61 call $~lib/typedarray/Uint8ClampedArray#findIndex @@ -12337,7 +14311,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -12353,7 +14327,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -12365,7 +14339,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 249 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 251 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12382,7 +14356,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int16Array#findIndex (; 250 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#findIndex (; 252 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12422,6 +14396,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -12445,7 +14426,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 251 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 253 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12462,7 +14443,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (; 252 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (; 254 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12470,6 +14451,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -12477,14 +14464,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 63 call $~lib/typedarray/Int16Array#findIndex @@ -12494,7 +14493,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -12510,7 +14509,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -12522,7 +14521,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 253 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 255 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12537,7 +14536,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint16Array#findIndex (; 254 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#findIndex (; 256 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12577,6 +14576,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -12600,7 +14606,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 255 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 257 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12615,7 +14621,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (; 256 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (; 258 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12623,6 +14629,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -12630,14 +14642,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 65 call $~lib/typedarray/Uint16Array#findIndex @@ -12647,7 +14671,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -12663,7 +14687,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -12675,7 +14699,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 257 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 259 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12688,7 +14712,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int32Array#findIndex (; 258 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#findIndex (; 260 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12728,6 +14752,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -12751,7 +14782,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 259 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 261 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12764,7 +14795,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (; 260 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (; 262 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12772,6 +14803,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -12779,14 +14816,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 67 call $~lib/typedarray/Int32Array#findIndex @@ -12796,7 +14845,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -12812,7 +14861,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -12824,7 +14873,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 261 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 263 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12837,7 +14886,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint32Array#findIndex (; 262 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#findIndex (; 264 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12877,6 +14926,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -12900,7 +14956,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 263 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 265 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12913,7 +14969,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (; 264 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (; 266 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12921,6 +14977,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -12928,14 +14990,26 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 69 call $~lib/typedarray/Uint32Array#findIndex @@ -12945,7 +15019,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -12961,7 +15035,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -12973,7 +15047,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 265 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 267 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12986,7 +15060,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int64Array#findIndex (; 266 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#findIndex (; 268 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13026,6 +15100,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$ijii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -13049,7 +15130,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 267 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 269 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13062,7 +15143,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (; 268 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (; 270 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13070,6 +15151,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -13077,14 +15164,26 @@ i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 71 call $~lib/typedarray/Int64Array#findIndex @@ -13094,7 +15193,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -13110,7 +15209,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -13122,7 +15221,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 269 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 271 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13135,7 +15234,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint64Array#findIndex (; 270 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#findIndex (; 272 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13175,6 +15274,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$ijii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -13198,7 +15304,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 271 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 273 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13211,7 +15317,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (; 272 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (; 274 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13219,6 +15325,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -13226,14 +15338,26 @@ i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 73 call $~lib/typedarray/Uint64Array#findIndex @@ -13243,7 +15367,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -13259,7 +15383,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -13271,7 +15395,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 273 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 275 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13284,7 +15408,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float32Array#findIndex (; 274 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#findIndex (; 276 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13324,6 +15448,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$ifii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -13347,7 +15478,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 275 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 277 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13360,7 +15491,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (; 276 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (; 278 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13368,6 +15499,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -13375,14 +15512,26 @@ i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 75 call $~lib/typedarray/Float32Array#findIndex @@ -13392,7 +15541,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -13408,7 +15557,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -13420,7 +15569,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 277 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 279 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13433,7 +15582,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float64Array#findIndex (; 278 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#findIndex (; 280 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13473,6 +15622,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$idii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $7 if local.get $5 local.set $7 @@ -13496,7 +15652,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 279 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 281 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13509,7 +15665,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (; 280 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (; 282 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13517,6 +15673,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -13524,14 +15686,26 @@ i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 77 call $~lib/typedarray/Float64Array#findIndex @@ -13541,7 +15715,7 @@ i32.eq i32.eqz if - i32.const 976 + i32.const 864 i32.const 24 i32.const 376 i32.const 2 @@ -13557,7 +15731,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 912 i32.const 24 i32.const 379 i32.const 2 @@ -13569,7 +15743,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 281 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 283 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13588,7 +15762,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int8Array#every (; 282 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#every (; 284 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13629,6 +15803,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -13654,7 +15835,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 283 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 285 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13671,7 +15852,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (; 284 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (; 286 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13679,6 +15860,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -13686,14 +15873,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 79 call $~lib/typedarray/Int8Array#every @@ -13732,7 +15931,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 285 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 287 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13749,7 +15948,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8Array#every (; 286 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#every (; 288 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13790,6 +15989,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -13815,7 +16021,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 287 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 289 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13830,7 +16036,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (; 288 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (; 290 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13838,6 +16044,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -13845,14 +16057,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 81 call $~lib/typedarray/Uint8Array#every @@ -13891,7 +16115,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 289 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 291 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13908,7 +16132,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8ClampedArray#every (; 290 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#every (; 292 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13949,6 +16173,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -13974,7 +16205,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 291 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 293 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13989,7 +16220,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (; 292 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (; 294 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13997,6 +16228,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -14004,14 +16241,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 83 call $~lib/typedarray/Uint8ClampedArray#every @@ -14050,7 +16299,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 293 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 295 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14069,7 +16318,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int16Array#every (; 294 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#every (; 296 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14110,6 +16359,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -14135,7 +16391,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 295 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 297 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14152,7 +16408,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (; 296 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (; 298 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14160,6 +16416,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -14167,14 +16429,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $1 + global.get $~lib/error + if + return + end + local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 85 call $~lib/typedarray/Int16Array#every @@ -14213,7 +16487,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 297 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 299 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14230,7 +16504,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint16Array#every (; 298 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#every (; 300 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14271,6 +16545,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -14296,7 +16577,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 299 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 301 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14311,7 +16592,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (; 300 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (; 302 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14319,6 +16600,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -14326,14 +16613,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 87 call $~lib/typedarray/Uint16Array#every @@ -14372,7 +16671,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 301 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 303 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14387,7 +16686,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int32Array#every (; 302 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#every (; 304 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14428,6 +16727,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -14453,7 +16759,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 303 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 305 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14466,7 +16772,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (; 304 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (; 306 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14474,6 +16780,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -14481,14 +16793,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 89 call $~lib/typedarray/Int32Array#every @@ -14527,7 +16851,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 305 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 307 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14542,7 +16866,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint32Array#every (; 306 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#every (; 308 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14583,6 +16907,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$iiii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -14608,7 +16939,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 307 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 309 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14621,7 +16952,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (; 308 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (; 310 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14629,6 +16960,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -14636,14 +16973,26 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 91 call $~lib/typedarray/Uint32Array#every @@ -14682,7 +17031,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 309 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 311 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14697,7 +17046,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int64Array#every (; 310 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#every (; 312 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14738,6 +17087,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$ijii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -14763,7 +17119,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 311 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 313 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14776,7 +17132,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (; 312 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (; 314 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14784,6 +17140,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -14791,14 +17153,26 @@ i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 93 call $~lib/typedarray/Int64Array#every @@ -14837,7 +17211,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 313 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 315 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14852,7 +17226,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint64Array#every (; 314 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#every (; 316 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14893,6 +17267,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$ijii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -14918,7 +17299,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 315 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 317 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14931,7 +17312,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 316 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 318 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14939,6 +17320,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -14946,14 +17333,26 @@ i32.const 0 i64.const 2 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 i64.const 4 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 i64.const 6 call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 95 call $~lib/typedarray/Uint64Array#every @@ -14992,12 +17391,12 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/number/isNaN (; 317 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/number/isNaN (; 319 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne ) - (func $~lib/math/NativeMathf.mod (; 318 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 320 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15244,7 +17643,7 @@ local.get $2 f32.reinterpret_i32 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 319 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 321 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15259,7 +17658,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float32Array#every (; 320 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#every (; 322 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15300,6 +17699,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$ifii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -15325,7 +17731,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 321 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 323 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15338,7 +17744,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (; 322 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (; 324 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -15346,6 +17752,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -15353,14 +17765,26 @@ i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 97 call $~lib/typedarray/Float32Array#every @@ -15399,12 +17823,12 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/number/isNaN (; 323 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/number/isNaN (; 325 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/math/NativeMath.mod (; 324 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 326 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -15653,7 +18077,7 @@ local.get $2 f64.reinterpret_i64 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 325 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 327 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15668,7 +18092,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float64Array#every (; 326 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#every (; 328 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15709,6 +18133,13 @@ local.get $3 local.get $2 call_indirect (type $FUNCSIG$idii) + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $7 if br $continue|0 end @@ -15734,7 +18165,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 327 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 329 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15747,7 +18178,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (; 328 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (; 330 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -15755,6 +18186,12 @@ i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -15762,14 +18199,26 @@ i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 99 call $~lib/typedarray/Float64Array#every @@ -15808,8 +18257,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 329 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 331 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -15817,12 +18267,18 @@ local.get $1 call $~lib/array/Array#__get local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $0 i32.const 24 i32.shl i32.const 24 i32.shr_s - local.get $3 + local.get $4 i32.const 24 i32.shl i32.const 24 @@ -15830,7 +18286,7 @@ i32.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -15842,7 +18298,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -15854,7 +18310,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -15868,63 +18324,76 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#forEach (; 330 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#forEach (; 332 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 + block $~lib/typedarray/FOREACH<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 local.get $3 - call $~lib/typedarray/Int8Array#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 + i32.load offset=4 + local.set $4 + block $break|0 i32.const 0 - i32.shl - i32.add - i32.load8_s - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$viii) - local.get $5 - i32.const 1 - i32.add local.set $5 - br $loop|0 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$viii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (; 331 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (; 333 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -15935,31 +18404,61 @@ global.get $std/typedarray/forEachValues i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 24 i32.shl i32.const 24 i32.shr_s call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 24 i32.shl i32.const 24 i32.shr_s call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 24 i32.shl i32.const 24 i32.shr_s call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 101 call $~lib/typedarray/Int8Array#forEach @@ -15968,7 +18467,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -15980,8 +18479,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 332 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 334 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -15989,16 +18489,22 @@ local.get $1 call $~lib/array/Array#__get local.set $3 - local.get $0 - i32.const 255 - i32.and + global.get $~lib/error + if + return + end local.get $3 + local.set $4 + local.get $0 + i32.const 255 + i32.and + local.get $4 i32.const 255 i32.and i32.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -16010,7 +18516,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -16022,7 +18528,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -16036,63 +18542,76 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#forEach (; 333 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#forEach (; 335 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 + block $~lib/typedarray/FOREACH<~lib/typedarray/Uint8Array,u8>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 local.get $3 - call $~lib/typedarray/Uint8Array#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 + i32.load offset=4 + local.set $4 + block $break|0 i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$viii) - local.get $5 - i32.const 1 - i32.add local.set $5 - br $loop|0 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$viii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (; 334 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (; 336 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -16103,25 +18622,55 @@ global.get $std/typedarray/forEachValues i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 102 call $~lib/typedarray/Uint8Array#forEach @@ -16130,7 +18679,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -16142,8 +18691,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 335 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 337 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -16151,16 +18701,22 @@ local.get $1 call $~lib/array/Array#__get local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $0 i32.const 255 i32.and - local.get $3 + local.get $4 i32.const 255 i32.and i32.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -16172,7 +18728,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -16184,7 +18740,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -16198,63 +18754,76 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#forEach (; 336 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8ClampedArray#forEach (; 338 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 + block $~lib/typedarray/FOREACH<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 local.get $3 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 + i32.load offset=4 + local.set $4 + block $break|0 i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$viii) - local.get $5 - i32.const 1 - i32.add local.set $5 - br $loop|0 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$viii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (; 337 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (; 339 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -16265,25 +18834,55 @@ global.get $std/typedarray/forEachValues i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 103 call $~lib/typedarray/Uint8ClampedArray#forEach @@ -16292,7 +18891,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -16304,8 +18903,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 338 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 340 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -16313,12 +18913,18 @@ local.get $1 call $~lib/array/Array#__get local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $0 i32.const 16 i32.shl i32.const 16 i32.shr_s - local.get $3 + local.get $4 i32.const 16 i32.shl i32.const 16 @@ -16326,7 +18932,7 @@ i32.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -16338,7 +18944,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -16350,7 +18956,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -16364,63 +18970,76 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#forEach (; 339 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#forEach (; 341 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 + block $~lib/typedarray/FOREACH<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 local.get $3 - call $~lib/typedarray/Int16Array#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$viii) - local.get $5 - i32.const 1 - i32.add + i32.load offset=4 + local.set $4 + block $break|0 + i32.const 0 local.set $5 - br $loop|0 + local.get $3 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$viii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (; 340 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (; 342 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -16431,31 +19050,61 @@ global.get $std/typedarray/forEachValues i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 16 i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 16 i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 16 i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 104 call $~lib/typedarray/Int16Array#forEach @@ -16464,7 +19113,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -16476,8 +19125,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 341 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 343 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -16485,16 +19135,22 @@ local.get $1 call $~lib/array/Array#__get local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + local.set $4 local.get $0 i32.const 65535 i32.and - local.get $3 + local.get $4 i32.const 65535 i32.and i32.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -16506,7 +19162,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -16518,7 +19174,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -16532,63 +19188,76 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#forEach (; 342 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint16Array#forEach (; 344 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 + block $~lib/typedarray/FOREACH<~lib/typedarray/Uint16Array,u16>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 local.get $3 - call $~lib/typedarray/Uint16Array#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$viii) - local.get $5 - i32.const 1 - i32.add + i32.load offset=4 + local.set $4 + block $break|0 + i32.const 0 local.set $5 - br $loop|0 + local.get $3 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$viii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (; 343 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (; 345 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -16599,25 +19268,55 @@ global.get $std/typedarray/forEachValues i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 105 call $~lib/typedarray/Uint16Array#forEach @@ -16626,7 +19325,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -16638,8 +19337,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 344 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 346 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -16647,12 +19347,18 @@ local.get $1 call $~lib/array/Array#__get local.set $3 - local.get $0 + global.get $~lib/error + if + return + end local.get $3 + local.set $4 + local.get $0 + local.get $4 i32.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -16664,7 +19370,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -16676,7 +19382,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -16690,63 +19396,76 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#forEach (; 345 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#forEach (; 347 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 + block $~lib/typedarray/FOREACH<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 local.get $3 - call $~lib/typedarray/Int32Array#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$viii) - local.get $5 - i32.const 1 - i32.add + i32.load offset=4 + local.set $4 + block $break|0 + i32.const 0 local.set $5 - br $loop|0 - end - unreachable - end - local.get $3 - call $~lib/rt/pure/__release + local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$viii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable + end + local.get $3 + call $~lib/rt/pure/__release + end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> (; 346 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> (; 348 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -16757,19 +19476,49 @@ global.get $std/typedarray/forEachValues i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 106 call $~lib/typedarray/Int32Array#forEach @@ -16778,7 +19527,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -16790,8 +19539,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 347 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 349 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -16799,12 +19549,18 @@ local.get $1 call $~lib/array/Array#__get local.set $3 - local.get $0 + global.get $~lib/error + if + return + end local.get $3 + local.set $4 + local.get $0 + local.get $4 i32.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -16816,7 +19572,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -16828,7 +19584,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -16842,63 +19598,76 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array#forEach (; 348 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint32Array#forEach (; 350 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 + block $~lib/typedarray/FOREACH<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 local.get $3 - call $~lib/typedarray/Uint32Array#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$viii) - local.get $5 - i32.const 1 - i32.add + i32.load offset=4 + local.set $4 + block $break|0 + i32.const 0 local.set $5 - br $loop|0 + local.get $3 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$viii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (; 349 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (; 351 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -16909,19 +19678,49 @@ global.get $std/typedarray/forEachValues i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 107 call $~lib/typedarray/Uint32Array#forEach @@ -16930,7 +19729,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -16942,8 +19741,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 350 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 352 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -16951,13 +19751,19 @@ local.get $1 call $~lib/array/Array#__get local.set $3 - local.get $0 + global.get $~lib/error + if + return + end local.get $3 + local.set $4 + local.get $0 + local.get $4 i64.extend_i32_s i64.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -16969,7 +19775,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -16981,7 +19787,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -16995,89 +19801,132 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#forEach (; 351 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#forEach (; 353 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + block $~lib/typedarray/FOREACH<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + block $break|0 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$vjii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable + end + local.get $3 + call $~lib/rt/pure/__release + end + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (; 354 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + global.set $std/typedarray/forEachCallCount + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + local.tee $0 call $~lib/rt/pure/__retain - local.set $3 + local.set $1 + local.get $1 + global.set $std/typedarray/forEachSelf local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + i32.const 0 + call $~lib/array/Array#__get local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 - local.get $3 - call $~lib/typedarray/Int64Array#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$vjii) - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $loop|0 - end - unreachable + global.get $~lib/error + if + return end - local.get $3 - call $~lib/rt/pure/__release - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (; 352 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - i32.const 0 - global.set $std/typedarray/forEachCallCount - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - call $~lib/rt/pure/__retain - local.set $1 - local.get $1 - global.set $std/typedarray/forEachSelf - local.get $1 - i32.const 0 - global.get $std/typedarray/forEachValues - i32.const 0 - call $~lib/array/Array#__get + local.get $2 i64.extend_i32_s call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i64.extend_i32_s call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i64.extend_i32_s call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 108 call $~lib/typedarray/Int64Array#forEach @@ -17086,7 +19935,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -17098,8 +19947,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 353 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 355 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -17107,13 +19957,19 @@ local.get $1 call $~lib/array/Array#__get local.set $3 - local.get $0 + global.get $~lib/error + if + return + end local.get $3 + local.set $4 + local.get $0 + local.get $4 i64.extend_i32_s i64.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -17125,7 +19981,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -17137,7 +19993,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -17151,63 +20007,76 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#forEach (; 354 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint64Array#forEach (; 356 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 + block $~lib/typedarray/FOREACH<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 local.get $3 - call $~lib/typedarray/Uint64Array#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$vjii) - local.get $5 - i32.const 1 - i32.add + i32.load offset=4 + local.set $4 + block $break|0 + i32.const 0 local.set $5 - br $loop|0 + local.get $3 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$vjii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (; 355 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (; 357 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -17218,22 +20087,52 @@ global.get $std/typedarray/forEachValues i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 109 call $~lib/typedarray/Uint64Array#forEach @@ -17242,7 +20141,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -17254,8 +20153,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 356 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 358 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -17263,13 +20163,19 @@ local.get $1 call $~lib/array/Array#__get local.set $3 - local.get $0 + global.get $~lib/error + if + return + end local.get $3 + local.set $4 + local.get $0 + local.get $4 f32.convert_i32_s f32.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -17281,7 +20187,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -17293,7 +20199,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -17307,66 +20213,79 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#forEach (; 357 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#forEach (; 359 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + block $~lib/typedarray/FOREACH<~lib/typedarray/Float32Array,f32>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + block $break|0 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Float32Array#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$vfii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable + end + local.get $3 + call $~lib/rt/pure/__release + end + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (; 360 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 0 + global.set $std/typedarray/forEachCallCount + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.set $0 + global.get $~lib/error + if + return + end local.get $0 + local.tee $0 call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 - local.get $3 - call $~lib/typedarray/Float32Array#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$vfii) - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $loop|0 - end - unreachable - end - local.get $3 - call $~lib/rt/pure/__release - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (; 358 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - i32.const 0 - global.set $std/typedarray/forEachCallCount - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - call $~lib/rt/pure/__retain - local.set $1 + local.set $1 local.get $1 global.set $std/typedarray/forEachSelf local.get $1 @@ -17374,22 +20293,52 @@ global.get $std/typedarray/forEachValues i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 f32.convert_i32_s call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 f32.convert_i32_s call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 f32.convert_i32_s call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 110 call $~lib/typedarray/Float32Array#forEach @@ -17398,7 +20347,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -17410,8 +20359,9 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 359 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 361 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) local.get $2 call $~lib/rt/pure/__retain drop @@ -17419,13 +20369,19 @@ local.get $1 call $~lib/array/Array#__get local.set $3 - local.get $0 + global.get $~lib/error + if + return + end local.get $3 + local.set $4 + local.get $0 + local.get $4 f64.convert_i32_s f64.eq i32.eqz if - i32.const 1144 + i32.const 1032 i32.const 24 i32.const 436 i32.const 4 @@ -17437,7 +20393,7 @@ i32.eq i32.eqz if - i32.const 1208 + i32.const 1096 i32.const 24 i32.const 437 i32.const 4 @@ -17449,7 +20405,7 @@ i32.eq i32.eqz if - i32.const 1272 + i32.const 1160 i32.const 24 i32.const 438 i32.const 4 @@ -17463,63 +20419,76 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#forEach (; 360 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#forEach (; 362 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $3 - local.get $1 - local.set $2 - local.get $3 - i32.load offset=4 - local.set $4 - block $break|0 - i32.const 0 - local.set $5 + block $~lib/typedarray/FOREACH<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $0 + call $~lib/rt/pure/__retain + local.set $3 + local.get $1 + local.set $2 local.get $3 - call $~lib/typedarray/Float64Array#get:length - local.set $6 - loop $loop|0 - local.get $5 - local.get $6 - i32.lt_s - i32.eqz - br_if $break|0 - i32.const 3 - global.set $~lib/argc - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $5 - local.get $3 - local.get $2 - call_indirect (type $FUNCSIG$vdii) - local.get $5 - i32.const 1 - i32.add + i32.load offset=4 + local.set $4 + block $break|0 + i32.const 0 local.set $5 - br $loop|0 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $6 + loop $loop|0 + local.get $5 + local.get $6 + i32.lt_s + i32.eqz + br_if $break|0 + i32.const 3 + global.set $~lib/argc + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $5 + local.get $3 + local.get $2 + call_indirect (type $FUNCSIG$vdii) + global.get $~lib/error + if + br $~lib/typedarray/FOREACH<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable end - unreachable + local.get $3 + call $~lib/rt/pure/__release end - local.get $3 - call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (; 361 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (; 363 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) + (local $2 i32) i32.const 0 global.set $std/typedarray/forEachCallCount i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 local.tee $0 call $~lib/rt/pure/__retain local.set $1 @@ -17530,22 +20499,52 @@ global.get $std/typedarray/forEachValues i32.const 0 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 f64.convert_i32_s call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 1 global.get $std/typedarray/forEachValues i32.const 1 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 f64.convert_i32_s call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 2 global.get $std/typedarray/forEachValues i32.const 2 call $~lib/array/Array#__get + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 f64.convert_i32_s call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $1 i32.const 111 call $~lib/typedarray/Float64Array#forEach @@ -17554,7 +20553,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1240 i32.const 24 i32.const 441 i32.const 2 @@ -17566,7 +20565,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#reverse (; 362 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reverse (; 364 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -17630,7 +20629,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (; 363 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (; 365 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17639,18 +20638,31 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Int8Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Int8Array#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -17670,21 +20682,41 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 24 i32.shl i32.const 24 i32.shr_s call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 24 i32.shl i32.const 24 i32.shr_s call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -17708,11 +20740,27 @@ local.get $2 local.get $5 call $~lib/typedarray/Int8Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 24 i32.shl i32.const 24 @@ -17720,7 +20768,7 @@ i32.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -17745,11 +20793,21 @@ local.get $7 i32.const 0 call $~lib/typedarray/Int8Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const 8 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -17759,11 +20817,21 @@ local.get $7 i32.const 1 call $~lib/typedarray/Int8Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const 7 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -17773,11 +20841,21 @@ local.get $7 i32.const 2 call $~lib/typedarray/Int8Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const 6 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -17787,11 +20865,21 @@ local.get $7 i32.const 3 call $~lib/typedarray/Int8Array#__get - i32.const 5 + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 5 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -17813,7 +20901,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#reverse (; 364 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reverse (; 366 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -17877,7 +20965,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint8Array#subarray (; 365 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#subarray (; 367 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17885,120 +20973,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Uint8Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 local.get $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 $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 local.get $3 local.tee $7 - local.get $6 + local.get $4 local.tee $8 local.get $7 local.get $8 - i32.lt_s + i32.gt_s select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 4 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 + local.set $3 + i32.const 12 + i32.const 6 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $7 call $~lib/rt/pure/__retain - drop + local.set $7 + local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 + i32.load + local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 0 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 0 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 0 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 366 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 368 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18007,18 +21104,31 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Uint8Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Uint8Array#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -18038,17 +21148,37 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -18072,17 +21202,31 @@ local.get $2 local.get $5 call $~lib/typedarray/Uint8Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 + i32.const 255 + i32.and local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 255 i32.and i32.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -18107,11 +21251,19 @@ local.get $7 i32.const 0 call $~lib/typedarray/Uint8Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 255 + i32.and i32.const 8 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -18121,11 +21273,19 @@ local.get $7 i32.const 1 call $~lib/typedarray/Uint8Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 255 + i32.and i32.const 7 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -18135,11 +21295,19 @@ local.get $7 i32.const 2 call $~lib/typedarray/Uint8Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 255 + i32.and i32.const 6 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -18149,11 +21317,19 @@ local.get $7 i32.const 3 call $~lib/typedarray/Uint8Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 255 + i32.and i32.const 5 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -18175,7 +21351,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#reverse (; 367 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reverse (; 369 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -18239,7 +21415,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint8ClampedArray#subarray (; 368 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#subarray (; 370 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -18247,120 +21423,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $6 local.get $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 $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 local.get $3 local.tee $7 - local.get $6 + local.get $4 local.tee $8 local.get $7 local.get $8 - i32.lt_s + i32.gt_s select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 5 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 + local.set $3 + i32.const 12 + i32.const 7 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $7 call $~lib/rt/pure/__retain - drop + local.set $7 + local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 + i32.load + local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 0 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 0 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 0 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 369 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 371 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18369,18 +21554,31 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -18400,17 +21598,37 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -18434,17 +21652,31 @@ local.get $2 local.get $5 call $~lib/typedarray/Uint8ClampedArray#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 + i32.const 255 + i32.and local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 255 i32.and i32.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -18469,11 +21701,19 @@ local.get $7 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 255 + i32.and i32.const 8 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -18483,11 +21723,19 @@ local.get $7 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 255 + i32.and i32.const 7 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -18497,11 +21745,19 @@ local.get $7 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 255 + i32.and i32.const 6 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -18511,11 +21767,19 @@ local.get $7 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 255 + i32.and i32.const 5 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -18537,7 +21801,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#reverse (; 370 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reverse (; 372 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -18601,7 +21865,7 @@ end local.get $1 ) - (func $~lib/typedarray/Int16Array#subarray (; 371 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#subarray (; 373 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -18609,120 +21873,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Int16Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Int16Array#get:length + local.set $6 local.get $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 $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 local.get $3 local.tee $7 - local.get $6 + local.get $4 local.tee $8 local.get $7 local.get $8 - i32.lt_s + i32.gt_s select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 6 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 + local.set $3 + i32.const 12 + i32.const 8 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $7 call $~lib/rt/pure/__retain - drop + local.set $7 + local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 + i32.load + local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 1 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 1 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 372 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 374 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18731,18 +22004,31 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Int16Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Int16Array#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -18762,21 +22048,41 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 16 i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 16 i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -18800,11 +22106,27 @@ local.get $2 local.get $5 call $~lib/typedarray/Int16Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 16 i32.shl i32.const 16 @@ -18812,7 +22134,7 @@ i32.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -18837,11 +22159,21 @@ local.get $7 i32.const 0 call $~lib/typedarray/Int16Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.const 8 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -18851,11 +22183,21 @@ local.get $7 i32.const 1 call $~lib/typedarray/Int16Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.const 7 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -18865,11 +22207,21 @@ local.get $7 i32.const 2 call $~lib/typedarray/Int16Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.const 6 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -18879,11 +22231,21 @@ local.get $7 i32.const 3 call $~lib/typedarray/Int16Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.const 5 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -18905,7 +22267,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#reverse (; 373 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reverse (; 375 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -18969,7 +22331,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint16Array#subarray (; 374 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#subarray (; 376 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -18977,120 +22339,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Uint16Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 local.get $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 $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 local.get $3 local.tee $7 - local.get $6 + local.get $4 local.tee $8 local.get $7 local.get $8 - i32.lt_s + i32.gt_s select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 7 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 + local.set $3 + i32.const 12 + i32.const 9 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $7 call $~lib/rt/pure/__retain - drop + local.set $7 + local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 + i32.load + local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 1 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 1 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 375 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 377 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -19099,18 +22470,31 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Uint16Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Uint16Array#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -19130,17 +22514,37 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -19164,17 +22568,31 @@ local.get $2 local.get $5 call $~lib/typedarray/Uint16Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 + i32.const 65535 + i32.and local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.const 65535 i32.and i32.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -19199,11 +22617,19 @@ local.get $7 i32.const 0 call $~lib/typedarray/Uint16Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 65535 + i32.and i32.const 8 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -19213,11 +22639,19 @@ local.get $7 i32.const 1 call $~lib/typedarray/Uint16Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 65535 + i32.and i32.const 7 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -19227,11 +22661,19 @@ local.get $7 i32.const 2 call $~lib/typedarray/Uint16Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 65535 + i32.and i32.const 6 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -19241,11 +22683,19 @@ local.get $7 i32.const 3 call $~lib/typedarray/Uint16Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 65535 + i32.and i32.const 5 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -19267,7 +22717,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#reverse (; 376 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#reverse (; 378 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -19331,7 +22781,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (; 377 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (; 379 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -19340,18 +22790,31 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Int32Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Int32Array#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -19371,13 +22834,33 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -19401,15 +22884,27 @@ local.get $2 local.get $5 call $~lib/typedarray/Int32Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -19434,11 +22929,17 @@ local.get $7 i32.const 0 call $~lib/typedarray/Int32Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 i32.const 8 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -19448,11 +22949,17 @@ local.get $7 i32.const 1 call $~lib/typedarray/Int32Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 i32.const 7 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -19462,11 +22969,17 @@ local.get $7 i32.const 2 call $~lib/typedarray/Int32Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 i32.const 6 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -19476,11 +22989,17 @@ local.get $7 i32.const 3 call $~lib/typedarray/Int32Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 i32.const 5 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -19502,7 +23021,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array#reverse (; 378 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reverse (; 380 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -19566,7 +23085,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint32Array#subarray (; 379 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#subarray (; 381 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19574,120 +23093,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Uint32Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 local.get $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 $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 local.get $3 local.tee $7 - local.get $6 + local.get $4 local.tee $8 local.get $7 local.get $8 - i32.lt_s + i32.gt_s select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 9 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 + local.set $3 + i32.const 12 + i32.const 11 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $7 call $~lib/rt/pure/__retain - drop + local.set $7 + local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 + i32.load + local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 2 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 380 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 382 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -19696,18 +23224,31 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Uint32Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Uint32Array#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -19727,13 +23268,33 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 call $~lib/typedarray/Uint32Array#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -19757,15 +23318,27 @@ local.get $2 local.get $5 call $~lib/typedarray/Uint32Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i32.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -19790,11 +23363,17 @@ local.get $7 i32.const 0 call $~lib/typedarray/Uint32Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 i32.const 8 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 @@ -19804,11 +23383,17 @@ local.get $7 i32.const 1 call $~lib/typedarray/Uint32Array#__get - i32.const 7 - i32.eq - i32.eqz + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 + i32.const 7 + i32.eq + i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 @@ -19818,11 +23403,17 @@ local.get $7 i32.const 2 call $~lib/typedarray/Uint32Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 i32.const 6 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 @@ -19832,11 +23423,17 @@ local.get $7 i32.const 3 call $~lib/typedarray/Uint32Array#__get + local.set $8 + global.get $~lib/error + if + return + end + local.get $8 i32.const 5 i32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -19858,7 +23455,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#reverse (; 381 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#reverse (; 383 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -19922,7 +23519,7 @@ end local.get $1 ) - (func $~lib/typedarray/Int64Array#subarray (; 382 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array#subarray (; 384 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -19930,120 +23527,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Int64Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Int64Array#get:length + local.set $6 local.get $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 $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 local.get $3 local.tee $7 - local.get $6 + local.get $4 local.tee $8 local.get $7 local.get $8 - i32.lt_s + i32.gt_s select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 10 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 + local.set $3 + i32.const 12 + i32.const 12 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $7 call $~lib/rt/pure/__retain - drop + local.set $7 + local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 + i32.load + local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 3 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 383 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 385 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -20051,19 +23657,32 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 i64) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Int64Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Int64Array#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -20083,15 +23702,35 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i64.extend_i32_s call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i64.extend_i32_s call $~lib/typedarray/Int64Array#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -20115,16 +23754,28 @@ local.get $2 local.get $5 call $~lib/typedarray/Int64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i64.extend_i32_s i64.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -20145,57 +23796,81 @@ call $~lib/typedarray/Int64Array#subarray local.tee $6 call $~lib/typedarray/Int64Array#reverse - local.set $7 - local.get $7 + local.set $8 + local.get $8 i32.const 0 call $~lib/typedarray/Int64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i64.const 8 i64.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 1 call $~lib/typedarray/Int64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i64.const 7 i64.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 2 call $~lib/typedarray/Int64Array#__get - i64.const 6 - i64.eq - i32.eqz + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 + i64.const 6 + i64.eq + i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 3 call $~lib/typedarray/Int64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i64.const 5 i64.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -20214,10 +23889,10 @@ call $~lib/rt/pure/__release local.get $4 call $~lib/rt/pure/__release - local.get $7 + local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#reverse (; 384 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#reverse (; 386 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -20281,7 +23956,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint64Array#subarray (; 385 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array#subarray (; 387 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20289,120 +23964,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Uint64Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 local.get $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 $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 local.get $3 local.tee $7 - local.get $6 + local.get $4 local.tee $8 local.get $7 local.get $8 - i32.lt_s + i32.gt_s select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 11 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 + local.set $3 + i32.const 12 + i32.const 13 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $7 call $~lib/rt/pure/__retain - drop + local.set $7 + local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 + i32.load + local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 3 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 386 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 388 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -20410,19 +24094,32 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 i64) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Uint64Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Uint64Array#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -20442,15 +24139,35 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -20474,16 +24191,28 @@ local.get $2 local.get $5 call $~lib/typedarray/Uint64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 i64.extend_i32_s i64.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -20504,57 +24233,81 @@ call $~lib/typedarray/Uint64Array#subarray local.tee $6 call $~lib/typedarray/Uint64Array#reverse - local.set $7 - local.get $7 + local.set $8 + local.get $8 i32.const 0 call $~lib/typedarray/Uint64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i64.const 8 i64.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 1 call $~lib/typedarray/Uint64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i64.const 7 i64.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 2 call $~lib/typedarray/Uint64Array#__get - i64.const 6 - i64.eq - i32.eqz + local.set $7 + global.get $~lib/error if - i32.const 1600 + return + end + local.get $7 + i64.const 6 + i64.eq + i32.eqz + if + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 3 call $~lib/typedarray/Uint64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 i64.const 5 i64.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -20573,10 +24326,10 @@ call $~lib/rt/pure/__release local.get $4 call $~lib/rt/pure/__release - local.get $7 + local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#reverse (; 387 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#reverse (; 389 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -20640,7 +24393,7 @@ end local.get $1 ) - (func $~lib/typedarray/Float32Array#subarray (; 388 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#subarray (; 390 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20648,120 +24401,129 @@ (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - call $~lib/rt/pure/__retain - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - call $~lib/typedarray/Float32Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $0 + call $~lib/rt/pure/__retain + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Float32Array#get:length + local.set $6 local.get $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 $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - local.get $8 i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 + if (result i32) + local.get $6 + local.get $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 $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $4 local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $3 local.get $3 local.tee $7 - local.get $6 + local.get $4 local.tee $8 local.get $7 local.get $8 - i32.lt_s + i32.gt_s select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - i32.const 12 - i32.const 12 - call $~lib/rt/tlsf/__alloc - call $~lib/rt/pure/__retain - local.set $7 - local.get $7 - local.tee $8 - local.get $5 - i32.load - local.tee $9 - local.get $8 - i32.load - local.tee $8 - i32.ne - if - local.get $9 + local.set $3 + i32.const 12 + i32.const 14 + call $~lib/rt/tlsf/__alloc + local.set $7 + global.get $~lib/error + if + i32.const 0 + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $7 call $~lib/rt/pure/__retain - drop + local.set $7 + local.get $7 + local.tee $8 + local.get $5 + i32.load + local.tee $9 local.get $8 + i32.load + local.tee $8 + i32.ne + if + local.get $9 + call $~lib/rt/pure/__retain + drop + local.get $8 + call $~lib/rt/pure/__release + end + local.get $9 + i32.store + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + local.get $5 call $~lib/rt/pure/__release + local.get $9 end - local.get $9 - i32.store - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 2 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - local.get $5 - call $~lib/rt/pure/__release - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 389 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 391 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -20769,19 +24531,32 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 f32) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Float32Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Float32Array#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -20801,15 +24576,35 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 f32.convert_i32_s call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 f32.convert_i32_s call $~lib/typedarray/Float32Array#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -20833,16 +24628,28 @@ local.get $2 local.get $5 call $~lib/typedarray/Float32Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 f32.convert_i32_s f32.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -20863,57 +24670,81 @@ call $~lib/typedarray/Float32Array#subarray local.tee $6 call $~lib/typedarray/Float32Array#reverse - local.set $7 - local.get $7 + local.set $8 + local.get $8 i32.const 0 call $~lib/typedarray/Float32Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 f32.const 8 f32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 1 call $~lib/typedarray/Float32Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 f32.const 7 f32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 2 call $~lib/typedarray/Float32Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 f32.const 6 f32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 3 call $~lib/typedarray/Float32Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 f32.const 5 f32.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -20932,10 +24763,10 @@ call $~lib/rt/pure/__release local.get $4 call $~lib/rt/pure/__release - local.get $7 + local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#reverse (; 390 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#reverse (; 392 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -20999,7 +24830,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (; 391 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (; 393 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -21007,19 +24838,32 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 f64) + (local $8 i32) global.get $std/typedarray/testArrayReverseValues call $~lib/rt/pure/__retain local.set $0 i32.const 0 i32.const 9 call $~lib/typedarray/Float64Array#constructor + local.set $1 + global.get $~lib/error + if + return + end + local.get $1 local.tee $1 call $~lib/rt/pure/__retain local.set $2 i32.const 0 i32.const 9 call $~lib/typedarray/Float64Array#constructor + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 local.tee $3 call $~lib/rt/pure/__retain local.set $4 @@ -21039,15 +24883,35 @@ local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 f64.convert_i32_s call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $4 local.get $5 local.get $0 local.get $5 call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 f64.convert_i32_s call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + return + end local.get $5 i32.const 1 i32.add @@ -21071,16 +24935,28 @@ local.get $2 local.get $5 call $~lib/typedarray/Float64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 local.get $0 i32.const 8 local.get $5 i32.sub call $~lib/array/Array#__get + local.set $6 + global.get $~lib/error + if + return + end + local.get $6 f64.convert_i32_s f64.eq i32.eqz if - i32.const 1512 + i32.const 1400 i32.const 24 i32.const 471 i32.const 4 @@ -21101,57 +24977,81 @@ call $~lib/typedarray/Float64Array#subarray local.tee $6 call $~lib/typedarray/Float64Array#reverse - local.set $7 - local.get $7 + local.set $8 + local.get $8 i32.const 0 call $~lib/typedarray/Float64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 f64.const 8 f64.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 476 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 1 call $~lib/typedarray/Float64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 f64.const 7 f64.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 477 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 2 call $~lib/typedarray/Float64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 f64.const 6 f64.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 478 i32.const 2 call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 3 call $~lib/typedarray/Float64Array#__get + local.set $7 + global.get $~lib/error + if + return + end + local.get $7 f64.const 5 f64.eq i32.eqz if - i32.const 1600 + i32.const 1488 i32.const 24 i32.const 479 i32.const 2 @@ -21170,13 +25070,13 @@ call $~lib/rt/pure/__release local.get $4 call $~lib/rt/pure/__release - local.get $7 + local.get $8 call $~lib/rt/pure/__release ) - (func $start:std/typedarray (; 392 ;) (type $FUNCSIG$v) + (func $start:std/typedarray (; 394 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) - (local $2 i32) + (local $2 f64) (local $3 i32) (local $4 i32) (local $5 i32) @@ -21184,1310 +25084,2142 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 + (local $10 i32) + block $uncaughtError + global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32.const 1 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 1 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 2 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 3 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT i32.const 2 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 3 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 4 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 6 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 7 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 8 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 9 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 + call $std/typedarray/testInstantiate + global.get $~lib/error + if + br $uncaughtError + end i32.const 5 + call $std/typedarray/testInstantiate + global.get $~lib/error + if + br $uncaughtError + end i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT - i32.const 4 - i32.eq - i32.eqz - if + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.set $0 + local.get $0 i32.const 0 - i32.const 24 - i32.const 6 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 95 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT - i32.const 4 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 96 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 97 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.const 24 - i32.const 7 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 98 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 99 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 100 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#subarray + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + local.set $0 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 103 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 105 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT - i32.const 8 - i32.eq - i32.eqz - if + call $~lib/typedarray/Int32Array#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 106 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release i32.const 0 - i32.const 24 i32.const 8 + call $~lib/typedarray/Float64Array#constructor + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.set $0 + local.get $0 i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 9 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 10 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 11 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $std/typedarray/testInstantiate - i32.const 5 - call $std/typedarray/testInstantiate - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $0 - call $~lib/typedarray/Int32Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 95 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 96 + f64.const 7 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 3 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 5 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 6 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 7 + f64.const 8 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 97 + i32.const 6 + call $~lib/typedarray/Float64Array#subarray + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + local.set $0 + local.get $0 + call $~lib/typedarray/Float64Array#get:length + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 122 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.eq - i32.eqz - if + i32.const 8 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 123 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 4 + i32.const 8 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 124 + i32.const 2 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 24 - i32.const 98 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.eq - i32.eqz - if + global.set $~lib/argc + local.get $0 + i32.const 0 + call $~lib/typedarray/Float64Array#sort|trampoline + call $~lib/rt/pure/__release + local.get $0 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + f64.const 4 + f64.eq + if (result i32) + local.get $0 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + f64.const 5 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + f64.const 6 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#__get + local.set $2 + global.get $~lib/error + if + br $uncaughtError + end + local.get $2 + f64.const 7 + f64.eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 126 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release i32.const 0 - i32.const 24 - i32.const 99 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.eq - i32.eqz - if + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.set $0 + local.get $0 i32.const 0 - i32.const 24 - i32.const 100 + i32.const -32 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#subarray - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - local.set $0 - local.get $0 - call $~lib/typedarray/Int32Array#get:length - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 103 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 1 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if + i32.const 256 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 i32.const 0 - i32.const 24 - i32.const 104 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 1 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if + call $~lib/typedarray/Uint8ClampedArray#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 255 + i32.and i32.const 0 - i32.const 24 - i32.const 105 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 135 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 255 + i32.and i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 106 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 136 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - i32.const 0 - i32.const 8 - call $~lib/typedarray/Float64Array#constructor - local.set $0 - local.get $0 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 2 - f64.const 7 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 3 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 5 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 6 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 7 - f64.const 8 - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Float64Array#subarray - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - local.set $0 - local.get $0 - call $~lib/typedarray/Float64Array#get:length - i32.const 4 - i32.eq - i32.eqz - if + call $~lib/typedarray/Uint8ClampedArray#__get + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 255 + i32.and + i32.const 255 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 137 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release i32.const 0 - i32.const 24 - i32.const 122 + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + local.set $0 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 2 - i32.const 8 - i32.mul - i32.eq - i32.eqz - if + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + local.get $0 + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 424 + call $~lib/rt/__allocArray + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 + call $~lib/rt/pure/__retain + local.tee $3 + call $std/typedarray/isInt8ArrayEqual + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 i32.const 0 - i32.const 24 - i32.const 123 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 4 - i32.const 8 - i32.mul - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 149 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.const 24 - i32.const 124 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $~lib/argc - local.get $0 - i32.const 0 - call $~lib/typedarray/Float64Array#sort|trampoline - call $~lib/rt/pure/__release - local.get $0 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.eq - if (result i32) + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + local.get $0 + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 448 + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + call $~lib/rt/pure/__retain + local.tee $4 + call $std/typedarray/isInt8ArrayEqual + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 152 + i32.const 2 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - else i32.const 0 - end - if (result i32) + i32.const -3 + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + local.get $0 + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 472 + call $~lib/rt/__allocArray + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + call $~lib/rt/pure/__retain + local.tee $5 + call $std/typedarray/isInt8ArrayEqual + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 155 + i32.const 2 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.eq - else + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + local.get $0 + i32.const 5 i32.const 0 - end - if (result i32) + i32.const 16 + i32.const 496 + call $~lib/rt/__allocArray + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + call $~lib/rt/pure/__retain + local.tee $6 + call $std/typedarray/isInt8ArrayEqual + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 158 + i32.const 2 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.eq - else i32.const 0 - end - i32.eqz - if + i32.const 1 i32.const 0 - i32.const 24 - i32.const 126 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 0 - i32.eq - i32.eqz - if + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + local.get $0 + i32.const 5 i32.const 0 - i32.const 24 - i32.const 135 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.eq - i32.eqz - if + i32.const 16 + i32.const 520 + call $~lib/rt/__allocArray + local.set $7 + global.get $~lib/error + if + br $uncaughtError + end + local.get $7 + call $~lib/rt/pure/__retain + local.tee $7 + call $std/typedarray/isInt8ArrayEqual + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 i32.const 0 - i32.const 24 - i32.const 136 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 255 - i32.eq - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 161 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.set $1 + local.get $1 + i32.const 0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int8Array#fill + call $~lib/rt/pure/__release + local.get $1 + call $~lib/typedarray/Int8Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 165 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 166 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 167 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + i32.const 0 + i32.const 16 + i32.const 544 + call $~lib/rt/__allocArray + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 + call $~lib/rt/pure/__retain + local.tee $9 + call $std/typedarray/isInt8ArrayEqual + local.set $8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 i32.const 0 - i32.const 24 - i32.const 137 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - local.set $0 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 488 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 168 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 5 i32.const 0 - i32.const 24 - i32.const 149 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 560 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.const 16 + i32.const 568 + call $~lib/rt/__allocArray + local.set $10 + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + call $~lib/rt/pure/__retain + local.tee $10 + call $std/typedarray/isInt8ArrayEqual + local.set $8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 i32.const 0 - i32.const 24 - i32.const 152 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 584 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 169 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $10 + call $~lib/rt/pure/__release i32.const 0 - i32.const 24 - i32.const 155 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 608 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.set $10 + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + local.set $10 + local.get $10 i32.const 0 - i32.const 24 - i32.const 158 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 632 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 161 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.set $1 - local.get $1 - i32.const 0 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int8Array#fill - call $~lib/rt/pure/__release - local.get $1 - call $~lib/typedarray/Int8Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 165 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $10 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + local.get $10 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 1 - i32.eq - i32.eqz - if + i32.const 17 + i32.const 592 + call $~lib/rt/__allocArray + local.set $1 + global.get $~lib/error + if + br $uncaughtError + end + local.get $1 + call $~lib/rt/pure/__retain + local.tee $1 + call $std/typedarray/isInt32ArrayEqual + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 181 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $10 i32.const 0 - i32.const 24 - i32.const 166 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.eq - i32.eqz - if i32.const 0 - i32.const 24 - i32.const 167 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + local.get $10 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 3 - i32.const 0 - i32.const 14 - i32.const 656 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $8 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.const 17 + i32.const 632 + call $~lib/rt/__allocArray + local.set $7 + global.get $~lib/error + if + br $uncaughtError + end + local.get $7 + call $~lib/rt/pure/__retain + local.tee $7 + call $std/typedarray/isInt32ArrayEqual + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 i32.const 0 - i32.const 24 - i32.const 168 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 5 - i32.const 0 - i32.const 14 - i32.const 680 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $9 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 184 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $10 + i32.const 1 i32.const 0 - i32.const 24 - i32.const 169 + i32.const -3 + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + local.get $10 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $9 - call $~lib/rt/pure/__release - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.set $9 - local.get $9 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $9 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $9 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - local.get $9 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $9 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 704 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $1 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const 17 + i32.const 672 + call $~lib/rt/__allocArray + local.set $6 + global.get $~lib/error + if + br $uncaughtError + end + local.get $6 + call $~lib/rt/pure/__retain + local.tee $6 + call $std/typedarray/isInt32ArrayEqual + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 i32.const 0 - i32.const 24 - i32.const 181 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 187 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $10 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $9 - i32.const 0 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $9 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 744 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $6 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 184 + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + local.get $10 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $9 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $9 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 784 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $5 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const 17 + i32.const 712 + call $~lib/rt/__allocArray + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 + call $~lib/rt/pure/__retain + local.tee $5 + call $std/typedarray/isInt32ArrayEqual + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 i32.const 0 - i32.const 24 - i32.const 187 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $9 - i32.const 2 - i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $9 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 824 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $4 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 190 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $10 i32.const 0 - i32.const 24 - i32.const 190 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $9 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $9 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 864 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $3 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const 1 i32.const 0 - i32.const 24 - i32.const 193 + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + local.get $10 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $9 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.set $8 - local.get $8 - i32.const 0 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#fill - call $~lib/rt/pure/__release - local.get $8 - call $~lib/typedarray/Int32Array#get:length - i32.const 3 - i32.eq - i32.eqz - if + i32.const 17 + i32.const 752 + call $~lib/rt/__allocArray + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 + call $~lib/rt/pure/__retain + local.tee $4 + call $std/typedarray/isInt32ArrayEqual + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 193 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $10 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.set $9 + local.get $9 i32.const 0 - i32.const 24 - i32.const 197 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 1 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if i32.const 0 - i32.const 24 - i32.const 198 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#fill + call $~lib/rt/pure/__release + local.get $9 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 197 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 198 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 199 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + i32.const 3 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if + i32.const 17 + i32.const 792 + call $~lib/rt/__allocArray + local.set $0 + global.get $~lib/error + if + br $uncaughtError + end + local.get $0 + call $~lib/rt/pure/__retain + local.tee $0 + call $std/typedarray/isInt32ArrayEqual + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 i32.const 0 - i32.const 24 - i32.const 199 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 200 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $10 + i32.const 5 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.const 3 - i32.const 2 - i32.const 15 - i32.const 904 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $0 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.const 17 + i32.const 824 + call $~lib/rt/__allocArray + local.set $8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + call $~lib/rt/pure/__retain + local.tee $8 + call $std/typedarray/isInt32ArrayEqual + local.set $3 + global.get $~lib/error + if + br $uncaughtError + end + local.get $3 i32.const 0 - i32.const 24 - i32.const 200 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $9 - i32.const 5 - i32.const 2 - i32.const 15 - i32.const 936 - call $~lib/rt/__allocArray - call $~lib/rt/pure/__retain - local.tee $7 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + i32.ne + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 201 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $10 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $7 + call $~lib/rt/pure/__release + local.get $6 + call $~lib/rt/pure/__release + local.get $5 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $8 + call $~lib/rt/pure/__release i32.const 0 - i32.const 24 - i32.const 201 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $9 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release - i32.const 0 - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.set $7 - 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.const 5 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 1 - i32.const 6 - call $~lib/typedarray/Int8Array#subarray - local.set $0 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.eq - i32.eqz - if + i32.const 6 + call $~lib/typedarray/Int8Array#constructor + local.set $8 + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + local.set $8 + local.get $8 i32.const 0 - i32.const 24 - i32.const 222 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + i32.const 1 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/typedarray/Int8Array#get:length - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 223 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 1 - i32.eq - i32.eqz - if + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + i32.const 5 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/error + if + br $uncaughtError + end + local.get $8 + i32.const 1 + i32.const 6 + call $~lib/typedarray/Int8Array#subarray + local.set $0 + local.get $0 i32.const 0 + call $~lib/typedarray/Int8Array#__get + local.set $9 + global.get $~lib/error + if + br $uncaughtError + end + local.get $9 i32.const 24 - i32.const 224 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 + i32.shl i32.const 24 - i32.const 225 + i32.shr_s i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.const 5 - call $~lib/typedarray/Int8Array#subarray - local.set $8 - local.get $8 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 222 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/typedarray/Int8Array#get:length + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 223 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 224 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 225 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.const 5 + call $~lib/typedarray/Int8Array#subarray + local.set $9 + local.get $9 i32.const 0 + call $~lib/typedarray/Int8Array#__get + local.set $4 + global.get $~lib/error + if + br $uncaughtError + end + local.get $4 i32.const 24 - i32.const 228 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $8 - call $~lib/typedarray/Int8Array#get:length - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 + i32.shl i32.const 24 - i32.const 229 + i32.shr_s + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 228 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $~lib/typedarray/Int8Array#get:length + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 229 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 2 - i32.eq - i32.eqz - if + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 230 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 231 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $9 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.set $4 + local.get $4 i32.const 0 + call $~lib/typedarray/Int8Array#__get + local.set $5 + global.get $~lib/error + if + br $uncaughtError + end + local.get $5 i32.const 24 - i32.const 230 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 + i32.shl i32.const 24 - i32.const 231 - i32.const 2 - call $~lib/builtins/abort - unreachable + i32.shr_s + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 234 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Int8Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 235 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 236 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 237 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $8 + call $~lib/rt/pure/__release + local.get $0 + call $~lib/rt/pure/__release + local.get $9 + call $~lib/rt/pure/__release + local.get $4 + call $~lib/rt/pure/__release + call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> + global.get $~lib/error + if + br $uncaughtError + end + call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/typedarray/forEachValues + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + global.get $std/typedarray/testArrayReverseValues + call $~lib/rt/pure/__release + global.get $~lib/error + if + br $uncaughtError + end + return end - local.get $8 + i32.const 1592 + i32.const 24 i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.set $3 - local.get $3 i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 234 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - call $~lib/typedarray/Int8Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 235 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 236 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $3 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 237 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $7 - call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release - local.get $8 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> - 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> - global.get $std/typedarray/forEachValues - call $~lib/rt/pure/__release - global.get $std/typedarray/testArrayReverseValues - call $~lib/rt/pure/__release + call $~lib/builtins/abort + unreachable ) - (func $start (; 393 ;) (type $FUNCSIG$v) + (func $start (; 395 ;) (type $FUNCSIG$v) global.get $~lib/started if return @@ -22497,13 +27229,13 @@ end call $start:std/typedarray ) - (func $~lib/array/Array#__visit_impl (; 394 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 396 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 395 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 397 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/pure/markGray (; 396 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/markGray (; 398 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -22530,7 +27262,7 @@ call $~lib/rt/__visit_members end ) - (func $~lib/rt/pure/scanBlack (; 397 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scanBlack (; 399 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.load offset=4 @@ -22547,7 +27279,7 @@ i32.const 4 call $~lib/rt/__visit_members ) - (func $~lib/rt/pure/scan (; 398 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/scan (; 400 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -22584,7 +27316,7 @@ end end ) - (func $~lib/rt/pure/collectWhite (; 399 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/rt/pure/collectWhite (; 401 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load offset=4 @@ -22622,7 +27354,7 @@ call $~lib/rt/tlsf/freeBlock end ) - (func $~lib/rt/pure/__visit (; 400 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 402 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -22668,6 +27400,10 @@ end local.get $2 call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end br $break|0 end local.get $2 @@ -22679,7 +27415,7 @@ i32.eqz if i32.const 0 - i32.const 288 + i32.const 80 i32.const 75 i32.const 17 call $~lib/builtins/abort @@ -22718,7 +27454,7 @@ i32.eqz if i32.const 0 - i32.const 288 + i32.const 80 i32.const 86 i32.const 6 call $~lib/builtins/abort @@ -22748,7 +27484,7 @@ i32.eqz if i32.const 0 - i32.const 288 + i32.const 80 i32.const 97 i32.const 24 call $~lib/builtins/abort @@ -22756,23 +27492,50 @@ end end ) - (func $~lib/rt/__visit_members (; 401 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 403 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$17 - block $switch$1$case$16 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$16 $switch$1$case$17 $switch$1$default + block $switch$1$case$19 + block $switch$1$case$18 + block $switch$1$case$6 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$4 $switch$1$case$6 $switch$1$case$6 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$18 $switch$1$case$19 $switch$1$default + end + return end - return + br $block$4$break + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit end - br $block$4$break + return end local.get $0 local.get $1 @@ -22796,6 +27559,6 @@ end return ) - (func $null (; 402 ;) (type $FUNCSIG$v) + (func $null (; 404 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/switch.untouched.wat b/tests/compiler/switch.untouched.wat index f3e60871c8..9dff3873fc 100644 --- a/tests/compiler/switch.untouched.wat +++ b/tests/compiler/switch.untouched.wat @@ -7,6 +7,7 @@ (data (i32.const 8) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) (func $switch/doSwitch (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) diff --git a/tests/compiler/ternary.untouched.wat b/tests/compiler/ternary.untouched.wat index e281029495..f00906bce2 100644 --- a/tests/compiler/ternary.untouched.wat +++ b/tests/compiler/ternary.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $ternary/a (mut i32) (i32.const 0)) (export "memory" (memory $0)) (start $start) diff --git a/tests/compiler/threads.untouched.wat b/tests/compiler/threads.untouched.wat index 3b6ad104e8..47a7868532 100644 --- a/tests/compiler/threads.untouched.wat +++ b/tests/compiler/threads.untouched.wat @@ -3,6 +3,7 @@ (memory $0 (shared 1 1)) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/ASC_FEATURE_THREADS i32 (i32.const 0)) (export "memory" (memory $0)) (start $start) diff --git a/tests/compiler/throw.json b/tests/compiler/throw.json new file mode 100644 index 0000000000..161674ef65 --- /dev/null +++ b/tests/compiler/throw.json @@ -0,0 +1,7 @@ +{ + "asc_flags": [ + "--runtime half", + "--use ASC_RTRACE=1", + "--explicitStart" + ] +} \ No newline at end of file diff --git a/tests/compiler/throw.optimized.wat b/tests/compiler/throw.optimized.wat new file mode 100644 index 0000000000..82a71cc0da --- /dev/null +++ b/tests/compiler/throw.optimized.wat @@ -0,0 +1,1971 @@ +(module + (type $FUNCSIG$v (func)) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) + (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) + (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (memory $0 1) + (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 104) "(\00\00\00\01\00\00\00\01\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 160) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r") + (data (i32.const 196) "\01\00\00\00\01") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\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 264) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00e\00s\00t") + (data (i32.const 288) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00t\00h\00r\00o\00w\00.\00t\00s") + (data (i32.const 320) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10") + (global $~lib/error (mut i32) (i32.const 0)) + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) + (global $~lib/rt/pure/END (mut i32) (i32.const 0)) + (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) + (global $~lib/started (mut i32) (i32.const 0)) + (export "__start" (func $start)) + (export "memory" (memory $0)) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 356 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.tee $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 276 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.tee $2 + i32.const 16 + i32.ge_u + if (result i32) + local.get $2 + i32.const 1073741808 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 278 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 256 + i32.lt_u + if (result i32) + local.get $2 + i32.const 4 + i32.shr_u + local.set $2 + i32.const 0 + else + local.get $2 + i32.const 31 + local.get $2 + i32.clz + i32.sub + local.tee $3 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $2 + local.get $3 + i32.const 7 + i32.sub + end + local.tee $3 + i32.const 23 + i32.lt_u + if (result i32) + local.get $2 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 291 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=20 + local.set $4 + local.get $1 + i32.load offset=16 + local.tee $5 + if + local.get $5 + local.get $4 + i32.store offset=20 + end + local.get $4 + if + local.get $4 + local.get $5 + i32.store offset=16 + end + local.get $3 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + local.get $1 + i32.eq + if + local.get $3 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $4 + i32.store offset=96 + local.get $4 + i32.eqz + if + local.get $3 + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $3 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + i32.const 1 + local.get $2 + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.store offset=4 + local.get $1 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $3 + i32.shl + i32.const -1 + i32.xor + i32.and + i32.store + end + end + end + ) + (func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (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.get $1 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 204 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load + local.tee $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 206 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $4 + i32.load + local.tee $5 + i32.const 1 + i32.and + if + local.get $3 + i32.const -4 + i32.and + i32.const 16 + i32.add + local.get $5 + i32.const -4 + i32.and + i32.add + local.tee $2 + i32.const 1073741808 + i32.lt_u + if + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $1 + local.get $3 + i32.const 3 + i32.and + local.get $2 + i32.or + local.tee $3 + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $4 + i32.load + local.set $5 + end + end + local.get $3 + i32.const 2 + i32.and + if + local.get $1 + i32.const 4 + i32.sub + i32.load + local.tee $2 + i32.load + local.tee $6 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 227 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const -4 + i32.and + i32.const 16 + i32.add + local.get $3 + i32.const -4 + i32.and + i32.add + local.tee $7 + i32.const 1073741808 + i32.lt_u + if (result i32) + local.get $0 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $2 + local.get $6 + i32.const 3 + i32.and + local.get $7 + i32.or + local.tee $3 + i32.store + local.get $2 + else + local.get $1 + end + local.set $1 + end + local.get $4 + local.get $5 + i32.const 2 + i32.or + i32.store + local.get $3 + i32.const -4 + i32.and + local.tee $2 + i32.const 16 + i32.ge_u + if (result i32) + local.get $2 + i32.const 1073741808 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 242 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 243 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 4 + i32.sub + local.get $1 + i32.store + local.get $2 + i32.const 256 + i32.lt_u + if (result i32) + local.get $2 + i32.const 4 + i32.shr_u + local.set $4 + i32.const 0 + else + local.get $2 + i32.const 31 + local.get $2 + i32.clz + i32.sub + local.tee $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $4 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $3 + i32.const 23 + i32.lt_u + if (result i32) + local.get $4 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 259 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + local.set $2 + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + local.get $2 + i32.store offset=20 + local.get $2 + if + local.get $2 + local.get $1 + i32.store offset=16 + end + local.get $3 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $1 + i32.store offset=96 + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $3 + i32.shl + i32.or + i32.store + local.get $3 + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $3 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + i32.const 1 + local.get $4 + i32.shl + i32.or + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $2 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $1 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $1 + local.get $2 + i32.le_u + select + select + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 385 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=1568 + local.tee $3 + if + local.get $1 + local.get $3 + i32.const 16 + i32.add + i32.lt_u + if + i32.const 0 + i32.const 72 + i32.const 395 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.sub + local.get $3 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $1 + i32.const 16 + i32.sub + local.set $1 + end + else + local.get $1 + local.get $0 + i32.const 1572 + i32.add + i32.lt_u + if + i32.const 0 + i32.const 72 + i32.const 407 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + local.get $1 + i32.sub + local.tee $2 + i32.const 48 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $2 + i32.const 32 + i32.sub + i32.const 1 + i32.or + i32.or + i32.store + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.store offset=20 + local.get $1 + local.get $2 + i32.add + i32.const 16 + i32.sub + local.tee $2 + i32.const 2 + i32.store + local.get $0 + local.get $2 + i32.store offset=1568 + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/initializeRoot (; 10 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + i32.const 1 + memory.size + local.tee $0 + i32.gt_s + if (result i32) + i32.const 1 + local.get $0 + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + i32.const 368 + i32.const 0 + i32.store + i32.const 1936 + i32.const 0 + i32.store + i32.const 0 + local.set $0 + loop $loop|0 + block $break|0 + local.get $0 + i32.const 23 + i32.ge_u + br_if $break|0 + local.get $0 + i32.const 2 + i32.shl + i32.const 368 + i32.add + i32.const 0 + i32.store offset=4 + i32.const 0 + local.set $1 + loop $loop|1 + block $break|1 + local.get $1 + i32.const 16 + i32.ge_u + br_if $break|1 + local.get $0 + i32.const 4 + i32.shl + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.const 368 + i32.add + i32.const 0 + i32.store offset=96 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $loop|1 + end + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $loop|0 + end + end + i32.const 368 + i32.const 1952 + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + i32.const 368 + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const -16 + i32.and + local.tee $0 + i32.const 16 + local.get $0 + i32.const 16 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + local.set $1 + i32.const 0 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + local.get $1 + i32.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $1 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $1 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + i32.const -1 + local.get $1 + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $1 + i32.ctz + local.tee $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.ctz + local.get $1 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + else + i32.const 0 + end + end + ) + (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + memory.size + local.tee $2 + local.get $1 + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $1 + local.get $2 + local.get $1 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $1 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + local.get $0 + local.get $2 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + ) + (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + if + i32.const 0 + i32.const 72 + i32.const 364 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.get $2 + i32.sub + local.tee $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $3 + i32.const 2 + i32.and + local.get $2 + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + local.tee $1 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const -2 + i32.and + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + i32.load + i32.const -3 + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.load + i32.const -4 + i32.and + local.get $3 + i32.lt_u + if + i32.const 0 + i32.const 72 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $2 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $2 + call $~lib/rt/rtrace/onalloc + local.get $2 + ) + (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/rt/tlsf/ROOT + local.tee $2 + if (result i32) + local.get $2 + else + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + end + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $0 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + i32.const 16 + i32.add + ) + (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.tee $2 + i32.const 1 + i32.and + if + i32.const 0 + i32.const 72 + i32.const 531 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 320 + i32.load + i32.gt_u + if + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 324 + i32.add + i32.load + ) + (func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $2 + local.set $3 + local.get $0 + local.get $1 + i32.eq + br_if $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.get $1 + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $continue|0 + local.get $0 + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $4 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $4 + i32.load8_u + i32.store8 + br $continue|0 + end + end + loop $continue|1 + local.get $3 + i32.const 8 + i32.lt_u + i32.eqz + if + local.get $0 + local.get $1 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $continue|1 + end + end + end + loop $continue|2 + local.get $3 + if + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $4 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $4 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $continue|3 + local.get $0 + local.get $3 + i32.add + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + end + loop $continue|4 + local.get $3 + i32.const 8 + i32.lt_u + i32.eqz + if + local.get $0 + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + i32.add + local.get $1 + local.get $3 + i32.add + i64.load + i64.store + br $continue|4 + end + end + end + loop $continue|5 + local.get $3 + if + local.get $0 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + end + end + end + ) + (func $~lib/rt/tlsf/__free (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $0 + select + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/pure/growRoots (; 21 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/rt/pure/CUR + global.get $~lib/rt/pure/ROOTS + local.tee $1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + local.tee $0 + i32.const 256 + local.get $0 + i32.const 256 + i32.gt_u + select + local.tee $3 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $0 + global.get $~lib/error + if + return + end + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onfree + local.get $0 + local.get $1 + local.get $2 + call $~lib/memory/memory.copy + local.get $1 + if + local.get $1 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onalloc + local.get $1 + call $~lib/rt/tlsf/__free + end + local.get $0 + global.set $~lib/rt/pure/ROOTS + local.get $0 + local.get $2 + i32.add + global.set $~lib/rt/pure/CUR + local.get $0 + local.get $3 + i32.add + global.set $~lib/rt/pure/END + ) + (func $~lib/rt/pure/appendRoot (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + global.get $~lib/rt/pure/CUR + local.tee $1 + global.get $~lib/rt/pure/END + i32.ge_u + if + call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end + global.get $~lib/rt/pure/CUR + local.set $1 + end + local.get $1 + local.get $0 + i32.store + local.get $1 + i32.const 4 + i32.add + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 268435455 + i32.and + local.set $1 + local.get $0 + call $~lib/rt/rtrace/ondecrement + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 16 + i32.add + i32.const 1 + call $~lib/rt/__visit_members + local.get $2 + i32.const -2147483648 + i32.and + if + local.get $0 + i32.const -2147483648 + i32.store offset=4 + else + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + end + else + local.get $1 + i32.const 0 + i32.le_u + if + i32.const 0 + i32.const 24 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + call $~lib/rt/__typeinfo + global.get $~lib/error + if + return + end + i32.const 16 + i32.and + if + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $2 + i32.const -268435456 + i32.and + i32.or + i32.store offset=4 + else + local.get $0 + local.get $1 + i32.const 1 + i32.sub + i32.const -1342177280 + i32.or + i32.store offset=4 + local.get $2 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + end + end + end + ) + (func $~lib/rt/pure/__release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.const 356 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + end + ) + (func $~lib/error/Error#constructor (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.tee $1 + i32.const 176 + call $~lib/rt/pure/__retain + i32.store + local.get $1 + i32.const 208 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/string/String#get:length (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load offset=12 + i32.const 1 + i32.shr_u + ) + (func $~lib/util/string/compareImpl (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 280 + call $~lib/rt/pure/__retain + drop + local.get $0 + local.set $2 + i32.const 280 + local.set $3 + loop $continue|0 + local.get $1 + if (result i32) + local.get $2 + i32.load16_u + local.get $3 + i32.load16_u + i32.sub + local.tee $4 + i32.eqz + else + i32.const 0 + end + if + local.get $1 + i32.const 1 + i32.sub + local.set $1 + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $3 + i32.const 2 + i32.add + local.set $3 + br $continue|0 + end + end + local.get $0 + call $~lib/rt/pure/__release + i32.const 280 + call $~lib/rt/pure/__release + local.get $4 + ) + (func $~lib/string/String.__eq (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 280 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.const 280 + i32.eq + if + local.get $0 + call $~lib/rt/pure/__release + i32.const 280 + call $~lib/rt/pure/__release + i32.const 1 + return + end + block $folding-inner0 + i32.const 0 + i32.const 1 + local.get $0 + select + br_if $folding-inner0 + local.get $0 + call $~lib/string/String#get:length + local.tee $1 + i32.const 280 + call $~lib/string/String#get:length + i32.ne + br_if $folding-inner0 + local.get $0 + local.get $1 + call $~lib/util/string/compareImpl + i32.eqz + local.get $0 + call $~lib/rt/pure/__release + i32.const 280 + call $~lib/rt/pure/__release + return + end + local.get $0 + call $~lib/rt/pure/__release + i32.const 280 + call $~lib/rt/pure/__release + i32.const 0 + ) + (func $throw/testCatchImmediately (; 29 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + i32.const 0 + call $~lib/rt/pure/__retain + i32.const 280 + call $~lib/error/Error#constructor + global.set $~lib/error + call $~lib/rt/pure/__release + global.get $~lib/error + local.set $0 + i32.const 0 + global.set $~lib/error + local.get $0 + i32.load offset=8 + call $~lib/rt/pure/__retain + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 8 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/rt/pure/__release + ) + (func $start (; 30 ;) (type $FUNCSIG$v) + global.get $~lib/started + if + return + else + i32.const 1 + global.set $~lib/started + end + call $throw/testCatchImmediately + ) + (func $~lib/rt/pure/markGray (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const 1879048192 + i32.and + i32.const 268435456 + i32.ne + if + local.get $0 + local.get $1 + i32.const -1879048193 + i32.and + i32.const 268435456 + i32.or + i32.store offset=4 + local.get $0 + i32.const 16 + i32.add + i32.const 2 + call $~lib/rt/__visit_members + end + ) + (func $~lib/rt/pure/scanBlack (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + local.get $0 + i32.load offset=4 + i32.const -1879048193 + i32.and + i32.store offset=4 + local.get $0 + i32.const 16 + i32.add + i32.const 4 + call $~lib/rt/__visit_members + ) + (func $~lib/rt/pure/scan (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const 1879048192 + i32.and + i32.const 268435456 + i32.eq + if + local.get $1 + i32.const 268435455 + i32.and + i32.const 0 + i32.gt_u + if + local.get $0 + call $~lib/rt/pure/scanBlack + else + local.get $0 + local.get $1 + i32.const -1879048193 + i32.and + i32.const 536870912 + i32.or + i32.store offset=4 + local.get $0 + i32.const 16 + i32.add + i32.const 3 + call $~lib/rt/__visit_members + end + end + ) + (func $~lib/rt/pure/collectWhite (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const 1879048192 + i32.and + i32.const 536870912 + i32.eq + if (result i32) + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + else + i32.const 0 + end + if + local.get $0 + local.get $1 + i32.const -1879048193 + i32.and + i32.store offset=4 + local.get $0 + i32.const 16 + i32.add + i32.const 5 + call $~lib/rt/__visit_members + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + end + ) + (func $~lib/rt/pure/__visit (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + i32.const 356 + i32.lt_u + if + return + end + local.get $0 + i32.const 16 + i32.sub + local.set $0 + block $break|0 + block $case5|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + local.get $1 + i32.const 1 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + block $tablify|0 + local.get $1 + i32.const 3 + i32.sub + br_table $case2|0 $case3|0 $case4|0 $tablify|0 + end + br $case5|0 + end + local.get $0 + call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end + br $break|0 + end + local.get $0 + i32.load offset=4 + i32.const 268435455 + i32.and + i32.const 0 + i32.le_u + if + i32.const 0 + i32.const 24 + i32.const 75 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $0 + i32.load offset=4 + i32.const 1 + i32.sub + i32.store offset=4 + local.get $0 + call $~lib/rt/pure/markGray + br $break|0 + end + local.get $0 + call $~lib/rt/pure/scan + br $break|0 + end + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 86 + i32.const 6 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $1 + i32.const 1879048192 + i32.and + if + local.get $0 + call $~lib/rt/pure/scanBlack + end + br $break|0 + end + local.get $0 + call $~lib/rt/pure/collectWhite + br $break|0 + end + i32.const 0 + i32.const 24 + i32.const 97 + i32.const 24 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/__visit_members (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + block $switch$1$default + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + local.get $1 + call $~lib/rt/pure/__visit + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $0 + if + local.get $0 + local.get $1 + call $~lib/rt/pure/__visit + end + return + end + unreachable + ) + (func $null (; 37 ;) (type $FUNCSIG$v) + nop + ) +) diff --git a/tests/compiler/throw.ts b/tests/compiler/throw.ts new file mode 100644 index 0000000000..f7c04959f6 --- /dev/null +++ b/tests/compiler/throw.ts @@ -0,0 +1,77 @@ +function testCatchImmediately(): void { + var caught: string | null = null; + try { + throw new Error("test"); + } catch (e) { + caught = e.message; + } + assert(caught == "test"); +} + +testCatchImmediately(); +/* +function throws(): void { + throw new Error("test"); +} + +function throwsNonVoid(): i32 { + throw new Error("test"); +} + +function testCatchCall(): void { + var caught: string | null = null; + try { + throws(); + } catch (e) { + caught = e.message; + } + assert(caught == "test"); +} + +testCatchCall(); + +function testCatchCallNonVoid(): void { + var caught: string | null = null; + try { + throws(); + } catch (e) { + caught = e.message; + } + assert(caught == "test"); +} + +testCatchCallNonVoid(); + +function forwardCall(): void { + throws(); +} + +function forwardCallNonVoid(): i32 { + throwsNonVoid(); + return 0; +} + +function testCatchForward(): void { + var caught: string | null = null; + try { + forwardCall(); + } catch (e) { + caught = e.message; + } + assert(caught == "test"); +} + +testCatchForward(); + +function testCatchForwardNonVoid(): void { + var caught: string | null = null; + try { + forwardCallNonVoid(); + } catch (e) { + caught = e.message; + } + assert(caught == "test"); +} + +testCatchForwardNonVoid(); +*/ \ No newline at end of file diff --git a/tests/compiler/throw.untouched.wat b/tests/compiler/throw.untouched.wat new file mode 100644 index 0000000000..83157fa56c --- /dev/null +++ b/tests/compiler/throw.untouched.wat @@ -0,0 +1,3519 @@ +(module + (type $FUNCSIG$v (func)) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) + (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) + (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) + (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (memory $0 1) + (data (i32.const 8) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (data (i32.const 56) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 104) "(\00\00\00\01\00\00\00\01\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") + (data (i32.const 160) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00E\00r\00r\00o\00r\00") + (data (i32.const 192) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 264) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00e\00s\00t\00") + (data (i32.const 288) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00t\00h\00r\00o\00w\00.\00t\00s\00") + (data (i32.const 320) "\04\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00") + (table $0 1 funcref) + (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) + (global $~lib/rt/pure/END (mut i32) (i32.const 0)) + (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) + (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $~lib/started (mut i32) (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 320)) + (global $~lib/heap/__heap_base i32 (i32.const 356)) + (export "__start" (func $start)) + (export "memory" (memory $0)) + (func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 104 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 107 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (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) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 276 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $3 + local.get $3 + i32.const 16 + i32.ge_u + if (result i32) + local.get $3 + i32.const 1073741808 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 278 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $4 + local.get $3 + i32.const 4 + i32.shr_u + local.set $5 + else + i32.const 31 + local.get $3 + i32.clz + i32.sub + local.set $4 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $5 + local.get $4 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $4 + end + local.get $4 + i32.const 23 + i32.lt_u + if (result i32) + local.get $5 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 291 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=16 + local.set $6 + local.get $1 + i32.load offset=20 + local.set $7 + local.get $6 + if + local.get $6 + local.get $7 + i32.store offset=20 + end + local.get $7 + if + local.get $7 + local.get $6 + i32.store offset=16 + end + local.get $1 + local.get $0 + local.set $10 + local.get $4 + local.set $9 + local.get $5 + local.set $8 + local.get $10 + local.get $9 + i32.const 4 + i32.shl + local.get $8 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + i32.eq + if + local.get $0 + local.set $11 + local.get $4 + local.set $10 + local.get $5 + local.set $9 + local.get $7 + local.set $8 + local.get $11 + local.get $10 + i32.const 4 + i32.shl + local.get $9 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store offset=96 + local.get $7 + i32.eqz + if + local.get $0 + local.set $9 + local.get $4 + local.set $8 + local.get $9 + local.get $8 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $9 + local.get $0 + local.set $8 + local.get $4 + local.set $11 + local.get $9 + i32.const 1 + local.get $5 + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $9 + local.set $10 + local.get $8 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store offset=4 + local.get $9 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.const -1 + i32.xor + i32.and + i32.store + end + end + end + ) + (func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (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) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + local.get $1 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 204 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 206 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.set $3 + local.get $3 + i32.const 16 + i32.add + local.get $3 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $4 + local.get $4 + i32.load + local.set $5 + local.get $5 + i32.const 1 + i32.and + if + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.add + local.get $5 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $3 + local.get $3 + i32.const 1073741808 + i32.lt_u + if + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $1 + local.get $2 + i32.const 3 + i32.and + local.get $3 + i32.or + local.tee $2 + i32.store + local.get $1 + local.set $6 + local.get $6 + i32.const 16 + i32.add + local.get $6 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $4 + local.get $4 + i32.load + local.set $5 + end + end + local.get $2 + i32.const 2 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + i32.const 4 + i32.sub + i32.load + local.set $6 + local.get $6 + i32.load + local.set $3 + local.get $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 227 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.add + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $7 + local.get $7 + i32.const 1073741808 + i32.lt_u + if + local.get $0 + local.get $6 + call $~lib/rt/tlsf/removeBlock + local.get $6 + local.get $3 + i32.const 3 + i32.and + local.get $7 + i32.or + local.tee $2 + i32.store + local.get $6 + local.set $1 + end + end + local.get $4 + local.get $5 + i32.const 2 + i32.or + i32.store + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $8 + local.get $8 + i32.const 16 + i32.ge_u + if (result i32) + local.get $8 + i32.const 1073741808 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 242 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.add + local.get $8 + i32.add + local.get $4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 243 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 4 + i32.sub + local.get $1 + i32.store + local.get $8 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $9 + local.get $8 + i32.const 4 + i32.shr_u + local.set $10 + else + i32.const 31 + local.get $8 + i32.clz + i32.sub + local.set $9 + local.get $8 + local.get $9 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $10 + local.get $9 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $9 + end + local.get $9 + i32.const 23 + i32.lt_u + if (result i32) + local.get $10 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 259 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $7 + local.get $9 + local.set $3 + local.get $10 + local.set $6 + local.get $7 + local.get $3 + i32.const 4 + i32.shl + local.get $6 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $11 + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + local.get $11 + i32.store offset=20 + local.get $11 + if + local.get $11 + local.get $1 + i32.store offset=16 + end + local.get $0 + local.set $12 + local.get $9 + local.set $7 + local.get $10 + local.set $3 + local.get $1 + local.set $6 + local.get $12 + local.get $7 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store offset=96 + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $9 + i32.shl + i32.or + i32.store + local.get $0 + local.set $13 + local.get $9 + local.set $12 + local.get $0 + local.set $3 + local.get $9 + local.set $6 + local.get $3 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 1 + local.get $10 + i32.shl + i32.or + local.set $7 + local.get $13 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (; 9 ;) (type $FUNCSIG$iiii) (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) + (local $8 i32) + (local $9 i32) + local.get $1 + local.get $2 + i32.le_u + if (result i32) + local.get $1 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $2 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 385 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $3 + local.get $3 + i32.load offset=1568 + local.set $4 + i32.const 0 + local.set $5 + local.get $4 + if + local.get $1 + local.get $4 + i32.const 16 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 395 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.sub + local.get $4 + i32.eq + if + local.get $1 + i32.const 16 + i32.sub + local.set $1 + local.get $4 + i32.load + local.set $5 + else + nop + end + else + local.get $1 + local.get $0 + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 407 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + local.get $1 + i32.sub + local.set $6 + local.get $6 + i32.const 48 + i32.lt_u + if + i32.const 0 + return + end + local.get $6 + i32.const 2 + i32.const 16 + i32.mul + i32.sub + local.set $7 + local.get $1 + local.set $8 + local.get $8 + local.get $7 + i32.const 1 + i32.or + local.get $5 + i32.const 2 + i32.and + i32.or + i32.store + local.get $8 + i32.const 0 + i32.store offset=16 + local.get $8 + i32.const 0 + i32.store offset=20 + local.get $1 + local.get $6 + i32.add + i32.const 16 + i32.sub + local.set $4 + local.get $4 + i32.const 0 + i32.const 2 + i32.or + i32.store + local.get $0 + local.set $9 + local.get $4 + local.set $3 + local.get $9 + local.get $3 + i32.store offset=1568 + local.get $0 + local.get $8 + call $~lib/rt/tlsf/insertBlock + i32.const 1 + ) + (func $~lib/rt/tlsf/initializeRoot (; 10 ;) (type $FUNCSIG$v) + (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) + (local $9 i32) + global.get $~lib/heap/__heap_base + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $0 + memory.size + local.set $1 + local.get $0 + i32.const 1572 + i32.add + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $2 + local.get $2 + local.get $1 + i32.gt_s + if (result i32) + local.get $2 + local.get $1 + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $0 + local.set $3 + local.get $3 + i32.const 0 + i32.store + local.get $3 + local.set $5 + i32.const 0 + local.set $4 + local.get $5 + local.get $4 + i32.store offset=1568 + block $break|0 + i32.const 0 + local.set $5 + loop $loop|0 + local.get $5 + i32.const 23 + i32.lt_u + i32.eqz + br_if $break|0 + local.get $3 + local.set $7 + local.get $5 + local.set $6 + i32.const 0 + local.set $4 + local.get $7 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $4 + i32.store offset=4 + block $break|1 + i32.const 0 + local.set $7 + loop $loop|1 + local.get $7 + i32.const 16 + i32.lt_u + i32.eqz + br_if $break|1 + local.get $3 + local.set $9 + local.get $5 + local.set $8 + local.get $7 + local.set $6 + i32.const 0 + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $6 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $4 + i32.store offset=96 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $loop|1 + end + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $loop|0 + end + unreachable + end + local.get $3 + local.get $0 + i32.const 1572 + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $3 + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/prepareSize (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 0 + i32.const 120 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $0 + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.const 16 + local.tee $2 + local.get $1 + local.get $2 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 12 ;) (type $FUNCSIG$iii) (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 $8 i32) + (local $9 i32) + local.get $1 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $2 + local.get $1 + i32.const 4 + i32.shr_u + local.set $3 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $1 + end + local.set $4 + i32.const 31 + local.get $4 + i32.clz + i32.sub + local.set $2 + local.get $4 + local.get $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $3 + local.get $2 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $2 + end + local.get $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $3 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 337 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $5 + local.get $2 + local.set $4 + local.get $5 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 0 + i32.const -1 + i32.xor + local.get $3 + i32.shl + i32.and + local.set $6 + i32.const 0 + local.set $7 + local.get $6 + i32.eqz + if + local.get $0 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.set $5 + local.get $5 + i32.eqz + if + i32.const 0 + local.set $7 + else + local.get $5 + i32.ctz + local.set $2 + local.get $0 + local.set $8 + local.get $2 + local.set $4 + local.get $8 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $6 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 350 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + else + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + local.get $7 + ) + (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + memory.size + local.set $2 + local.get $1 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $6 + local.get $6 + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $7 + local.get $0 + local.get $2 + i32.const 16 + i32.shl + local.get $7 + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 364 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.sub + local.set $4 + local.get $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $2 + local.get $3 + i32.const 2 + i32.and + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + local.set $5 + local.get $5 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $5 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const 1 + i32.const -1 + i32.xor + i32.and + i32.store + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + i32.load + i32.const 2 + i32.const -1 + i32.xor + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $2 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $2 + local.set $3 + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 477 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $4 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $3 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 479 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 0 + i32.store offset=4 + local.get $4 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $4 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $4 + call $~lib/rt/rtrace/onalloc + local.get $4 + ) + (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/tlsf/ROOT + local.set $2 + local.get $2 + i32.eqz + if + call $~lib/rt/tlsf/initializeRoot + global.get $~lib/rt/tlsf/ROOT + local.set $2 + end + local.get $2 + local.get $0 + call $~lib/rt/tlsf/allocateBlock + local.set $3 + global.get $~lib/error + if + i32.const 0 + return + end + local.get $3 + local.set $4 + local.get $4 + local.get $1 + i32.store offset=8 + local.get $4 + i32.const 16 + i32.add + ) + (func $~lib/rt/tlsf/freeBlock (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 531 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/__typeinfo (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u + if + i32.const 0 + i32.const 224 + call $~lib/error/Error#constructor + global.set $~lib/error + i32.const 0 + return + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/util/memory/memcpy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $break|0 + loop $continue|0 + local.get $2 + if (result i32) + local.get $1 + i32.const 3 + i32.and + else + i32.const 0 + end + i32.eqz + br_if $break|0 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|0 + end + unreachable + end + local.get $0 + i32.const 3 + i32.and + i32.const 0 + i32.eq + if + block $break|1 + loop $continue|1 + local.get $2 + i32.const 16 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|1 + end + unreachable + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + return + end + local.get $2 + i32.const 32 + i32.ge_u + if + block $break|2 + block $case2|2 + block $case1|2 + block $case0|2 + local.get $0 + i32.const 3 + i32.and + local.set $5 + local.get $5 + i32.const 1 + i32.eq + br_if $case0|2 + local.get $5 + i32.const 2 + i32.eq + br_if $case1|2 + local.get $5 + i32.const 3 + i32.eq + br_if $case2|2 + br $break|2 + end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 3 + i32.sub + local.set $2 + block $break|3 + loop $continue|3 + local.get $2 + i32.const 17 + i32.ge_u + i32.eqz + br_if $break|3 + local.get $1 + i32.const 1 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 5 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 9 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 13 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|3 + end + unreachable + end + br $break|2 + end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + block $break|4 + loop $continue|4 + local.get $2 + i32.const 18 + i32.ge_u + i32.eqz + br_if $break|4 + local.get $1 + i32.const 2 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 6 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 10 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 14 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|4 + end + unreachable + end + br $break|2 + end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + block $break|5 + loop $continue|5 + local.get $2 + i32.const 19 + i32.ge_u + i32.eqz + br_if $break|5 + local.get $1 + i32.const 3 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 7 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 11 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 15 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $continue|5 + end + unreachable + end + br $break|2 + end + end + local.get $2 + i32.const 16 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + ) + (func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + local.get $4 + i32.eq + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $4 + local.get $3 + i32.add + local.get $5 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $5 + local.get $3 + i32.add + local.get $4 + i32.le_u + end + if + local.get $5 + local.get $4 + local.get $3 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $4 + i32.lt_u + if + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + block $break|0 + loop $continue|0 + local.get $5 + i32.const 7 + i32.and + i32.eqz + br_if $break|0 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $5 + local.tee $6 + i32.const 1 + i32.add + local.set $5 + local.get $6 + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.load8_u + i32.store8 + br $continue|0 + end + unreachable + end + block $break|1 + loop $continue|1 + local.get $3 + i32.const 8 + i32.ge_u + i32.eqz + br_if $break|1 + local.get $5 + local.get $4 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $4 + i32.const 8 + i32.add + local.set $4 + br $continue|1 + end + unreachable + end + end + block $break|2 + loop $continue|2 + local.get $3 + i32.eqz + br_if $break|2 + local.get $5 + local.tee $6 + i32.const 1 + i32.add + local.set $5 + local.get $6 + local.get $4 + local.tee $6 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $continue|2 + end + unreachable + end + else + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + block $break|3 + loop $continue|3 + local.get $5 + local.get $3 + i32.add + i32.const 7 + i32.and + i32.eqz + br_if $break|3 + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + unreachable + end + block $break|4 + loop $continue|4 + local.get $3 + i32.const 8 + i32.ge_u + i32.eqz + br_if $break|4 + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + local.get $3 + i32.add + local.get $4 + local.get $3 + i32.add + i64.load + i64.store + br $continue|4 + end + unreachable + end + end + block $break|5 + loop $continue|5 + local.get $3 + i32.eqz + br_if $break|5 + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + unreachable + end + end + end + ) + (func $~lib/rt/tlsf/__free (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 561 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.ne + if (result i32) + local.get $0 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 562 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/pure/growRoots (; 22 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/rt/pure/ROOTS + local.set $0 + global.get $~lib/rt/pure/CUR + local.get $0 + i32.sub + local.set $1 + local.get $1 + i32.const 2 + i32.mul + local.tee $2 + i32.const 64 + i32.const 2 + i32.shl + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + local.set $4 + local.get $4 + i32.const 0 + call $~lib/rt/tlsf/__alloc + local.set $2 + global.get $~lib/error + if + return + end + local.get $2 + local.set $5 + local.get $5 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onfree + local.get $5 + local.get $0 + local.get $1 + call $~lib/memory/memory.copy + local.get $0 + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/rtrace/onalloc + local.get $0 + call $~lib/rt/tlsf/__free + end + local.get $5 + global.set $~lib/rt/pure/ROOTS + local.get $5 + local.get $1 + i32.add + global.set $~lib/rt/pure/CUR + local.get $5 + local.get $4 + i32.add + global.set $~lib/rt/pure/END + ) + (func $~lib/rt/pure/appendRoot (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + global.get $~lib/rt/pure/CUR + local.set $1 + local.get $1 + global.get $~lib/rt/pure/END + i32.ge_u + if + call $~lib/rt/pure/growRoots + global.get $~lib/error + if + return + end + global.get $~lib/rt/pure/CUR + local.set $1 + end + local.get $1 + local.get $0 + i32.store + local.get $1 + i32.const 4 + i32.add + global.set $~lib/rt/pure/CUR + ) + (func $~lib/rt/pure/decrement (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.and + local.set $2 + local.get $0 + call $~lib/rt/rtrace/ondecrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 115 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 16 + i32.add + i32.const 1 + call $~lib/rt/__visit_members + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + else + local.get $0 + i32.const -2147483648 + i32.const 0 + i32.or + i32.const 0 + i32.or + i32.store offset=4 + end + else + local.get $2 + i32.const 0 + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 124 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + call $~lib/rt/__typeinfo + local.set $3 + global.get $~lib/error + if + return + end + local.get $3 + i32.const 16 + i32.and + i32.eqz + if + local.get $0 + i32.const -2147483648 + i32.const 805306368 + i32.or + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + if + local.get $0 + call $~lib/rt/pure/appendRoot + global.get $~lib/error + if + return + end + end + else + local.get $0 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + end + end + ) + (func $~lib/rt/pure/__release (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end + end + ) + (func $~lib/error/Error#constructor (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + i32.eqz + if + i32.const 12 + i32.const 3 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + i32.const 176 + call $~lib/rt/pure/__retain + i32.store + local.get $0 + i32.const 208 + call $~lib/rt/pure/__retain + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/rt/pure/__release + local.get $0 + ) + (func $~lib/string/String#get:length (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load offset=12 + i32.const 1 + i32.shr_u + ) + (func $~lib/util/string/compareImpl (; 28 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $2 + call $~lib/rt/pure/__retain + drop + i32.const 0 + local.set $5 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $7 + block $break|0 + loop $continue|0 + local.get $4 + if (result i32) + local.get $6 + i32.load16_u + local.get $7 + i32.load16_u + i32.sub + local.tee $5 + i32.eqz + else + i32.const 0 + end + i32.eqz + br_if $break|0 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + local.get $6 + i32.const 2 + i32.add + local.set $6 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $continue|0 + end + unreachable + end + local.get $5 + local.set $8 + local.get $0 + call $~lib/rt/pure/__release + local.get $2 + call $~lib/rt/pure/__release + local.get $8 + ) + (func $~lib/string/String.__eq (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $1 + call $~lib/rt/pure/__retain + drop + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + local.set $2 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + local.set $2 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $3 + local.get $3 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + local.set $2 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $3 + call $~lib/util/string/compareImpl + i32.eqz + local.set $2 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + call $~lib/rt/pure/__release + local.get $2 + ) + (func $throw/testCatchImmediately (; 30 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + i32.const 0 + call $~lib/rt/pure/__retain + local.set $0 + block $proceed|0 + block $catch|0 + i32.const 0 + i32.const 280 + call $~lib/error/Error#constructor + global.set $~lib/error + local.get $0 + call $~lib/rt/pure/__release + br $catch|0 + end + global.get $~lib/error + local.set $1 + i32.const 0 + global.set $~lib/error + local.get $1 + i32.load offset=8 + call $~lib/rt/pure/__retain + local.set $0 + local.get $1 + call $~lib/rt/pure/__release + end + local.get $0 + i32.const 280 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 8 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/pure/__release + ) + (func $start:throw (; 31 ;) (type $FUNCSIG$v) + call $throw/testCatchImmediately + ) + (func $start (; 32 ;) (type $FUNCSIG$v) + global.get $~lib/started + if + return + else + i32.const 1 + global.set $~lib/started + end + call $start:throw + ) + (func $~lib/rt/pure/markGray (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 1879048192 + i32.and + i32.const 268435456 + i32.ne + if + local.get $0 + local.get $1 + i32.const 1879048192 + i32.const -1 + i32.xor + i32.and + i32.const 268435456 + i32.or + i32.store offset=4 + local.get $0 + i32.const 16 + i32.add + i32.const 2 + call $~lib/rt/__visit_members + end + ) + (func $~lib/rt/pure/scanBlack (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + local.get $0 + i32.load offset=4 + i32.const 1879048192 + i32.const -1 + i32.xor + i32.and + i32.const 0 + i32.or + i32.store offset=4 + local.get $0 + i32.const 16 + i32.add + i32.const 4 + call $~lib/rt/__visit_members + ) + (func $~lib/rt/pure/scan (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 1879048192 + i32.and + i32.const 268435456 + i32.eq + if + local.get $1 + i32.const 268435455 + i32.and + i32.const 0 + i32.gt_u + if + local.get $0 + call $~lib/rt/pure/scanBlack + else + local.get $0 + local.get $1 + i32.const 1879048192 + i32.const -1 + i32.xor + i32.and + i32.const 536870912 + i32.or + i32.store offset=4 + local.get $0 + i32.const 16 + i32.add + i32.const 3 + call $~lib/rt/__visit_members + end + end + ) + (func $~lib/rt/pure/collectWhite (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 1879048192 + i32.and + i32.const 536870912 + i32.eq + if (result i32) + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + else + i32.const 0 + end + if + local.get $0 + local.get $1 + i32.const 1879048192 + i32.const -1 + i32.xor + i32.and + i32.const 0 + i32.or + i32.store offset=4 + local.get $0 + i32.const 16 + i32.add + i32.const 5 + call $~lib/rt/__visit_members + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + end + ) + (func $~lib/rt/pure/__visit (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.lt_u + if + return + end + local.get $0 + i32.const 16 + i32.sub + local.set $2 + block $break|0 + block $case5|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $1 + local.set $3 + local.get $3 + i32.const 1 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + local.get $3 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $3 + i32.const 4 + i32.eq + br_if $case3|0 + local.get $3 + i32.const 5 + i32.eq + br_if $case4|0 + br $case5|0 + end + local.get $2 + call $~lib/rt/pure/decrement + global.get $~lib/error + if + return + end + br $break|0 + end + local.get $2 + i32.load offset=4 + i32.const 268435455 + i32.and + i32.const 0 + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 75 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $2 + i32.load offset=4 + i32.const 1 + i32.sub + i32.store offset=4 + local.get $2 + call $~lib/rt/pure/markGray + br $break|0 + end + local.get $2 + call $~lib/rt/pure/scan + br $break|0 + end + local.get $2 + i32.load offset=4 + local.set $3 + local.get $3 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $3 + i32.const 1 + i32.add + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 86 + i32.const 6 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $3 + i32.const 1 + i32.add + i32.store offset=4 + local.get $3 + i32.const 1879048192 + i32.and + i32.const 0 + i32.ne + if + local.get $2 + call $~lib/rt/pure/scanBlack + end + br $break|0 + end + local.get $2 + call $~lib/rt/pure/collectWhite + br $break|0 + end + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 97 + i32.const 24 + call $~lib/builtins/abort + unreachable + end + end + ) + (func $~lib/rt/__visit_members (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + block $switch$1$default + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=4 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.load offset=8 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + return + end + unreachable + ) + (func $null (; 39 ;) (type $FUNCSIG$v) + ) +) diff --git a/tests/compiler/typealias.untouched.wat b/tests/compiler/typealias.untouched.wat index 8cd06aa993..be33aa2917 100644 --- a/tests/compiler/typealias.untouched.wat +++ b/tests/compiler/typealias.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "alias" (func $typealias/alias)) (func $typealias/alias (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) diff --git a/tests/compiler/unary.untouched.wat b/tests/compiler/unary.untouched.wat index e4196758f7..01e908ca1e 100644 --- a/tests/compiler/unary.untouched.wat +++ b/tests/compiler/unary.untouched.wat @@ -3,6 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $unary/i (mut i32) (i32.const 0)) (global $unary/I (mut i64) (i64.const 0)) (global $unary/f (mut f32) (f32.const 0)) diff --git a/tests/compiler/void.untouched.wat b/tests/compiler/void.untouched.wat index a46ab488c7..8f2c8ead03 100644 --- a/tests/compiler/void.untouched.wat +++ b/tests/compiler/void.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $void/u8Val1 (mut i32) (i32.const 1)) (global $void/u8Val2 (mut i32) (i32.const 255)) (export "memory" (memory $0)) diff --git a/tests/compiler/wasi.untouched.wat b/tests/compiler/wasi.untouched.wat index 4bf55efb73..b1a7ba1721 100644 --- a/tests/compiler/wasi.untouched.wat +++ b/tests/compiler/wasi.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00w\00a\00s\00i\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $~lib/shared/target/Target.WASM32 i32 (i32.const 0)) (global $~lib/shared/target/Target.WASM64 i32 (i32.const 1)) (global $~lib/shared/target/Target.JS i32 (i32.const 2)) diff --git a/tests/compiler/while.untouched.wat b/tests/compiler/while.untouched.wat index 5381fb87ee..ef13470f61 100644 --- a/tests/compiler/while.untouched.wat +++ b/tests/compiler/while.untouched.wat @@ -6,6 +6,7 @@ (data (i32.const 8) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $while/n (mut i32) (i32.const 10)) (global $while/m (mut i32) (i32.const 0)) (global $while/o (mut i32) (i32.const 0)) diff --git a/tests/compiler/wildcard-export.untouched.wat b/tests/compiler/wildcard-export.untouched.wat index b86295da07..02bc060df2 100644 --- a/tests/compiler/wildcard-export.untouched.wat +++ b/tests/compiler/wildcard-export.untouched.wat @@ -4,6 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/error (mut i32) (i32.const 0)) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3))