diff --git a/cli/asc.js b/cli/asc.js index b0ee8332..61f6601a 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -454,8 +454,8 @@ exports.main = function main(argv, options, callback) { // Initialize default aliases assemblyscript.setGlobalAlias(compilerOptions, "Math", "NativeMath"); assemblyscript.setGlobalAlias(compilerOptions, "Mathf", "NativeMathf"); - assemblyscript.setGlobalAlias(compilerOptions, "abort", "~lib/env/abort"); - assemblyscript.setGlobalAlias(compilerOptions, "trace", "~lib/env/trace"); + assemblyscript.setGlobalAlias(compilerOptions, "abort", "~lib/builtins/abort"); + assemblyscript.setGlobalAlias(compilerOptions, "trace", "~lib/builtins/trace"); } // Add or override aliases if specified diff --git a/src/builtins.ts b/src/builtins.ts index 1211a56a..4dfc8030 100644 --- a/src/builtins.ts +++ b/src/builtins.ts @@ -6,8 +6,7 @@ import { Compiler, ConversionKind, - WrapMode, - Feature + WrapMode } from "./compiler"; import { @@ -57,7 +56,6 @@ import { Field, Global, DecoratorFlags, - RuntimeFlags, Program } from "./program"; @@ -70,7 +68,9 @@ import { } from "./resolver"; import { - CommonFlags + CommonFlags, + Feature, + RTTIFlags } from "./common"; import { @@ -479,14 +479,15 @@ export namespace BuiltinSymbols { export const memory_reset = "~lib/memory/memory.reset"; // std/runtime.ts + export const RTTI_BASE = "~lib/runtime/RTTI_BASE"; export const runtime_id = "~lib/runtime/__runtime_id"; - export const runtime_instanceof = "~lib/runtime/__runtime_instanceof"; - export const runtime_flags = "~lib/runtime/__runtime_flags"; + export const runtime_instanceof = "~lib/runtime/runtime.instanceof"; + export const runtime_flags = "~lib/runtime/runtime.flags"; export const runtime_allocate = "~lib/util/runtime/allocate"; export const runtime_reallocate = "~lib/util/runtime/reallocate"; export const runtime_register = "~lib/util/runtime/register"; export const runtime_discard = "~lib/util/runtime/discard"; - export const runtime_newArray = "~lib/runtime/runtime.newArray"; + export const runtime_makeArray = "~lib/util/runtime/makeArray"; export const gc_mark_roots = "~lib/runtime/__gc_mark_roots"; export const gc_mark_members = "~lib/runtime/__gc_mark_members"; @@ -3651,34 +3652,7 @@ export function compileCall( ); return module.createUnreachable(); } - return module.createI32(classReference.ensureId()); - } - case BuiltinSymbols.runtime_instanceof: { - if ( - checkTypeAbsent(typeArguments, reportNode, prototype) | - checkArgsRequired(operands, 2, reportNode, compiler) - ) { - compiler.currentType = Type.bool; - return module.createUnreachable(); - } - let arg0 = compiler.compileExpression(operands[0], Type.u32, ConversionKind.IMPLICIT, WrapMode.NONE); - let arg1 = compiler.compileExpression(operands[1], Type.u32, ConversionKind.IMPLICIT, WrapMode.NONE); - compiler.needsRuntimeInstanceOf = true; - compiler.currentType = Type.bool; - return module.createCall(BuiltinSymbols.runtime_instanceof, [ arg0, arg1 ], NativeType.I32); - } - case BuiltinSymbols.runtime_flags: { - if ( - checkTypeAbsent(typeArguments, reportNode, prototype) | - checkArgsRequired(operands, 1, reportNode, compiler) - ) { - compiler.currentType = Type.i32; - return module.createUnreachable(); - } - let arg0 = compiler.compileExpression(operands[0], Type.u32, ConversionKind.IMPLICIT, WrapMode.NONE); - compiler.needsRuntimeFlags = true; - compiler.currentType = Type.i32; - return module.createCall(BuiltinSymbols.runtime_flags, [ arg0 ], NativeType.I32); + return module.createI32(classReference.id); } case BuiltinSymbols.gc_mark_roots: { if ( @@ -4191,7 +4165,7 @@ export function compileMarkMembers(compiler: Compiler): void { let fieldType = (member).type; if (fieldType.isManaged(program)) { let fieldClass = fieldType.classReference!; - let fieldClassId = fieldClass.ensureId(); + let fieldClassId = fieldClass.id; let fieldOffset = (member).memoryOffset; assert(fieldOffset >= 0); block.push( @@ -4250,144 +4224,58 @@ export function compileMarkMembers(compiler: Compiler): void { module.addFunction(BuiltinSymbols.gc_mark_members, ftype, [ nativeSizeType ], current); } -/** Compiles the `__runtime_instanceof` function. */ -export function compileRuntimeInstanceOf(compiler: Compiler): void { +function typeToRuntimeFlags(type: Type, program: Program): RTTIFlags { + var flags = RTTIFlags.VALUE_ALIGN_0 * (1 << type.alignLog2); + if (type.is(TypeFlags.NULLABLE)) flags |= RTTIFlags.VALUE_NULLABLE; + if (type.isManaged(program)) flags |= RTTIFlags.VALUE_MANAGED; + return flags / RTTIFlags.VALUE_ALIGN_0; +} + +/** Compiles runtime type information for use by stdlib. */ +export function compileRTTI(compiler: Compiler): void { + // TODO: only add this if actually accessed? var program = compiler.program; var module = compiler.module; var managedClasses = program.managedClasses; - var ftype = compiler.ensureFunctionType([ Type.i32, Type.i32 ], Type.i32); // $0 instanceof $1 -> bool - - // NOTE: There are multiple ways to model this. The one chosen here is to compute - // all possibilities in a branchless expression, growing linearly with the number - // of chained base classes. - // - // switch ($0) { - // case ANIMAL_ID: { - // return ($1 == ANIMAL_ID); - // } - // case CAT_ID: { - // return ($1 == CAT_ID) | ($1 == ANIMAL_ID); - // } - // case BLACKCAT_ID: { - // return ($1 == BLACKCAT_ID) | ($1 == CAT_ID) | ($1 == ANIMAL_ID); - // } - // } - // return false; - // - // Another one would be an inner br_table, but class id distribution in larger - // programs in unclear, possibly leading to lots of holes in that table that - // could either degenerate into multiple ifs when compiling for size or to - // huge tables when compiling for speed. - // - // Maybe a combination of both could be utilized, like statically analyzing the - // ids and make a decision based on profiling experience? - - var names: string[] = [ "nope" ]; - var blocks = new Array(); + var count = managedClasses.size; + var size = 8 + 8 * count; + var data = new Uint8Array(size); + writeI32(count, data, 0); + var off = 8; var lastId = 0; - for (let [id, instance] of managedClasses) { assert(id == ++lastId); - names.push(instance.internalName); - let condition = module.createBinary(BinaryOp.EqI32, - module.createGetLocal(1, NativeType.I32), - module.createI32(id) - ); - let base = instance.base; - while (base) { - condition = module.createBinary(BinaryOp.OrI32, - condition, - module.createBinary(BinaryOp.EqI32, - module.createGetLocal(1, NativeType.I32), - module.createI32(base.ensureId()) - ) - ); - base = base.base; - } - blocks.push([ - module.createReturn(condition) - ]); - } - - var current: ExpressionRef; - if (blocks.length) { - current = module.createBlock(names[1], [ - module.createSwitch(names, "nope", module.createGetLocal(0, NativeType.I32)) - ]); - for (let i = 0, k = blocks.length; i < k; ++i) { - blocks[i].unshift(current); - current = module.createBlock(i == k - 1 ? "nope" : names[i + 2], blocks[i]); - } - current = module.createBlock(null, [ - current, - module.createReturn(module.createI32(0)) - ]); - } else { - current = module.createReturn(module.createI32(0)); - } - module.addFunction(BuiltinSymbols.runtime_instanceof, ftype, null, current); -} - -function typeToRuntimeFlags(type: Type, program: Program): RuntimeFlags { - var flags = RuntimeFlags.VALUE_ALIGN_0 * (1 << type.alignLog2); - if (type.is(TypeFlags.NULLABLE)) flags |= RuntimeFlags.VALUE_NULLABLE; - if (type.isManaged(program)) flags |= RuntimeFlags.VALUE_MANAGED; - return flags / RuntimeFlags.VALUE_ALIGN_0; -} - -/** Compiles the `__runtime_flags` function. */ -export function compileRuntimeFlags(compiler: Compiler): void { - var program = compiler.program; - var module = compiler.module; - var managedClasses = program.managedClasses; - var ftype = compiler.ensureFunctionType([ Type.i32 ], Type.i32); // $0 -> i32 - var names: string[] = [ "invalid" ]; - var blocks = new Array(); - var lastId = 0; - - for (let [id, instance] of managedClasses) { - assert(id == ++lastId); - names.push(instance.internalName); - let flags: RuntimeFlags = 0; + let flags: RTTIFlags = 0; if (instance.prototype.extends(program.arrayPrototype)) { let typeArguments = assert(instance.typeArguments); assert(typeArguments.length == 1); - flags |= RuntimeFlags.ARRAY; - flags |= RuntimeFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[0], program); + flags |= RTTIFlags.ARRAY; + flags |= RTTIFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[0], program); } else if (instance.prototype.extends(program.setPrototype)) { let typeArguments = assert(instance.typeArguments); assert(typeArguments.length == 1); - flags |= RuntimeFlags.SET; - flags |= RuntimeFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[0], program); + flags |= RTTIFlags.SET; + flags |= RTTIFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[0], program); } else if (instance.prototype.extends(program.mapPrototype)) { let typeArguments = assert(instance.typeArguments); assert(typeArguments.length == 2); - flags |= RuntimeFlags.MAP; - flags |= RuntimeFlags.KEY_ALIGN_0 * typeToRuntimeFlags(typeArguments[0], program); - flags |= RuntimeFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[1], program); + flags |= RTTIFlags.MAP; + flags |= RTTIFlags.KEY_ALIGN_0 * typeToRuntimeFlags(typeArguments[0], program); + flags |= RTTIFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[1], program); } - blocks.push([ - module.createReturn(module.createI32(flags)) - ]); + writeI32(flags, data, off); off += 4; + let base = instance.base; + writeI32(base ? base.id : 0, data, off); off += 4; } - - var current: ExpressionRef; - if (blocks.length) { - current = module.createBlock(names[1], [ - module.createSwitch(names, "invalid", module.createGetLocal(0, NativeType.I32)) - ]); - for (let i = 0, k = blocks.length; i < k; ++i) { - blocks[i].unshift(current); - current = module.createBlock(i == k - 1 ? "invalid" : names[i + 2], blocks[i]); - } - current = module.createBlock(null, [ - current, - module.createUnreachable() - ]); + assert(off == size); + var usizeType = program.options.usizeType; + var segment = compiler.addMemorySegment(data); + if (usizeType.size == 8) { + let offset = segment.offset; + module.addGlobal(BuiltinSymbols.RTTI_BASE, NativeType.I64, false, module.createI64(i64_low(offset), i64_high(offset))); } else { - current = module.createUnreachable(); + module.addGlobal(BuiltinSymbols.RTTI_BASE, NativeType.I32, false, module.createI32(i64_low(segment.offset))); } - module.addFunction(BuiltinSymbols.runtime_flags, ftype, null, current); } // Helpers diff --git a/src/common.ts b/src/common.ts index 7c4e049b..73389367 100644 --- a/src/common.ts +++ b/src/common.ts @@ -190,3 +190,10 @@ export namespace CommonSymbols { export const newArrayBuffer = "newArrayBuffer"; export const newArray = "newArray"; } + +// shared +import { Capability } from "../std/assembly/common/capability"; +import { Feature } from "../std/assembly/common/feature"; +import { RTTIData, RTTIFlags } from "../std/assembly/common/rtti"; +import { Target } from "../std/assembly/common/target"; +export { Capability, Feature, RTTIData, RTTIFlags, Target }; diff --git a/src/compiler.ts b/src/compiler.ts index 27d1e5ac..c7613404 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4,13 +4,12 @@ *//***/ import { + BuiltinSymbols, compileCall as compileBuiltinCall, compileAbort, compileMarkRoots, compileMarkMembers, - compileRuntimeInstanceOf, - compileRuntimeFlags, - BuiltinSymbols, + compileRTTI, } from "./builtins"; import { @@ -50,7 +49,10 @@ import { GETTER_PREFIX, SETTER_PREFIX, CommonSymbols, - INDEX_SUFFIX + INDEX_SUFFIX, + Capability, + Feature, + Target } from "./common"; import { @@ -174,14 +176,6 @@ import { makeMap } from "./util"; -/** Compilation target. */ -export enum Target { - /** WebAssembly with 32-bit pointers. */ - WASM32, - /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */ - WASM64 -} - /** Compiler options. */ export class Options { @@ -235,32 +229,6 @@ export class Options { } } -/** Indicates specific features to activate. */ -export const enum Feature { - /** No additional features. */ - NONE = 0, - /** Sign extension operations. */ - SIGN_EXTENSION = 1 << 0, // see: https://github.com/WebAssembly/sign-extension-ops - /** Mutable global imports and exports. */ - MUTABLE_GLOBAL = 1 << 1, // see: https://github.com/WebAssembly/mutable-global - /** Bulk memory operations. */ - BULK_MEMORY = 1 << 2, // see: https://github.com/WebAssembly/bulk-memory-operations - /** SIMD types and operations. */ - SIMD = 1 << 3, // see: https://github.com/WebAssembly/simd - /** Threading and atomic operations. */ - THREADS = 1 << 4 // see: https://github.com/WebAssembly/threads -} - -/** Indicates module capabilities. */ -export const enum Capability { - /** No specific capabilities. */ - NONE = 0, - /** Uses WebAssembly with 64-bit pointers. */ - WASM64 = 1 << 0, - /** Garbage collector is present (full runtime header). */ - GC = 1 << 1 -} - /** Indicates the desired kind of a conversion. */ export const enum ConversionKind { /** No conversion. */ @@ -312,12 +280,12 @@ export class Compiler extends DiagnosticEmitter { argcVar: GlobalRef = 0; /** Argument count helper setter. */ argcSet: FunctionRef = 0; + /** Whether HEAP_BASE is required. */ + needsHeap: bool = false; /** Indicates whether the __gc_mark_* functions must be generated. */ needsGcMark: bool = false; - /** Indicates whether the __runtime_instanceof function must be generated. */ - needsRuntimeInstanceOf: bool = false; - /** Indicates whether the __runtime_flags function must be generated. */ - needsRuntimeFlags: bool = false; + /** Whether RTTI is required. */ + needsRTTI: bool = false; /** Compiles a {@link Program} to a {@link Module} using the specified options. */ static compile(program: Program, options: Options | null = null): Module { @@ -357,19 +325,11 @@ export class Compiler extends DiagnosticEmitter { // add a mutable heap base dummy if (options.isWasm64) { - module.addGlobal( - BuiltinSymbols.HEAP_BASE, - NativeType.I64, - true, - module.createI64(0, 0) - ); + module.addGlobal(BuiltinSymbols.HEAP_BASE, NativeType.I64, true, module.createI64(0)); + module.addGlobal(BuiltinSymbols.RTTI_BASE, NativeType.I64, true, module.createI64(0)); } else { - module.addGlobal( - BuiltinSymbols.HEAP_BASE, - NativeType.I32, - false, - module.createI32(0) - ); + module.addGlobal(BuiltinSymbols.HEAP_BASE, NativeType.I32, true, module.createI32(0)); + module.addGlobal(BuiltinSymbols.RTTI_BASE, NativeType.I32, true, module.createI32(0)); } // compile entry file(s) while traversing reachable elements @@ -405,29 +365,33 @@ export class Compiler extends DiagnosticEmitter { compileMarkMembers(this); } - // compile runtime features if utilized - if (this.needsRuntimeInstanceOf) compileRuntimeInstanceOf(this); - if (this.needsRuntimeFlags) compileRuntimeFlags(this); + // compile runtime type information + module.removeGlobal(BuiltinSymbols.RTTI_BASE); + if (this.needsRTTI) { + compileRTTI(this); + } // update the heap base pointer var memoryOffset = this.memoryOffset; memoryOffset = i64_align(memoryOffset, options.usizeType.byteSize); this.memoryOffset = memoryOffset; module.removeGlobal(BuiltinSymbols.HEAP_BASE); - if (options.isWasm64) { - module.addGlobal( - BuiltinSymbols.HEAP_BASE, - NativeType.I64, - false, - module.createI64(i64_low(memoryOffset), i64_high(memoryOffset)) - ); - } else { - module.addGlobal( - BuiltinSymbols.HEAP_BASE, - NativeType.I32, - false, - module.createI32(i64_low(memoryOffset)) - ); + if (this.needsHeap) { + if (options.isWasm64) { + module.addGlobal( + BuiltinSymbols.HEAP_BASE, + NativeType.I64, + false, + module.createI64(i64_low(memoryOffset), i64_high(memoryOffset)) + ); + } else { + module.addGlobal( + BuiltinSymbols.HEAP_BASE, + NativeType.I32, + false, + module.createI32(i64_low(memoryOffset)) + ); + } } // set up memory @@ -449,7 +413,6 @@ export class Compiler extends DiagnosticEmitter { // set up function table var functionTable = this.functionTable; module.setFunctionTable(functionTable.length, 0xffffffff, functionTable); - module.addTableExport("0", "table"); module.addFunction("null", this.ensureFunctionType(null, Type.void), null, module.createBlock(null, [])); // import table if requested (default table is named '0' by Binaryen) @@ -612,7 +575,7 @@ export class Compiler extends DiagnosticEmitter { if (!(element).type.isUnmanaged) { let module = this.module; let internalName = (element).internalName; - module.addGlobal(internalName, NativeType.I32, false, module.createI32((element).ensureId())); + module.addGlobal(internalName, NativeType.I32, false, module.createI32((element).id)); module.addGlobalExport(internalName, prefix + name); } break; @@ -829,7 +792,11 @@ export class Compiler extends DiagnosticEmitter { } // ambient builtins like 'HEAP_BASE' need to be resolved but are added explicitly - if (global.is(CommonFlags.AMBIENT) && global.hasDecorator(DecoratorFlags.BUILTIN)) return true; + if (global.is(CommonFlags.AMBIENT) && global.hasDecorator(DecoratorFlags.BUILTIN)) { + if (global.internalName == BuiltinSymbols.HEAP_BASE) this.needsHeap = true; + else if (global.internalName == BuiltinSymbols.RTTI_BASE) this.needsRTTI = true; + return true; + } var type = global.type; var nativeType = type.toNativeType(); @@ -1432,7 +1399,7 @@ export class Compiler extends DiagnosticEmitter { } else { let length = stringValue.length; let buffer = new Uint8Array(rtHeaderSize + (length << 1)); - program.writeRuntimeHeader(buffer, 0, stringInstance.ensureId(), length << 1); + program.writeRuntimeHeader(buffer, 0, stringInstance.id, length << 1); for (let i = 0; i < length; ++i) { writeI16(stringValue.charCodeAt(i), buffer, rtHeaderSize + (i << 1)); } @@ -1458,7 +1425,7 @@ export class Compiler extends DiagnosticEmitter { var runtimeHeaderSize = program.runtimeHeaderSize; var buf = new Uint8Array(runtimeHeaderSize + byteLength); - program.writeRuntimeHeader(buf, 0, bufferInstance.ensureId(), byteLength); + program.writeRuntimeHeader(buf, 0, bufferInstance.id, byteLength); var pos = runtimeHeaderSize; var nativeType = elementType.toNativeType(); switch (nativeType) { @@ -1545,7 +1512,7 @@ export class Compiler extends DiagnosticEmitter { var arrayLength = i32(bufferLength / elementType.byteSize); var buf = new Uint8Array(runtimeHeaderSize + arrayInstanceSize); - program.writeRuntimeHeader(buf, 0, arrayInstance.ensureId(), arrayInstanceSize); + program.writeRuntimeHeader(buf, 0, arrayInstance.id, arrayInstanceSize); var bufferAddress32 = i64_low(bufferSegment.offset) + runtimeHeaderSize; assert(!program.options.isWasm64); // TODO @@ -6720,11 +6687,11 @@ export class Compiler extends DiagnosticEmitter { // upcast - check dynamically if (expectedType.isAssignableTo(actualType)) { let program = this.program; - this.needsRuntimeInstanceOf = true; if (!(actualType.isUnmanaged || expectedType.isUnmanaged)) { let flow = this.currentFlow; let tempLocal = flow.getAndFreeTempLocal(actualType, false); - this.needsRuntimeInstanceOf = true; + let instanceofInstance = assert(program.instanceofInstance); + this.compileFunction(instanceofInstance); return module.createIf( module.createUnary( nativeSizeType == NativeType.I64 @@ -6733,16 +6700,10 @@ export class Compiler extends DiagnosticEmitter { module.createTeeLocal(tempLocal.index, expr), ), module.createI32(0), - module.createCall(BuiltinSymbols.runtime_instanceof, [ - module.createLoad(4, false, - module.createBinary(BinaryOp.SubI32, - module.createGetLocal(tempLocal.index, nativeSizeType), - module.createI32(program.runtimeHeaderSize) - ), - NativeType.I32 - ), - module.createI32(expectedType.classReference!.ensureId()) - ], NativeType.I32) + this.makeCallDirect(instanceofInstance, [ + module.createGetLocal(tempLocal.index, nativeSizeType), + module.createI32(expectedType.classReference!.id) + ], expression) ); } else { this.error( @@ -6771,7 +6732,8 @@ export class Compiler extends DiagnosticEmitter { // uninitialized (thus zero) `var a: A` to be an instance of something. let flow = this.currentFlow; let tempLocal = flow.getAndFreeTempLocal(actualType, false); - this.needsRuntimeInstanceOf = true; + let instanceofInstance = assert(program.instanceofInstance); + this.compileFunction(instanceofInstance); return module.createIf( module.createUnary( nativeSizeType == NativeType.I64 @@ -6780,16 +6742,10 @@ export class Compiler extends DiagnosticEmitter { module.createTeeLocal(tempLocal.index, expr), ), module.createI32(0), - module.createCall(BuiltinSymbols.runtime_instanceof, [ - module.createLoad(4, false, - module.createBinary(BinaryOp.SubI32, - module.createGetLocal(tempLocal.index, nativeSizeType), - module.createI32(program.runtimeHeaderSize) - ), - NativeType.I32 - ), - module.createI32(expectedType.classReference!.ensureId()) - ], NativeType.I32) + this.makeCallDirect(instanceofInstance, [ + module.createGetLocal(tempLocal.index, nativeSizeType), + module.createI32(expectedType.classReference!.id) + ], expression) ); } else { this.error( @@ -6946,13 +6902,13 @@ export class Compiler extends DiagnosticEmitter { // otherwise allocate a new array header and make it wrap a copy of the static buffer } else { - // newArray(length, alignLog2, classId, staticBuffer) - let expr = this.makeCallDirect(assert(program.newArrayInstance), [ + // makeArray(length, alignLog2, classId, staticBuffer) + let expr = this.makeCallDirect(assert(program.makeArrayInstance), [ module.createI32(length), program.options.isWasm64 ? module.createI64(elementType.alignLog2) : module.createI32(elementType.alignLog2), - module.createI32(arrayInstance.ensureId()), + module.createI32(arrayInstance.id), program.options.isWasm64 ? module.createI64(i64_low(bufferAddress), i64_high(bufferAddress)) : module.createI32(i64_low(bufferAddress)) @@ -6976,9 +6932,9 @@ export class Compiler extends DiagnosticEmitter { var flow = this.currentFlow; var tempThis = flow.getTempLocal(arrayType, false); var tempDataStart = flow.getTempLocal(arrayBufferInstance.type); - var newArrayInstance = assert(program.newArrayInstance); + var newArrayInstance = assert(program.makeArrayInstance); var stmts = new Array(); - // tempThis = newArray(length, alignLog2, classId, source = 0) + // tempThis = makeArray(length, alignLog2, classId, source = 0) stmts.push( module.createSetLocal(tempThis.index, this.makeCallDirect(newArrayInstance, [ @@ -6986,7 +6942,7 @@ export class Compiler extends DiagnosticEmitter { program.options.isWasm64 ? module.createI64(elementType.alignLog2) : module.createI32(elementType.alignLog2), - module.createI32(arrayInstance.ensureId()), + module.createI32(arrayInstance.id), program.options.isWasm64 ? module.createI64(0) : module.createI32(0) @@ -8244,7 +8200,7 @@ export class Compiler extends DiagnosticEmitter { ? module.createI64(classInstance.currentMemoryOffset) : module.createI32(classInstance.currentMemoryOffset) ], reportNode), - module.createI32(classInstance.ensureId()) + module.createI32(classInstance.id) ], reportNode); } } @@ -8449,7 +8405,7 @@ export class Compiler extends DiagnosticEmitter { module.createBreak(label, module.createBinary(BinaryOp.EqI32, // classId == class.id module.createTeeLocal(idTemp.index, idExpr), - module.createI32(classInstance.ensureId()) + module.createI32(classInstance.id) ), module.createI32(1) // ? true ) diff --git a/src/index.ts b/src/index.ts index 9de73751..4aa1559b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,39 +3,14 @@ * @module index *//***/ -import { - Compiler, - Options, - Target, - Feature -} from "./compiler"; - -import { - Decompiler -} from "./decompiler"; - -import { - IDLBuilder, - TSDBuilder -} from "./definitions"; - -import { - DiagnosticMessage, - DiagnosticCategory, - formatDiagnosticMessage -} from "./diagnostics"; - -import { - Module -} from "./module"; - -import { - Parser -} from "./parser"; - -import { - Program -} from "./program"; +import { Target, Feature } from "./common"; +import { Compiler, Options } from "./compiler"; +import { Decompiler } from "./decompiler"; +import { IDLBuilder, TSDBuilder } from "./definitions"; +import { DiagnosticMessage, DiagnosticCategory, formatDiagnosticMessage } from "./diagnostics"; +import { Module } from "./module"; +import { Parser } from "./parser"; +import { Program } from "./program"; /** Parses a source file. If `parser` has been omitted a new one is created. */ export function parseFile(text: string, path: string, isEntry: bool = false, diff --git a/src/module.ts b/src/module.ts index 3cd49751..b1e89b1b 100644 --- a/src/module.ts +++ b/src/module.ts @@ -3,9 +3,7 @@ * @module module *//***/ -import { - Target -} from "./compiler"; +import { Target } from "./common"; export type ModuleRef = usize; export type FunctionTypeRef = usize; diff --git a/src/program.ts b/src/program.ts index 062ec9be..9fee86cf 100644 --- a/src/program.ts +++ b/src/program.ts @@ -13,13 +13,13 @@ import { INNER_DELIMITER, LIBRARY_SUBST, INDEX_SUFFIX, - CommonSymbols + CommonSymbols, + Feature, + Target } from "./common"; import { - Options, - Feature, - Compiler + Options } from "./compiler"; import { @@ -316,45 +316,6 @@ export enum CollectorKind { COUNTING } -/** Runtime flags. */ -export const enum RuntimeFlags { // keep in sync with std/runtime.ts - NONE = 0, - /** Type is an `Array`. */ - ARRAY = 1 << 0, - /** Type is a `Set`. */ - SET = 1 << 1, - /** Type is a `Map`. */ - MAP = 1 << 2, - /** Value alignment of 1 byte. */ - VALUE_ALIGN_0 = 1 << 3, - /** Value alignment of 2 bytes. */ - VALUE_ALIGN_1 = 1 << 4, - /** Value alignment of 4 bytes. */ - VALUE_ALIGN_2 = 1 << 5, - /** Value alignment of 8 bytes. */ - VALUE_ALIGN_3 = 1 << 6, - /** Value alignment of 16 bytes. */ - VALUE_ALIGN_4 = 1 << 7, - /** Value type is nullable. */ - VALUE_NULLABLE = 1 << 8, - /** Value type is managed. */ - VALUE_MANAGED = 1 << 9, - /** Key alignment of 1 byte. */ - KEY_ALIGN_0 = 1 << 10, - /** Key alignment of 2 bytes. */ - KEY_ALIGN_1 = 1 << 11, - /** Key alignment of 4 bytes. */ - KEY_ALIGN_2 = 1 << 12, - /** Key alignment of 8 bytes. */ - KEY_ALIGN_3 = 1 << 13, - /** Key alignment of 16 bytes. */ - KEY_ALIGN_4 = 1 << 14, - /** Key type is nullable. */ - KEY_NULLABLE = 1 << 15, - /** Key type is managed. */ - KEY_MANAGED = 1 << 16 -} - /** Represents an AssemblyScript program. */ export class Program extends DiagnosticEmitter { @@ -418,7 +379,11 @@ export class Program extends DiagnosticEmitter { /** Runtime register function. `register(ref: usize, cid: u32): usize` */ registerInstance: Function | null = null; /** Runtime make array function. `newArray(length: i32, alignLog2: usize, id: u32, source: usize = 0): usize` */ - newArrayInstance: Function | null = null; + makeArrayInstance: Function | null = null; + /** Runtime instanceof function. */ + instanceofInstance: Function | null = null; + /** Runtime flags function. */ + flagsInstance: Function | null = null; /** The kind of garbage collector being present. */ collectorKind: CollectorKind = CollectorKind.NONE; @@ -598,7 +563,7 @@ export class Program extends DiagnosticEmitter { // register compiler hints this.registerConstantInteger(CommonSymbols.ASC_TARGET, Type.i32, - i64_new(options.isWasm64 ? 2 : 1)); + i64_new(options.isWasm64 ? Target.WASM64 : Target.WASM32)); this.registerConstantInteger(CommonSymbols.ASC_NO_ASSERT, Type.bool, i64_new(options.noAssert ? 1 : 0, 0)); this.registerConstantInteger(CommonSymbols.ASC_MEMORY_BASE, Type.i32, @@ -895,9 +860,17 @@ export class Program extends DiagnosticEmitter { assert(element.kind == ElementKind.FUNCTION_PROTOTYPE); this.registerInstance = this.resolver.resolveFunction(element, null); } - if (element = this.lookupGlobal(BuiltinSymbols.runtime_newArray)) { + if (element = this.lookupGlobal(BuiltinSymbols.runtime_makeArray)) { assert(element.kind == ElementKind.FUNCTION_PROTOTYPE); - this.newArrayInstance = this.resolver.resolveFunction(element, null); + this.makeArrayInstance = this.resolver.resolveFunction(element, null); + } + if (element = this.lookupGlobal(BuiltinSymbols.runtime_instanceof)) { + assert(element.kind == ElementKind.FUNCTION_PROTOTYPE); + this.instanceofInstance = this.resolver.resolveFunction(element, null); + } + if (element = this.lookupGlobal(BuiltinSymbols.runtime_flags)) { + assert(element.kind == ElementKind.FUNCTION_PROTOTYPE); + this.flagsInstance = this.resolver.resolveFunction(element, null); } // memory allocator interface if (element = this.lookupGlobal("__mem_allocate")) { @@ -3069,15 +3042,10 @@ export class Class extends TypedElement { /** Unique class id. */ private _id: u32 = 0; - /** Ensures that this class has an id. */ - ensureId(): i32 { + /** Gets the unique runtime id of this class. Must be a managed class. */ + get id(): u32 { var id = this._id; - if (!id) { - assert(!this.hasDecorator(DecoratorFlags.UNMANAGED)); - let program = this.program; - this._id = id = program.nextClassId++; - program.managedClasses.set(id, this); - } + assert(id); // must be managed to have an id return id; } @@ -3122,13 +3090,20 @@ export class Class extends TypedElement { prototype.parent, prototype.declaration ); + var program = this.program; this.prototype = prototype; this.flags = prototype.flags; this.decoratorFlags = prototype.decoratorFlags; this.typeArguments = typeArguments; - this.setType(this.program.options.usizeType.asClass(this)); + this.setType(program.options.usizeType.asClass(this)); this.base = base; + if (!this.hasDecorator(DecoratorFlags.UNMANAGED)) { + let id = program.nextClassId++; + this._id = id; + program.managedClasses.set(id, this); + } + // inherit static members and contextual type arguments from base class if (base) { let inheritedTypeArguments = base.contextualTypeArguments; @@ -3157,7 +3132,7 @@ export class Class extends TypedElement { } else if (typeParameters && typeParameters.length) { throw new Error("type argument count mismatch"); } - registerConcreteElement(this.program, this); + registerConcreteElement(program, this); } /** Tests if a value of this class type is assignable to a target of the specified class type. */ diff --git a/std/assembly/array.ts b/std/assembly/array.ts index 651dc472..a8b86bf1 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -1,8 +1,8 @@ /// -import { MAX_BYTELENGTH, allocate, reallocate, discard, register } from "./util/runtime"; +import { MAX_BYTELENGTH, allocate, reallocate, discard, register, NEWARRAY } from "./util/runtime"; import { COMPARATOR, SORT } from "./util/sort"; -import { runtime, __runtime_id, __gc_mark_members } from "./runtime"; +import { __runtime_id, __gc_mark_members } from "./runtime"; import { ArrayBuffer, ArrayBufferView } from "./arraybuffer"; import { itoa, dtoa, itoa_stream, dtoa_stream, MAX_DOUBLE_LENGTH } from "./util/number"; import { isArray as builtin_isArray } from "./builtins"; @@ -42,9 +42,9 @@ export class Array extends ArrayBufferView { static create(capacity: i32 = 0): Array { if (capacity > MAX_BYTELENGTH >>> alignof()) throw new RangeError(E_INVALIDLENGTH); - var array = changetype>(runtime.newArray(capacity, alignof(), __runtime_id>())); - memory.fill(array.dataStart, 0, array.dataLength); - array.length_ = 0; // ! + var array = NEWARRAY(capacity); + array.length_ = 0; // safe even if T is a non-nullable reference + memory.fill(array.dataStart, 0, array.dataLength); return array; } @@ -232,7 +232,9 @@ export class Array extends ArrayBufferView { concat(other: Array): Array { var thisLen = this.length_; var otherLen = select(0, other.length_, other === null); - var out = changetype>(runtime.newArray(thisLen + otherLen, alignof(), __runtime_id>())); + var outLen = thisLen + otherLen; + if (outLen > MAX_BYTELENGTH >>> alignof()) throw new Error(E_INVALIDLENGTH); + var out = NEWARRAY(outLen); var outStart = out.dataStart; var thisSize = thisLen << alignof(); if (isManaged()) { @@ -320,7 +322,7 @@ export class Array extends ArrayBufferView { map(callbackfn: (value: T, index: i32, array: Array) => U): Array { var length = this.length_; - var out = changetype>(runtime.newArray(length, alignof(), __runtime_id>())); + var out = NEWARRAY(length); var outStart = out.dataStart; for (let index = 0; index < min(length, this.length_); ++index) { let value = load(this.dataStart + (index << alignof())); @@ -346,7 +348,7 @@ export class Array extends ArrayBufferView { } filter(callbackfn: (value: T, index: i32, array: Array) => bool): Array { - var result = changetype>(runtime.newArray(0, alignof(), __runtime_id>())); + var result = NEWARRAY(0); for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) { let value = load(this.dataStart + (index << alignof())); if (callbackfn(value, index, this)) result.push(value); @@ -434,7 +436,7 @@ export class Array extends ArrayBufferView { begin = begin < 0 ? max(begin + length, 0) : min(begin, length); end = end < 0 ? max(end + length, 0) : min(end , length); length = max(end - begin, 0); - var slice = changetype>(runtime.newArray(length, alignof(), __runtime_id>())); + var slice = NEWARRAY(length); var sliceBase = slice.dataStart; var thisBase = this.dataStart + (begin << alignof()); if (isManaged()) { @@ -466,7 +468,7 @@ export class Array extends ArrayBufferView { var length = this.length_; start = start < 0 ? max(length + start, 0) : min(start, length); deleteCount = max(min(deleteCount, length - start), 0); - var result = changetype>(runtime.newArray(deleteCount, alignof(), __runtime_id>())); + var result = NEWARRAY(deleteCount); var resultStart = result.dataStart; var thisStart = this.dataStart; var thisBase = thisStart + (start << alignof()); diff --git a/std/assembly/builtins.ts b/std/assembly/builtins.ts index 5d192c72..fdb8482e 100644 --- a/std/assembly/builtins.ts +++ b/std/assembly/builtins.ts @@ -1715,3 +1715,36 @@ export namespace v8x16 { l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8 ): v128; } + +// @ts-ignore: decorator +@builtin +export declare function ERROR(message?: string): void; + +// @ts-ignore: decorator +@builtin +export declare function WARNING(message?: string): void; + +// @ts-ignore: decorator +@builtin +export declare function INFO(message?: string): void; + +// @ts-ignore: decorator +@external("env", "abort") +declare function abort( + message?: string | null, + fileName?: string | null, + lineNumber?: u32, + columnNumber?: u32 +): void; + +// @ts-ignore: decorator +@external("env", "trace") +declare function trace( + message: string, + n?: i32, + a0?: f64, + a1?: f64, + a2?: f64, + a3?: f64, + a4?: f64 +): void; diff --git a/std/assembly/common/README.md b/std/assembly/common/README.md new file mode 100644 index 00000000..10f2f98c --- /dev/null +++ b/std/assembly/common/README.md @@ -0,0 +1 @@ +These source files are used by both the standard library *and* compiler. Must remain portable. diff --git a/std/assembly/common/capability.ts b/std/assembly/common/capability.ts new file mode 100644 index 00000000..9b903515 --- /dev/null +++ b/std/assembly/common/capability.ts @@ -0,0 +1,9 @@ +/** Indicates module capabilities. */ +export const enum Capability { + /** No specific capabilities. */ + NONE = 0, + /** Uses WebAssembly with 64-bit pointers. */ + WASM64 = 1 << 0, + /** Garbage collector is present (full runtime header). */ + GC = 1 << 1 +} diff --git a/std/assembly/common/feature.ts b/std/assembly/common/feature.ts new file mode 100644 index 00000000..60b1563d --- /dev/null +++ b/std/assembly/common/feature.ts @@ -0,0 +1,15 @@ +/** Indicates specific features to activate. */ +export const enum Feature { + /** No additional features. */ + NONE = 0, + /** Sign extension operations. */ + SIGN_EXTENSION = 1 << 0, // see: https://github.com/WebAssembly/sign-extension-ops + /** Mutable global imports and exports. */ + MUTABLE_GLOBAL = 1 << 1, // see: https://github.com/WebAssembly/mutable-global + /** Bulk memory operations. */ + BULK_MEMORY = 1 << 2, // see: https://github.com/WebAssembly/bulk-memory-operations + /** SIMD types and operations. */ + SIMD = 1 << 3, // see: https://github.com/WebAssembly/simd + /** Threading and atomic operations. */ + THREADS = 1 << 4 // see: https://github.com/WebAssembly/threads +} diff --git a/std/assembly/common/rtti.ts b/std/assembly/common/rtti.ts new file mode 100644 index 00000000..fd754832 --- /dev/null +++ b/std/assembly/common/rtti.ts @@ -0,0 +1,60 @@ +// ╒═════════════════════ RTTI interpretation ═════════════════════╕ +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ ◄─ RTTI_BASE +// │ count │ +// ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤ +// │ reserved │ +// ╞═══════════════════════════════════════════════════════════════╡ ┐ +// │ RTTIData#flags [id=1] │ id=1..count +// ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤ +// │ RTTIData#base [id=1] │ +// ├───────────────────────────────────────────────────────────────┤ +// │ ... │ + +/** Runtime type information data structure. */ +@unmanaged +export class RTTIData { + flags: RTTIFlags; + base: u32; +} + +/** Runtime type information flags. */ +export const enum RTTIFlags { + /** No specific flags. */ + NONE = 0, + /** Type is an `Array`. */ + ARRAY = 1 << 0, + /** Type is a `Set`. */ + SET = 1 << 1, + /** Type is a `Map`. */ + MAP = 1 << 2, + /** Value alignment of 1 byte. */ + VALUE_ALIGN_0 = 1 << 3, + /** Value alignment of 2 bytes. */ + VALUE_ALIGN_1 = 1 << 4, + /** Value alignment of 4 bytes. */ + VALUE_ALIGN_2 = 1 << 5, + /** Value alignment of 8 bytes. */ + VALUE_ALIGN_3 = 1 << 6, + /** Value alignment of 16 bytes. */ + VALUE_ALIGN_4 = 1 << 7, + /** Value type is nullable. */ + VALUE_NULLABLE = 1 << 8, + /** Value type is managed. */ + VALUE_MANAGED = 1 << 9, + /** Key alignment of 1 byte. */ + KEY_ALIGN_0 = 1 << 10, + /** Key alignment of 2 bytes. */ + KEY_ALIGN_1 = 1 << 11, + /** Key alignment of 4 bytes. */ + KEY_ALIGN_2 = 1 << 12, + /** Key alignment of 8 bytes. */ + KEY_ALIGN_3 = 1 << 13, + /** Key alignment of 16 bytes. */ + KEY_ALIGN_4 = 1 << 14, + /** Key type is nullable. */ + KEY_NULLABLE = 1 << 15, + /** Key type is managed. */ + KEY_MANAGED = 1 << 16 +} diff --git a/std/assembly/common/target.ts b/std/assembly/common/target.ts new file mode 100644 index 00000000..9e8cf276 --- /dev/null +++ b/std/assembly/common/target.ts @@ -0,0 +1,9 @@ +/** Compilation target. */ +export enum Target { + /** WebAssembly with 32-bit pointers. */ + WASM32, + /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */ + WASM64, + /** Portable. */ + JS +} diff --git a/std/assembly/diagnostics.ts b/std/assembly/diagnostics.ts deleted file mode 100644 index 065364db..00000000 --- a/std/assembly/diagnostics.ts +++ /dev/null @@ -1,11 +0,0 @@ -// @ts-ignore: decorator -@builtin -export declare function ERROR(message?: string): void; - -// @ts-ignore: decorator -@builtin -export declare function WARNING(message?: string): void; - -// @ts-ignore: decorator -@builtin -export declare function INFO(message?: string): void; diff --git a/std/assembly/env.ts b/std/assembly/env.ts deleted file mode 100644 index 381e482c..00000000 --- a/std/assembly/env.ts +++ /dev/null @@ -1,16 +0,0 @@ -declare function abort( - message?: string | null, - fileName?: string | null, - lineNumber?: u32, - columnNumber?: u32 -): void; - -declare function trace( - message: string, - n?: i32, - a0?: f64, - a1?: f64, - a2?: f64, - a3?: f64, - a4?: f64 -): void; diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index 36f846cb..e276d0b8 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -1485,13 +1485,6 @@ interface TypedPropertyDescriptor { set?(value: T): void; } -/** Annotates an element as a program global. */ -declare function global( - target: any, - propertyKey: string, - descriptor: TypedPropertyDescriptor -): TypedPropertyDescriptor | void; - /** Annotates a method as a binary operator overload for the specified `token`. */ declare function operator(token: "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | @@ -1526,6 +1519,9 @@ declare namespace operator { ) => TypedPropertyDescriptor | void; } +/** Annotates an element as a program global. */ +declare function global(...args: any[]): any; + /** Annotates a class as being unmanaged with limited capabilities. */ declare function unmanaged(constructor: Function): void; diff --git a/std/assembly/runtime.ts b/std/assembly/runtime.ts index 3144ee71..0723159b 100644 --- a/std/assembly/runtime.ts +++ b/std/assembly/runtime.ts @@ -3,63 +3,18 @@ import { HEADER, HEADER_SIZE, allocate, register } from "./util/runtime"; import { E_NOTIMPLEMENTED } from "./util/error"; -import { memory } from "./memory"; import { ArrayBufferView } from "./arraybuffer"; +import { RTTIFlags, RTTIData } from "./common/rtti"; + +// @ts-ignore: decorator +@builtin +export declare const RTTI_BASE: usize; /** Gets the computed unique id of a class type. */ // @ts-ignore: decorator @builtin export declare function __runtime_id(): u32; -/** Tests if a managed class is the same as or a superclass of another. */ -// @ts-ignore: decorator -@builtin -export declare function __runtime_instanceof(id: u32, superId: u32): bool; - -/** Runtime flags. */ -const enum RuntimeFlags { // keep in sync with src/program.ts - NONE = 0, - /** Type is an `Array`. */ - ARRAY = 1 << 0, - /** Type is a `Set`. */ - SET = 1 << 1, - /** Type is a `Map`. */ - MAP = 1 << 2, - /** Value alignment of 1 byte. */ - VALUE_ALIGN_0 = 1 << 3, - /** Value alignment of 2 bytes. */ - VALUE_ALIGN_1 = 1 << 4, - /** Value alignment of 4 bytes. */ - VALUE_ALIGN_2 = 1 << 5, - /** Value alignment of 8 bytes. */ - VALUE_ALIGN_3 = 1 << 6, - /** Value alignment of 16 bytes. */ - VALUE_ALIGN_4 = 1 << 7, - /** Value type is nullable. */ - VALUE_NULLABLE = 1 << 8, - /** Value type is managed. */ - VALUE_MANAGED = 1 << 9, - /** Key alignment of 1 byte. */ - KEY_ALIGN_0 = 1 << 10, - /** Key alignment of 2 bytes. */ - KEY_ALIGN_1 = 1 << 11, - /** Key alignment of 4 bytes. */ - KEY_ALIGN_2 = 1 << 12, - /** Key alignment of 8 bytes. */ - KEY_ALIGN_3 = 1 << 13, - /** Key alignment of 16 bytes. */ - KEY_ALIGN_4 = 1 << 14, - /** Key type is nullable. */ - KEY_NULLABLE = 1 << 15, - /** Key type is managed. */ - KEY_MANAGED = 1 << 16 -} - -/** Gets the runtime flags of the managed type represented by the specified runtime id. */ -// @ts-ignore: decorator -@builtin -export declare function __runtime_flags(id: u32): RuntimeFlags; - /** Marks root objects when a tracing GC is present. */ // @ts-ignore: decorator @unsafe @builtin @@ -76,20 +31,24 @@ export class runtime { private constructor() { return unreachable(); } /** Determines whether a managed object is considered to be an instance of the class represented by the specified runtime id. */ - @unsafe - static instanceof(ref: usize, id: u32): bool { // keyword - return ref - ? __runtime_instanceof( - changetype
(ref - HEADER_SIZE).classId, - id - ) - : false; + static instanceof(ref: usize, superId: u32): bool { // keyword + var id = changetype
(ref - HEADER_SIZE).classId; + var ptr = RTTI_BASE; + if (id && id <= load(ptr)) { + do if (id == superId) return true; + while (id = changetype(ptr + id * offsetof()).base); + } + return false; } } export namespace runtime { - export function flags(id: u32): RuntimeFlags { - return __runtime_flags(id); + /** Gets the runtime flags of the managed type represented by the specified runtime id. */ + export function flags(id: u32): RTTIFlags { + var ptr = RTTI_BASE; + return !id || id > load(ptr) + ? unreachable() + : changetype(ptr + id * offsetof()).flags; } /** Allocates and registers, but doesn't initialize the data of, a new managed object of the specified kind. */ @@ -113,57 +72,36 @@ export namespace runtime { return newObject(byteLength, __runtime_id()); } - /** Allocates and registers, but doesn't initialize the data of, a new `Array` of the specified length and element alignment.*/ + /** Allocates and registers a new `Array` of the specified kind using the given backing buffer.*/ // @ts-ignore: decorator @unsafe - export function newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize { - // TODO: This API isn't great, but the compiler requires it for array literals anyway, - // that is when an array literal is encountered and its data is static, this function is - // called and the static buffer provided as `data`. This function can also be used to - // create typed arrays in that `Array` also implements `ArrayBufferView` but has an - // additional `.length_` property that remains unused overhead for typed arrays. - var array = register(allocate(offsetof()), id); - var bufferSize = length << alignLog2; - var buffer = register(allocate(bufferSize), __runtime_id()); + export function newArray(id: u32, buffer: usize): usize { + var flags = runtime.flags(id); // traps if invalid + var alignLog2 = (flags / RTTIFlags.VALUE_ALIGN_0) & 31; + var byteLength: i32; + if (!buffer) buffer = newArrayBuffer(byteLength = 0); + else byteLength = changetype(buffer).byteLength; + var array = newObject(id, offsetof()); changetype(array).data = changetype(buffer); // links changetype(array).dataStart = buffer; - changetype(array).dataLength = bufferSize; - store(changetype(array), length, offsetof("length_")); - if (data) memory.copy(buffer, data, bufferSize); - // TODO: a way to determine whether the array has managed elements that must be linked? + changetype(array).dataLength = byteLength; + store(changetype(array), byteLength >>> alignLog2, offsetof("length_")); + if (flags & RTTIFlags.VALUE_MANAGED) { + let cur = buffer; + let end = cur + byteLength; + while (cur < end) { + let ref = load(cur); + if (ref) { + if (isDefined(__ref_link)) __ref_link(ref, array); + else if (isDefined(__ref_retain)) __ref_retain(ref); + else assert(false); + } + cur += sizeof(); + } + } return array; } - // export function newArray2(id: u32, buffer: usize): usize { - // var flags = __runtime_flags(id); // traps if invalid - // var alignLog2 = (flags / RuntimeFlags.VALUE_ALIGN_0) & 31; - // var byteLength: i32; - // if (!buffer) { - // buffer = newArrayBuffer(byteLength = 0); - // } else { - // byteLength = changetype(buffer).byteLength; - // } - // var array = register(allocate(offsetof()), id); - // changetype(array).data = changetype(buffer); // links - // changetype(array).dataStart = buffer; - // changetype(array).dataLength = byteLength; - // store(changetype(array), byteLength >>> alignLog2, offsetof("length_")); - // if (flags & RuntimeFlags.VALUE_MANAGED) { - // let cur = buffer; - // let end = cur + byteLength; - // while (cur < end) { - // let ref = load(cur); - // if (ref) { - // if (isDefined(__ref_link)) __ref_link(ref, array); - // else if (isDefined(__ref_retain)) __ref_retain(ref); - // else assert(false); - // } - // cur += sizeof(); - // } - // } - // return array; - // } - /** Retains a managed object externally, making sure that it doesn't become collected. */ // @ts-ignore: decorator @unsafe diff --git a/std/assembly/runtime/arena.ts b/std/assembly/runtime/arena.ts index 9a31c7a4..4d869414 100644 --- a/std/assembly/runtime/arena.ts +++ b/std/assembly/runtime/arena.ts @@ -1 +1,3 @@ import "allocator/arena"; + +export { runtime as $ }; diff --git a/std/assembly/string.ts b/std/assembly/string.ts index e77c5f26..653e3471 100644 --- a/std/assembly/string.ts +++ b/std/assembly/string.ts @@ -1,10 +1,10 @@ /// import { MAX_SIZE_32 } from "./util/allocator"; -import { HEADER, HEADER_SIZE, allocate, register } from "./util/runtime"; +import { HEADER, HEADER_SIZE, allocate, register, NEWARRAY } from "./util/runtime"; import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./util/string"; import { E_INVALIDLENGTH } from "./util/error"; -import { runtime, __runtime_id } from "./runtime"; +import { __runtime_id } from "./runtime"; import { ArrayBufferView } from "./arraybuffer"; @sealed export abstract class String { @@ -362,16 +362,16 @@ import { ArrayBufferView } from "./arraybuffer"; split(separator: String | null = null, limit: i32 = i32.MAX_VALUE): String[] { assert(this !== null); - if (!limit) return changetype(runtime.newArray(0, alignof(), __runtime_id())); + if (!limit) return NEWARRAY(0); if (separator === null) return [this]; var length: isize = this.length; var sepLen: isize = separator.length; if (limit < 0) limit = i32.MAX_VALUE; if (!sepLen) { - if (!length) return changetype(runtime.newArray(0, alignof(), __runtime_id())); + if (!length) return NEWARRAY(0); // split by chars length = min(length, limit); - let result = changetype(runtime.newArray(length, alignof(), __runtime_id())); + let result = NEWARRAY(length); let resultStart = changetype(result).dataStart; for (let i: isize = 0; i < length; ++i) { let charStr = allocate(2); @@ -385,11 +385,11 @@ import { ArrayBufferView } from "./arraybuffer"; } return result; } else if (!length) { - let result = changetype(runtime.newArray(1, alignof(), __runtime_id())); + let result = NEWARRAY(1); store(changetype(result).dataStart, ""); // no need to register/link return result; } - var result = changetype(runtime.newArray(0, alignof(), __runtime_id())); + var result = NEWARRAY(0); var end = 0, start = 0, i = 0; while ((end = this.indexOf(separator!, start)) != -1) { let len = end - start; @@ -404,7 +404,7 @@ import { ArrayBufferView } from "./arraybuffer"; start = end + sepLen; } if (!start) { - let result = changetype(runtime.newArray(1, alignof(), __runtime_id())); + let result = NEWARRAY(1); unchecked(result[0] = this); return result; } diff --git a/std/assembly/util/runtime.ts b/std/assembly/util/runtime.ts index 09b4ab5d..d2f23b48 100644 --- a/std/assembly/util/runtime.ts +++ b/std/assembly/util/runtime.ts @@ -1,4 +1,7 @@ import { AL_MASK, MAX_SIZE_32 } from "./allocator"; +import { __runtime_id } from "../runtime"; +import { Array } from "../array"; +import { ArrayBufferView } from "../arraybuffer"; /** * The common runtime object header prepended to all managed objects. Has a size of 16 bytes in @@ -136,22 +139,22 @@ export function register(ref: usize, id: u32): usize { return ref; } -/** Allocates and registers, but doesn't initialize the data of, a new `Array` of the specified length and element alignment. */ // @ts-ignore: decorator @unsafe -export function newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize { - // TODO: This API isn't great, but the compiler requires it for array literals anyway, - // that is when an array literal is encountered and its data is static, this function is - // called and the static buffer provided as `data`. This function can also be used to - // create typed arrays in that `Array` also implements `ArrayBufferView` but has an - // additional `.length_` property that remains unused overhead for typed arrays. - var array = newObject(offsetof(), id); - var bufferSize = length << alignLog2; - var buffer = newArrayBuffer(bufferSize); +export function makeArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize { + var array = register(allocate(offsetof()), id); + var bufferSize = length << alignLog2; + var buffer = register(allocate(bufferSize), __runtime_id()); changetype(array).data = changetype(buffer); // links changetype(array).dataStart = buffer; changetype(array).dataLength = bufferSize; store(changetype(array), length, offsetof("length_")); - if (data) memory.copy(buffer, data, bufferSize); + if (data) memory.copy(buffer, data, bufferSize); return array; } + +// @ts-ignore: decorator +@inline +export function NEWARRAY(length: i32): Array { + return changetype>(makeArray(length, alignof(), __runtime_id>(), 0)); +} diff --git a/std/portable/index.d.ts b/std/portable/index.d.ts index ebb098ab..b42237c2 100644 --- a/std/portable/index.d.ts +++ b/std/portable/index.d.ts @@ -644,3 +644,6 @@ declare namespace console { /** @deprecated */ function log(message: string): void; } + +/** Annotates a class as being unmanaged with limited capabilities. */ +declare function unmanaged(constructor: Function): void; diff --git a/std/portable/index.js b/std/portable/index.js index 06c0a4ad..1c8173ce 100644 --- a/std/portable/index.js +++ b/std/portable/index.js @@ -2,7 +2,7 @@ var globalScope = typeof window !== "undefined" && window || typeof global !== "undefined" && global || self; -globalScope.ASC_TARGET = 0; // JS +globalScope.ASC_TARGET = 2; // Target.JS globalScope.ASC_NO_ASSERT = false; globalScope.ASC_MEMORY_BASE = 0; globalScope.ASC_OPTIMIZE_LEVEL = 3; @@ -311,3 +311,5 @@ globalScope["store"] = globalScope["__store"] || function store(ptr, value, offs globalScope["load"] = globalScope["__load"] || function load(ptr, offset) { return HEAP[(ptr | 0) + (offset | 0)]; }; + +globalScope["unmanaged"] = function() {}; diff --git a/tests/compiler/abi.optimized.wat b/tests/compiler/abi.optimized.wat index 2bfee2fa..4614520e 100644 --- a/tests/compiler/abi.optimized.wat +++ b/tests/compiler/abi.optimized.wat @@ -2,15 +2,12 @@ (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s") (global $abi/condition (mut i32) (i32.const 0)) (global $abi/y (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "exported" (func $abi/exported)) (export "exportedExported" (func $abi/exported)) (export "exportedInternal" (func $abi/exported)) @@ -29,7 +26,7 @@ i32.const 16 i32.const 65 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/abi.untouched.wat b/tests/compiler/abi.untouched.wat index 7271f11b..42710bfe 100644 --- a/tests/compiler/abi.untouched.wat +++ b/tests/compiler/abi.untouched.wat @@ -2,16 +2,14 @@ (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $abi/condition (mut i32) (i32.const 0)) (global $abi/y (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 28)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "exported" (func $abi/exported)) (export "exportedExported" (func $abi/exportedExported)) (export "exportedInternal" (func $abi/exportedInternal)) @@ -42,7 +40,7 @@ i32.const 16 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -81,7 +79,7 @@ i32.const 16 i32.const 45 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -112,7 +110,7 @@ i32.const 16 i32.const 58 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -131,7 +129,7 @@ i32.const 16 i32.const 65 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -148,7 +146,7 @@ i32.const 16 i32.const 72 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -163,7 +161,7 @@ i32.const 16 i32.const 74 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -176,7 +174,7 @@ i32.const 16 i32.const 77 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -189,7 +187,7 @@ i32.const 16 i32.const 79 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end diff --git a/tests/compiler/asc-constants.optimized.wat b/tests/compiler/asc-constants.optimized.wat index 86b388ad..e2acb0a3 100644 --- a/tests/compiler/asc-constants.optimized.wat +++ b/tests/compiler/asc-constants.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/asc-constants.untouched.wat b/tests/compiler/asc-constants.untouched.wat index 1ccafb9b..3edd831f 100644 --- a/tests/compiler/asc-constants.untouched.wat +++ b/tests/compiler/asc-constants.untouched.wat @@ -13,12 +13,10 @@ (global $~lib/ASC_FEATURE_BULK_MEMORY i32 (i32.const 0)) (global $~lib/ASC_FEATURE_SIMD i32 (i32.const 0)) (global $~lib/ASC_FEATURE_THREADS i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:asc-constants (; 0 ;) (type $FUNCSIG$v) - i32.const 1 + i32.const 0 drop i32.const 0 drop diff --git a/tests/compiler/assert-nonnull.json b/tests/compiler/assert-nonnull.json index 85b9ce0f..b1da366f 100644 --- a/tests/compiler/assert-nonnull.json +++ b/tests/compiler/assert-nonnull.json @@ -1,5 +1,5 @@ { "asc_flags": [ - "--runtime arena" + "--runtime none" ] } \ No newline at end of file diff --git a/tests/compiler/assert-nonnull.optimized.wat b/tests/compiler/assert-nonnull.optimized.wat index 91afd2e4..b3697678 100644 --- a/tests/compiler/assert-nonnull.optimized.wat +++ b/tests/compiler/assert-nonnull.optimized.wat @@ -3,14 +3,13 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 8) "\10\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/argc (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "testVar" (func $assert-nonnull/testVar)) (export "testObj" (func $assert-nonnull/testObj)) (export "testProp" (func $assert-nonnull/testProp)) @@ -60,7 +59,7 @@ i32.const 16 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -74,7 +73,7 @@ i32.const 16 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -102,7 +101,7 @@ i32.const 16 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 diff --git a/tests/compiler/assert-nonnull.ts b/tests/compiler/assert-nonnull.ts index b50dcb9a..6e4eed6d 100644 --- a/tests/compiler/assert-nonnull.ts +++ b/tests/compiler/assert-nonnull.ts @@ -1,3 +1,5 @@ +import "allocator/arena"; + export function testVar(n: Error | null): Error { return n!; } diff --git a/tests/compiler/assert-nonnull.untouched.wat b/tests/compiler/assert-nonnull.untouched.wat index 21c264d2..4dce2382 100644 --- a/tests/compiler/assert-nonnull.untouched.wat +++ b/tests/compiler/assert-nonnull.untouched.wat @@ -4,15 +4,13 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 44)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "testVar" (func $assert-nonnull/testVar)) (export "testObj" (func $assert-nonnull/testObj)) (export "testProp" (func $assert-nonnull/testProp)) @@ -76,7 +74,7 @@ i32.const 16 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -90,7 +88,7 @@ i32.const 16 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -130,7 +128,7 @@ i32.const 16 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 diff --git a/tests/compiler/assert.optimized.wat b/tests/compiler/assert.optimized.wat index f2e82a1c..0ed844f1 100644 --- a/tests/compiler/assert.optimized.wat +++ b/tests/compiler/assert.optimized.wat @@ -1,12 +1,9 @@ (module (type $FUNCSIG$v (func)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\12\00\00\00a\00s\00s\00e\00r\00t\00.\00t\00s") - (data (i32.const 40) "\01\00\00\00\18\00\00\00m\00u\00s\00t\00 \00b\00e\00 \00t\00r\00u\00e") - (table $0 1 funcref) - (elem (i32.const 0) $start) + (data (i32.const 8) "\10\00\00\00\12\00\00\00a\00s\00s\00e\00r\00t\00.\00t\00s") + (data (i32.const 40) "\10\00\00\00\18\00\00\00m\00u\00s\00t\00 \00b\00e\00 \00t\00r\00u\00e") (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/assert.untouched.wat b/tests/compiler/assert.untouched.wat index 8ab49937..8054fc68 100644 --- a/tests/compiler/assert.untouched.wat +++ b/tests/compiler/assert.untouched.wat @@ -1,15 +1,13 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\12\00\00\00a\00s\00s\00e\00r\00t\00.\00t\00s\00") - (data (i32.const 40) "\01\00\00\00\18\00\00\00m\00u\00s\00t\00 \00b\00e\00 \00t\00r\00u\00e\00") + (data (i32.const 8) "\10\00\00\00\12\00\00\00a\00s\00s\00e\00r\00t\00.\00t\00s\00") + (data (i32.const 40) "\10\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/memory/HEAP_BASE i32 (i32.const 72)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:assert (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -20,7 +18,7 @@ i32.const 16 i32.const 1 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -30,7 +28,7 @@ i32.const 16 i32.const 2 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -42,7 +40,7 @@ i32.const 16 i32.const 3 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -53,7 +51,7 @@ i32.const 16 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -65,7 +63,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4294967296 @@ -75,7 +73,7 @@ i32.const 16 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4294967296 @@ -87,7 +85,7 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -99,7 +97,7 @@ i32.const 16 i32.const 10 i32.const 5 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.eqz diff --git a/tests/compiler/binary.optimized.wat b/tests/compiler/binary.optimized.wat index a1e8db6a..cc70e25a 100644 --- a/tests/compiler/binary.optimized.wat +++ b/tests/compiler/binary.optimized.wat @@ -3,15 +3,12 @@ (type $FUNCSIG$dd (func (param f64) (result f64))) (type $FUNCSIG$ff (func (param f32) (result f32))) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $binary/b (mut i32) (i32.const 0)) (global $binary/i (mut i32) (i32.const 0)) (global $binary/I (mut i64) (i64.const 0)) (global $binary/f (mut f32) (f32.const 0)) (global $binary/F (mut f64) (f64.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/math/NativeMath.pow (; 0 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) (local $1 i32) diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index 19520847..effa386c 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -14,9 +14,7 @@ (global $binary/I (mut i64) (i64.const 0)) (global $binary/f (mut f32) (f32.const 0)) (global $binary/F (mut f64) (f64.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/math/NativeMath.scalbn (; 0 ;) (type $FUNCSIG$ddi) (param $0 f64) (param $1 i32) (result f64) (local $2 f64) diff --git a/tests/compiler/bool.optimized.wat b/tests/compiler/bool.optimized.wat index cc711a85..581beabc 100644 --- a/tests/compiler/bool.optimized.wat +++ b/tests/compiler/bool.optimized.wat @@ -1,11 +1,9 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s") (global $bool/i (mut i32) (i32.const 2)) (global $bool/I (mut i64) (i64.const 2)) (global $bool/u (mut i32) (i32.const 2)) @@ -14,7 +12,6 @@ (global $bool/F (mut f64) (f64.const 2)) (global $bool/uu (mut i32) (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:bool (; 1 ;) (type $FUNCSIG$v) global.get $bool/i @@ -27,7 +24,7 @@ i32.const 16 i32.const 2 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/I @@ -40,7 +37,7 @@ i32.const 16 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/u @@ -53,7 +50,7 @@ i32.const 16 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/U @@ -66,7 +63,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/f @@ -79,7 +76,7 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/F @@ -92,7 +89,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/uu @@ -105,7 +102,7 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/bool.untouched.wat b/tests/compiler/bool.untouched.wat index 4ef282c1..c2b6014d 100644 --- a/tests/compiler/bool.untouched.wat +++ b/tests/compiler/bool.untouched.wat @@ -1,9 +1,9 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $bool/i (mut i32) (i32.const 2)) @@ -13,9 +13,7 @@ (global $bool/f (mut f32) (f32.const 2)) (global $bool/F (mut f64) (f64.const 2)) (global $bool/uu (mut i32) (i32.const 2)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 32)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:bool (; 1 ;) (type $FUNCSIG$v) global.get $bool/i @@ -29,7 +27,7 @@ i32.const 16 i32.const 2 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/I @@ -43,7 +41,7 @@ i32.const 16 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/u @@ -57,7 +55,7 @@ i32.const 16 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/U @@ -71,7 +69,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/f @@ -85,7 +83,7 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/F @@ -99,7 +97,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $bool/uu @@ -113,7 +111,7 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/builtins.optimized.wat b/tests/compiler/builtins.optimized.wat index c4c30828..ada687b4 100644 --- a/tests/compiler/builtins.optimized.wat +++ b/tests/compiler/builtins.optimized.wat @@ -2,11 +2,11 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s") - (data (i32.const 40) "\01") - (data (i32.const 48) "\01\00\00\00\06\00\00\00a\00b\00c") + (data (i32.const 8) "\10\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s") + (data (i32.const 40) "\10") + (data (i32.const 48) "\10\00\00\00\06\00\00\00a\00b\00c") (table $0 2 funcref) (elem (i32.const 0) $builtins/test $start:builtins~anonymous|0) (global $builtins/b (mut i32) (i32.const 0)) @@ -19,7 +19,6 @@ (global $builtins/s (mut i32) (i32.const 0)) (global $builtins/fn (mut i32) (i32.const 1)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $builtins/test)) (start $start) (func $start:builtins~anonymous|0 (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -46,7 +45,7 @@ i32.const 16 i32.const 67 i32.const 19 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -59,7 +58,7 @@ i32.const 16 i32.const 68 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -72,7 +71,7 @@ i32.const 16 i32.const 69 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 63 @@ -95,7 +94,7 @@ i32.const 16 i32.const 85 i32.const 19 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 2 @@ -108,7 +107,7 @@ i32.const 16 i32.const 86 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -121,7 +120,7 @@ i32.const 16 i32.const 87 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 diff --git a/tests/compiler/builtins.untouched.wat b/tests/compiler/builtins.untouched.wat index 05cdea32..bc658376 100644 --- a/tests/compiler/builtins.untouched.wat +++ b/tests/compiler/builtins.untouched.wat @@ -4,11 +4,11 @@ (type $FUNCSIG$id (func (param f64) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00") - (data (i32.const 40) "\01\00\00\00\00\00\00\00") - (data (i32.const 48) "\01\00\00\00\06\00\00\00a\00b\00c\00") + (data (i32.const 8) "\10\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00") + (data (i32.const 40) "\10\00\00\00\00\00\00\00") + (data (i32.const 48) "\10\00\00\00\06\00\00\00a\00b\00c\00") (table $0 2 funcref) (elem (i32.const 0) $null $start:builtins~anonymous|0) (global $builtins/b (mut i32) (i32.const 0)) @@ -51,9 +51,7 @@ (global $~lib/builtins/f64.MIN_SAFE_INTEGER f64 (f64.const -9007199254740991)) (global $~lib/builtins/f64.MAX_SAFE_INTEGER f64 (f64.const 9007199254740991)) (global $~lib/builtins/f64.EPSILON f64 (f64.const 2.220446049250313e-16)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 64)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $builtins/test)) (start $start) (func $~lib/builtins/isNaN (; 1 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) @@ -95,7 +93,7 @@ i32.const 16 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -106,7 +104,7 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -116,7 +114,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -127,7 +125,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -137,7 +135,7 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -148,7 +146,7 @@ i32.const 16 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -158,7 +156,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -169,7 +167,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -179,7 +177,7 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -189,7 +187,7 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -199,7 +197,7 @@ i32.const 16 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -210,7 +208,7 @@ i32.const 16 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -220,7 +218,7 @@ i32.const 16 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -231,7 +229,7 @@ i32.const 16 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -241,7 +239,7 @@ i32.const 16 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -252,7 +250,7 @@ i32.const 16 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -262,7 +260,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -273,7 +271,7 @@ i32.const 16 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -283,7 +281,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -294,7 +292,7 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -304,7 +302,7 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -315,7 +313,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -325,7 +323,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -335,7 +333,7 @@ i32.const 16 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -346,7 +344,7 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -356,7 +354,7 @@ i32.const 16 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -366,7 +364,7 @@ i32.const 16 i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -376,7 +374,7 @@ i32.const 16 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -386,7 +384,7 @@ i32.const 16 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -397,7 +395,7 @@ i32.const 16 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -407,7 +405,7 @@ i32.const 16 i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -418,7 +416,7 @@ i32.const 16 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -428,7 +426,7 @@ i32.const 16 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -439,7 +437,7 @@ i32.const 16 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -449,7 +447,7 @@ i32.const 16 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -460,7 +458,7 @@ i32.const 16 i32.const 45 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -470,7 +468,7 @@ i32.const 16 i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -481,7 +479,7 @@ i32.const 16 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -565,7 +563,7 @@ i32.const 16 i32.const 67 i32.const 19 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -586,7 +584,7 @@ i32.const 16 i32.const 68 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -607,7 +605,7 @@ i32.const 16 i32.const 69 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -673,7 +671,7 @@ i32.const 16 i32.const 85 i32.const 19 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -694,7 +692,7 @@ i32.const 16 i32.const 86 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -715,7 +713,7 @@ i32.const 16 i32.const 87 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -762,7 +760,7 @@ i32.const 16 i32.const 104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -775,7 +773,7 @@ i32.const 16 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.25 @@ -788,7 +786,7 @@ i32.const 16 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -801,7 +799,7 @@ i32.const 16 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -815,7 +813,7 @@ i32.const 16 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -828,7 +826,7 @@ i32.const 16 i32.const 109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -919,7 +917,7 @@ i32.const 16 i32.const 140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -932,7 +930,7 @@ i32.const 16 i32.const 141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.25 @@ -945,7 +943,7 @@ i32.const 16 i32.const 142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -958,7 +956,7 @@ i32.const 16 i32.const 143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -972,7 +970,7 @@ i32.const 16 i32.const 144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -985,7 +983,7 @@ i32.const 16 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1285,7 +1283,7 @@ i32.const 16 i32.const 264 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -1297,7 +1295,7 @@ i32.const 16 i32.const 265 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -1309,7 +1307,7 @@ i32.const 16 i32.const 266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -1321,7 +1319,7 @@ i32.const 16 i32.const 267 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -1335,7 +1333,7 @@ i32.const 16 i32.const 269 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -1347,7 +1345,7 @@ i32.const 16 i32.const 270 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -1359,7 +1357,7 @@ i32.const 16 i32.const 271 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -1371,7 +1369,7 @@ i32.const 16 i32.const 272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -1383,7 +1381,7 @@ i32.const 16 i32.const 273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -1397,7 +1395,7 @@ i32.const 16 i32.const 275 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -1409,7 +1407,7 @@ i32.const 16 i32.const 276 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1421,7 +1419,7 @@ i32.const 16 i32.const 278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -1433,7 +1431,7 @@ i32.const 16 i32.const 279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -1445,7 +1443,7 @@ i32.const 16 i32.const 280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -1457,7 +1455,7 @@ i32.const 16 i32.const 281 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1469,7 +1467,7 @@ i32.const 16 i32.const 282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1481,7 +1479,7 @@ i32.const 16 i32.const 285 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -1493,7 +1491,7 @@ i32.const 16 i32.const 286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1505,7 +1503,7 @@ i32.const 16 i32.const 287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -1517,7 +1515,7 @@ i32.const 16 i32.const 288 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1529,7 +1527,7 @@ i32.const 16 i32.const 290 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -1541,7 +1539,7 @@ i32.const 16 i32.const 291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1553,7 +1551,7 @@ i32.const 16 i32.const 293 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1564,7 +1562,7 @@ i32.const 16 i32.const 294 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1575,7 +1573,7 @@ i32.const 16 i32.const 295 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1587,7 +1585,7 @@ i32.const 16 i32.const 296 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -1599,7 +1597,7 @@ i32.const 16 i32.const 297 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1611,7 +1609,7 @@ i32.const 16 i32.const 298 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1623,7 +1621,7 @@ i32.const 16 i32.const 299 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -1634,7 +1632,7 @@ i32.const 16 i32.const 300 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -1645,7 +1643,7 @@ i32.const 16 i32.const 301 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/i8.MIN_VALUE @@ -1661,7 +1659,7 @@ i32.const 16 i32.const 314 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/i8.MAX_VALUE @@ -1673,7 +1671,7 @@ i32.const 16 i32.const 315 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/i16.MIN_VALUE @@ -1689,7 +1687,7 @@ i32.const 16 i32.const 316 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/i16.MAX_VALUE @@ -1701,7 +1699,7 @@ i32.const 16 i32.const 317 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/i32.MIN_VALUE @@ -1713,7 +1711,7 @@ i32.const 16 i32.const 318 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/i32.MAX_VALUE @@ -1725,7 +1723,7 @@ i32.const 16 i32.const 319 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/i64.MIN_VALUE @@ -1737,7 +1735,7 @@ i32.const 16 i32.const 320 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/i64.MAX_VALUE @@ -1749,7 +1747,7 @@ i32.const 16 i32.const 321 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/u8.MIN_VALUE @@ -1761,7 +1759,7 @@ i32.const 16 i32.const 323 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/u8.MAX_VALUE @@ -1773,7 +1771,7 @@ i32.const 16 i32.const 324 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/u16.MIN_VALUE @@ -1785,7 +1783,7 @@ i32.const 16 i32.const 325 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/u16.MAX_VALUE @@ -1797,7 +1795,7 @@ i32.const 16 i32.const 326 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/u32.MIN_VALUE @@ -1809,7 +1807,7 @@ i32.const 16 i32.const 327 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/u32.MAX_VALUE @@ -1821,7 +1819,7 @@ i32.const 16 i32.const 328 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/u64.MIN_VALUE @@ -1833,7 +1831,7 @@ i32.const 16 i32.const 329 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/u64.MAX_VALUE @@ -1845,7 +1843,7 @@ i32.const 16 i32.const 330 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/bool.MIN_VALUE @@ -1857,7 +1855,7 @@ i32.const 16 i32.const 331 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/bool.MIN_VALUE @@ -1869,7 +1867,7 @@ i32.const 16 i32.const 331 i32.const 29 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/bool.MAX_VALUE @@ -1881,7 +1879,7 @@ i32.const 16 i32.const 332 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/bool.MAX_VALUE @@ -1893,7 +1891,7 @@ i32.const 16 i32.const 332 i32.const 29 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MIN_NORMAL_VALUE @@ -1905,7 +1903,7 @@ i32.const 16 i32.const 334 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MIN_VALUE @@ -1917,7 +1915,7 @@ i32.const 16 i32.const 335 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_VALUE @@ -1929,7 +1927,7 @@ i32.const 16 i32.const 336 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MIN_SAFE_INTEGER @@ -1941,7 +1939,7 @@ i32.const 16 i32.const 337 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_SAFE_INTEGER @@ -1953,7 +1951,7 @@ i32.const 16 i32.const 338 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.EPSILON @@ -1965,7 +1963,7 @@ i32.const 16 i32.const 339 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_NORMAL_VALUE @@ -1977,7 +1975,7 @@ i32.const 16 i32.const 341 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_VALUE @@ -1989,7 +1987,7 @@ i32.const 16 i32.const 342 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE @@ -2001,7 +1999,7 @@ i32.const 16 i32.const 343 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_SAFE_INTEGER @@ -2013,7 +2011,7 @@ i32.const 16 i32.const 344 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_SAFE_INTEGER @@ -2025,7 +2023,7 @@ i32.const 16 i32.const 345 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.EPSILON @@ -2037,7 +2035,7 @@ i32.const 16 i32.const 346 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 diff --git a/tests/compiler/call-inferred.optimized.wat b/tests/compiler/call-inferred.optimized.wat index 7bc28d53..4592fd12 100644 --- a/tests/compiler/call-inferred.optimized.wat +++ b/tests/compiler/call-inferred.optimized.wat @@ -1,11 +1,8 @@ (module (type $FUNCSIG$v (func)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $start) + (data (i32.const 8) "\10\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s") (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/call-inferred.untouched.wat b/tests/compiler/call-inferred.untouched.wat index cf45f819..e2053fda 100644 --- a/tests/compiler/call-inferred.untouched.wat +++ b/tests/compiler/call-inferred.untouched.wat @@ -4,14 +4,12 @@ (type $FUNCSIG$dd (func (param f64) (result f64))) (type $FUNCSIG$ff (func (param f32) (result f32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s\00") + (data (i32.const 8) "\10\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/memory/HEAP_BASE i32 (i32.const 48)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $call-inferred/foo (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -36,7 +34,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 42 @@ -49,7 +47,7 @@ i32.const 16 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 42 @@ -62,7 +60,7 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 42 @@ -75,7 +73,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/call-optional.optimized.wat b/tests/compiler/call-optional.optimized.wat index e8313e40..58f70b73 100644 --- a/tests/compiler/call-optional.optimized.wat +++ b/tests/compiler/call-optional.optimized.wat @@ -2,15 +2,14 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\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 8) "\10\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s") (table $0 2 funcref) (elem (i32.const 0) $null $call-optional/opt|trampoline) (global $~lib/argc (mut i32) (i32.const 0)) (global $call-optional/optIndirect (mut i32) (i32.const 1)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $call-optional/opt|trampoline (; 1 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 @@ -68,7 +67,7 @@ i32.const 16 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -106,7 +105,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -121,7 +120,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -138,7 +137,7 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -155,7 +154,7 @@ i32.const 16 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/call-optional.untouched.wat b/tests/compiler/call-optional.untouched.wat index 63db1a24..9b15b88d 100644 --- a/tests/compiler/call-optional.untouched.wat +++ b/tests/compiler/call-optional.untouched.wat @@ -2,16 +2,14 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\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 8) "\10\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s\00") (table $0 2 funcref) (elem (i32.const 0) $null $call-optional/opt|trampoline) (global $~lib/argc (mut i32) (i32.const 0)) (global $call-optional/optIndirect (mut i32) (i32.const 1)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 48)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $call-optional/opt (; 1 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 @@ -60,7 +58,7 @@ i32.const 16 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -79,7 +77,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -94,7 +92,7 @@ i32.const 16 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -114,7 +112,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -134,7 +132,7 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -154,7 +152,7 @@ i32.const 16 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/call-super.json b/tests/compiler/call-super.json index 85b9ce0f..b1da366f 100644 --- a/tests/compiler/call-super.json +++ b/tests/compiler/call-super.json @@ -1,5 +1,5 @@ { "asc_flags": [ - "--runtime arena" + "--runtime none" ] } \ No newline at end of file diff --git a/tests/compiler/call-super.optimized.wat b/tests/compiler/call-super.optimized.wat index 1ff8ff90..7c78e198 100644 --- a/tests/compiler/call-super.optimized.wat +++ b/tests/compiler/call-super.optimized.wat @@ -4,16 +4,13 @@ (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 56) "\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 56) "\10\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -106,9 +103,9 @@ if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -121,9 +118,9 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -137,7 +134,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -151,9 +148,9 @@ if i32.const 0 i32.const 64 - i32.const 6 + i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -162,7 +159,7 @@ (local $0 i32) i32.const 8 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register call $call-super/A#constructor local.tee $0 @@ -175,9 +172,9 @@ if i32.const 0 i32.const 64 - i32.const 15 + i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -187,9 +184,9 @@ if i32.const 0 i32.const 64 - i32.const 16 + i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -204,9 +201,9 @@ if i32.const 0 i32.const 64 - i32.const 22 + i32.const 24 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -216,9 +213,9 @@ if i32.const 0 i32.const 64 - i32.const 23 + i32.const 25 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -226,14 +223,14 @@ (local $0 i32) i32.const 8 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 20 call $~lib/util/runtime/register local.tee $0 i32.eqz if i32.const 4 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 19 call $~lib/util/runtime/register local.set $0 end @@ -250,9 +247,9 @@ if i32.const 0 i32.const 64 - i32.const 38 + i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -262,9 +259,9 @@ if i32.const 0 i32.const 64 - i32.const 39 + i32.const 41 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -279,9 +276,9 @@ if i32.const 0 i32.const 64 - i32.const 45 + i32.const 47 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -291,9 +288,9 @@ if i32.const 0 i32.const 64 - i32.const 46 + i32.const 48 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -303,7 +300,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 21 call $~lib/util/runtime/register local.set $0 end @@ -317,9 +314,9 @@ if i32.const 0 i32.const 64 - i32.const 56 + i32.const 58 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -328,7 +325,7 @@ (local $0 i32) i32.const 8 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 22 call $~lib/util/runtime/register call $call-super/E#constructor local.tee $0 @@ -341,9 +338,9 @@ if i32.const 0 i32.const 64 - i32.const 66 + i32.const 68 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -353,9 +350,9 @@ if i32.const 0 i32.const 64 - i32.const 67 + i32.const 69 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -363,14 +360,14 @@ (local $0 i32) i32.const 8 call $~lib/util/runtime/allocate - i32.const 9 + i32.const 24 call $~lib/util/runtime/register local.tee $0 i32.eqz if i32.const 4 call $~lib/util/runtime/allocate - i32.const 8 + i32.const 23 call $~lib/util/runtime/register local.set $0 end @@ -394,9 +391,9 @@ if i32.const 0 i32.const 64 - i32.const 84 + i32.const 86 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -406,9 +403,9 @@ if i32.const 0 i32.const 64 - i32.const 85 + i32.const 87 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -416,14 +413,14 @@ (local $0 i32) i32.const 8 call $~lib/util/runtime/allocate - i32.const 11 + i32.const 26 call $~lib/util/runtime/register local.tee $0 i32.eqz if i32.const 4 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 25 call $~lib/util/runtime/register local.set $0 end @@ -447,9 +444,9 @@ if i32.const 0 i32.const 64 - i32.const 104 + i32.const 106 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -459,9 +456,9 @@ if i32.const 0 i32.const 64 - i32.const 105 + i32.const 107 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/call-super.ts b/tests/compiler/call-super.ts index aaa5a107..4145cbce 100644 --- a/tests/compiler/call-super.ts +++ b/tests/compiler/call-super.ts @@ -1,3 +1,5 @@ +import "allocator/arena"; + // both constructors present class A { diff --git a/tests/compiler/call-super.untouched.wat b/tests/compiler/call-super.untouched.wat index 6bb38cec..8d93e727 100644 --- a/tests/compiler/call-super.untouched.wat +++ b/tests/compiler/call-super.untouched.wat @@ -3,10 +3,10 @@ (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))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 56) "\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 56) "\10\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/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -16,7 +16,6 @@ (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/memory/HEAP_BASE i32 (i32.const 92)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -139,9 +138,9 @@ if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -156,9 +155,9 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -173,7 +172,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -189,9 +188,9 @@ if i32.const 0 i32.const 64 - i32.const 6 + i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -203,7 +202,7 @@ else i32.const 8 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register end call $call-super/A#constructor @@ -219,9 +218,9 @@ if i32.const 0 i32.const 64 - i32.const 15 + i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -232,9 +231,9 @@ if i32.const 0 i32.const 64 - i32.const 16 + i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -252,9 +251,9 @@ if i32.const 0 i32.const 64 - i32.const 22 + i32.const 24 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -265,9 +264,9 @@ if i32.const 0 i32.const 64 - i32.const 23 + i32.const 25 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -277,7 +276,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 19 call $~lib/util/runtime/register local.set $0 end @@ -293,7 +292,7 @@ else i32.const 8 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 20 call $~lib/util/runtime/register end call $call-super/C#constructor @@ -309,9 +308,9 @@ if i32.const 0 i32.const 64 - i32.const 38 + i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -322,9 +321,9 @@ if i32.const 0 i32.const 64 - i32.const 39 + i32.const 41 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -342,9 +341,9 @@ if i32.const 0 i32.const 64 - i32.const 45 + i32.const 47 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -355,9 +354,9 @@ if i32.const 0 i32.const 64 - i32.const 46 + i32.const 48 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -368,7 +367,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 21 call $~lib/util/runtime/register local.set $0 end @@ -384,9 +383,9 @@ if i32.const 0 i32.const 64 - i32.const 56 + i32.const 58 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -397,7 +396,7 @@ if i32.const 8 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 22 call $~lib/util/runtime/register local.set $0 end @@ -422,9 +421,9 @@ if i32.const 0 i32.const 64 - i32.const 66 + i32.const 68 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -435,9 +434,9 @@ if i32.const 0 i32.const 64 - i32.const 67 + i32.const 69 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -447,7 +446,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 8 + i32.const 23 call $~lib/util/runtime/register local.set $0 end @@ -462,7 +461,7 @@ if i32.const 8 call $~lib/util/runtime/allocate - i32.const 9 + i32.const 24 call $~lib/util/runtime/register local.set $0 end @@ -487,9 +486,9 @@ if i32.const 0 i32.const 64 - i32.const 84 + i32.const 86 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -500,9 +499,9 @@ if i32.const 0 i32.const 64 - i32.const 85 + i32.const 87 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -512,7 +511,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 25 call $~lib/util/runtime/register local.set $0 end @@ -527,7 +526,7 @@ if i32.const 8 call $~lib/util/runtime/allocate - i32.const 11 + i32.const 26 call $~lib/util/runtime/register local.set $0 end @@ -552,9 +551,9 @@ if i32.const 0 i32.const 64 - i32.const 104 + i32.const 106 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -565,9 +564,9 @@ if i32.const 0 i32.const 64 - i32.const 105 + i32.const 107 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/class-extends.json b/tests/compiler/class-extends.json index 9e26dfee..b1da366f 100644 --- a/tests/compiler/class-extends.json +++ b/tests/compiler/class-extends.json @@ -1 +1,5 @@ -{} \ No newline at end of file +{ + "asc_flags": [ + "--runtime none" + ] +} \ No newline at end of file diff --git a/tests/compiler/class-extends.optimized.wat b/tests/compiler/class-extends.optimized.wat index 1f03bac9..38988d56 100644 --- a/tests/compiler/class-extends.optimized.wat +++ b/tests/compiler/class-extends.optimized.wat @@ -1,46 +1,10 @@ (module (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 8) "\01\00\00\00,") - (data (i32.const 24) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 72) "\01\00\00\00(") - (data (i32.const 88) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) - (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) - (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/capabilities i32 (i32.const 2)) + (memory $0 0) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $class-extends/test)) - (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "$.flags" (func $~lib/runtime/runtime.flags)) - (export "$.newObject" (func $~lib/runtime/runtime.newObject)) - (export "$.newString" (func $~lib/runtime/runtime.newString)) - (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "$.retain" (func $~lib/runtime/runtime.retain)) - (export "$.release" (func $~lib/runtime/runtime.release)) - (export "$.collect" (func $~lib/runtime/runtime.collect)) - (export "$.capabilities" (global $~lib/capabilities)) - (start $start) - (func $class-extends/test (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $class-extends/test (; 0 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.load drop @@ -54,1870 +18,7 @@ i32.const 3 i32.store16 offset=4 ) - (func $~lib/runtime/runtime.instanceof (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - if (result i32) - local.get $0 - i32.const 16 - i32.sub - i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof - else - i32.const 0 - end - ) - (func $~lib/runtime/runtime.flags (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $__inlined_func$~lib/runtime/__runtime_flags - block $invalid - local.get $0 - i32.const 1 - i32.sub - br_table $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $invalid - end - unreachable - end - i32.const 0 - ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 159 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - local.get $2 - i32.store offset=4 - ) - (func $~lib/allocator/tlsf/Root#setHead (; 5 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 184 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 32 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 185 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 5 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - local.get $3 - i32.store offset=96 - ) - (func $~lib/allocator/tlsf/Block#get:right (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load - i32.const -4 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 104 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 8 - i32.add - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 105 - i32.const 11 - call $~lib/env/abort - unreachable - end - local.get $0 - ) - (func $~lib/allocator/tlsf/fls (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 447 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 31 - local.get $0 - i32.clz - i32.sub - ) - (func $~lib/allocator/tlsf/Root#getHead (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 175 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 32 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 176 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 5 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 153 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - ) - (func $~lib/allocator/tlsf/Root#remove (; 10 ;) (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 $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const -4 - i32.and - local.tee $3 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $3 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 279 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u - if (result i32) - local.get $3 - i32.const 8 - i32.div_u - local.set $4 - i32.const 0 - else - local.get $3 - local.get $3 - call $~lib/allocator/tlsf/fls - local.tee $2 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.set $4 - local.get $2 - i32.const 7 - i32.sub - end - local.set $2 - local.get $1 - i32.load offset=8 - local.set $3 - local.get $1 - i32.load offset=4 - local.tee $5 - if - local.get $5 - local.get $3 - i32.store offset=8 - end - local.get $3 - if - local.get $3 - local.get $5 - i32.store offset=4 - end - local.get $0 - local.get $2 - local.get $4 - call $~lib/allocator/tlsf/Root#getHead - local.get $1 - i32.eq - if - local.get $0 - local.get $2 - local.get $4 - local.get $3 - call $~lib/allocator/tlsf/Root#setHead - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $1 - call $~lib/allocator/tlsf/Root#setSLMap - local.get $1 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $2 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/allocator/tlsf/Block#get:left (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load - i32.const 2 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 96 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 4 - i32.sub - i32.load - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 97 - i32.const 11 - call $~lib/env/abort - unreachable - end - local.get $0 - ) - (func $~lib/allocator/tlsf/Root#setJump (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 353 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/Block#get:right - local.get $1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 354 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const 2 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 355 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 4 - i32.sub - local.get $0 - i32.store - ) - (func $~lib/allocator/tlsf/Root#insert (; 13 ;) (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.eqz - if - i32.const 0 - i32.const 24 - i32.const 208 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.tee $3 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 210 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const -4 - i32.and - local.tee $4 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $4 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 212 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 216 - i32.const 23 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.load - local.tee $4 - i32.const 1 - i32.and - if - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $4 - i32.const -4 - i32.and - i32.const 8 - i32.add - local.get $3 - i32.add - local.tee $3 - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $2 - i32.load - local.set $4 - end - local.get $3 - i32.const 2 - i32.and - if - local.get $1 - call $~lib/allocator/tlsf/Block#get:left - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 230 - i32.const 24 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.tee $5 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 232 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $3 - i32.const -4 - i32.and - i32.const 8 - i32.add - local.get $5 - i32.add - local.tee $3 - i32.store - end - local.get $2 - local.get $4 - i32.const 2 - i32.or - i32.store - local.get $1 - local.get $2 - call $~lib/allocator/tlsf/Root#setJump - local.get $3 - i32.const -4 - i32.and - local.tee $3 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $3 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 245 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $3 - i32.const 256 - i32.lt_u - if (result i32) - local.get $3 - i32.const 8 - i32.div_u - local.set $3 - i32.const 0 - else - local.get $3 - local.get $3 - call $~lib/allocator/tlsf/fls - local.tee $2 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.set $3 - local.get $2 - i32.const 7 - i32.sub - end - local.tee $2 - local.get $3 - call $~lib/allocator/tlsf/Root#getHead - local.set $4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $4 - if - local.get $4 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $2 - local.get $3 - local.get $1 - call $~lib/allocator/tlsf/Root#setHead - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $2 - i32.shl - i32.or - i32.store - local.get $0 - local.get $2 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $3 - i32.shl - i32.or - call $~lib/allocator/tlsf/Root#setSLMap - ) - (func $~lib/allocator/tlsf/Root#addMemory (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $2 - i32.gt_u - if - i32.const 0 - i32.const 24 - i32.const 396 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 397 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 398 - i32.const 4 - call $~lib/env/abort - unreachable - end - i32.const 2912 - i32.load - local.tee $3 - if - local.get $1 - local.get $3 - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 403 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 8 - i32.sub - local.get $3 - i32.eq - if - local.get $3 - i32.load - local.set $4 - local.get $1 - i32.const 8 - i32.sub - local.set $1 - end - else - local.get $1 - local.get $0 - i32.const 2916 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 412 - i32.const 6 - call $~lib/env/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.tee $2 - i32.const 32 - i32.lt_u - if - return - end - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.or - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - local.get $2 - i32.add - i32.const 8 - i32.sub - local.tee $2 - i32.const 2 - i32.store - i32.const 2912 - local.get $2 - i32.store - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#insert - ) - (func $~lib/allocator/tlsf/ffs (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/Root#search (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $1 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 315 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - i32.const 0 - local.set $2 - local.get $1 - i32.const 8 - i32.div_u - else - local.get $1 - call $~lib/allocator/tlsf/fls - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.tee $1 - i32.const 31 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.add - else - local.get $2 - i32.const 1 - i32.add - local.set $2 - i32.const 0 - end - end - local.set $1 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - 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 $0 - local.get $1 - call $~lib/allocator/tlsf/ffs - local.tee $2 - call $~lib/allocator/tlsf/Root#getSLMap - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 342 - i32.const 16 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - else - i32.const 0 - end - end - ) - (func $~lib/allocator/tlsf/Root#use (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - local.get $1 - i32.load - local.tee $4 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 367 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 16 - i32.ge_u - local.tee $3 - if - local.get $2 - i32.const 1073741824 - i32.lt_u - local.set $3 - end - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 368 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 369 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $4 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $3 - i32.const 24 - i32.ge_u - if - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.or - i32.store - local.get $1 - i32.const 8 - i32.add - local.get $2 - i32.add - local.tee $2 - local.get $3 - i32.const 8 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#insert - else - local.get $1 - local.get $4 - i32.const -2 - i32.and - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 387 - i32.const 25 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $0 - i32.load - i32.const -3 - i32.and - i32.store - end - local.get $1 - i32.const 8 - i32.add - ) - (func $~lib/allocator/tlsf/__mem_allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/allocator/tlsf/ROOT - local.tee $2 - i32.eqz - if - i32.const 1 - current_memory - local.tee $1 - i32.gt_s - local.tee $2 - if (result i32) - i32.const 1 - local.get $1 - i32.sub - grow_memory - i32.const 0 - i32.lt_s - else - local.get $2 - end - if - unreachable - end - i32.const 128 - local.set $2 - i32.const 128 - global.set $~lib/allocator/tlsf/ROOT - i32.const 2912 - i32.const 0 - i32.store - i32.const 128 - i32.const 0 - i32.store - i32.const 0 - local.set $1 - loop $repeat|0 - local.get $1 - i32.const 22 - i32.lt_u - if - i32.const 128 - local.get $1 - i32.const 0 - call $~lib/allocator/tlsf/Root#setSLMap - i32.const 0 - local.set $3 - loop $repeat|1 - local.get $3 - i32.const 32 - i32.lt_u - if - i32.const 128 - local.get $1 - local.get $3 - i32.const 0 - call $~lib/allocator/tlsf/Root#setHead - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $repeat|1 - end - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $repeat|0 - end - end - i32.const 128 - i32.const 3048 - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - end - local.get $0 - i32.const 1073741824 - i32.gt_u - if - unreachable - end - local.get $2 - local.get $0 - i32.const 7 - i32.add - i32.const -8 - i32.and - local.tee $0 - i32.const 16 - local.get $0 - i32.const 16 - i32.gt_u - select - local.tee $1 - call $~lib/allocator/tlsf/Root#search - local.tee $0 - i32.eqz - if - current_memory - local.tee $0 - local.get $1 - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.tee $3 - local.get $0 - local.get $3 - i32.gt_s - select - grow_memory - i32.const 0 - i32.lt_s - if - local.get $3 - grow_memory - i32.const 0 - i32.lt_s - if - unreachable - end - end - local.get $2 - local.get $0 - i32.const 16 - i32.shl - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/Root#search - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 502 - i32.const 12 - call $~lib/env/abort - unreachable - end - end - local.get $0 - i32.load - i32.const -4 - i32.and - local.get $1 - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 505 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#use - ) - (func $~lib/util/runtime/allocate (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - i32.const 1 - i32.const 32 - local.get $0 - i32.const 15 - i32.add - i32.clz - i32.sub - i32.shl - call $~lib/allocator/tlsf/__mem_allocate - local.tee $1 - i32.const -1520547049 - i32.store - local.get $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=12 - local.get $1 - i32.const 16 - i32.add - ) - (func $~lib/collector/itcm/maybeInit (; 20 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/collector/itcm/state - i32.eqz - if - i32.const 16 - call $~lib/allocator/tlsf/__mem_allocate - global.set $~lib/collector/itcm/fromSpace - global.get $~lib/collector/itcm/fromSpace - local.tee $0 - i32.const -1 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - i32.const 16 - call $~lib/allocator/tlsf/__mem_allocate - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/toSpace - local.tee $0 - i32.const -1 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/iter - i32.const 1 - global.set $~lib/collector/itcm/state - end - ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.and - local.get $0 - i32.or - i32.store offset=8 - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.and - local.get $1 - i32.or - i32.store offset=8 - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/collector/itcm/__ref_register (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) - call $~lib/collector/itcm/maybeInit - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - global.get $~lib/collector/itcm/white - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.or - i32.store offset=8 - global.get $~lib/collector/itcm/fromSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - ) - (func $~lib/util/runtime/register (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - i32.const 128 - i32.le_u - if - i32.const 0 - i32.const 88 - i32.const 128 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $2 - i32.load - i32.const -1520547049 - i32.ne - if - i32.const 0 - i32.const 88 - i32.const 130 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $1 - i32.store - block - local.get $0 - call $~lib/collector/itcm/__ref_register - end - local.get $0 - ) - (func $~lib/runtime/runtime.newObject (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - call $~lib/util/runtime/allocate - local.get $1 - call $~lib/util/runtime/register - ) - (func $~lib/runtime/runtime.newString (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/runtime/runtime.newArrayBuffer (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 2 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/collector/itcm/iter - local.get $0 - i32.eq - if - local.get $0 - i32.load offset=12 - global.set $~lib/collector/itcm/iter - end - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - local.tee $2 - local.get $0 - i32.load offset=12 - local.tee $1 - i32.store offset=12 - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.and - local.get $2 - i32.or - i32.store offset=8 - global.get $~lib/collector/itcm/toSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - local.get $0 - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.const 2 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/__ref_link (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - global.get $~lib/collector/itcm/white - i32.eqz - local.get $1 - i32.const 16 - i32.sub - local.tee $2 - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - local.tee $1 - if (result i32) - global.get $~lib/collector/itcm/white - local.get $0 - i32.const 16 - i32.sub - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - else - local.get $1 - end - if - local.get $2 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/memory/memory.copy (; 29 ;) (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 $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 $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - br $continue|0 - end - end - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - 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 $2 - if - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - 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 $2 - i32.add - i32.const 7 - i32.and - if - local.get $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - end - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - br $continue|4 - end - end - end - loop $continue|5 - local.get $2 - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 30 ;) (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 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.tee $2 - local.set $6 - local.get $0 - local.get $1 - i32.shl - local.tee $4 - call $~lib/util/runtime/allocate - i32.const 2 - call $~lib/util/runtime/register - local.tee $5 - local.tee $1 - local.get $2 - i32.load - i32.ne - if - local.get $1 - local.get $6 - call $~lib/collector/itcm/__ref_link - end - local.get $2 - local.get $1 - i32.store - local.get $2 - local.get $5 - i32.store offset=4 - local.get $2 - local.get $4 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=12 - local.get $3 - if - local.get $5 - local.get $3 - local.get $4 - call $~lib/memory/memory.copy - end - local.get $2 - ) - (func $~lib/runtime/runtime.retain (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/runtime/ROOT - call $~lib/collector/itcm/__ref_link - ) - (func $~lib/runtime/runtime.release (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $null (; 1 ;) (type $FUNCSIG$v) nop ) - (func $~lib/allocator/tlsf/__mem_free (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.tee $1 - if - local.get $0 - i32.const 8 - i32.sub - local.tee $2 - i32.load - local.tee $3 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - i32.const 1 - i32.or - i32.store - local.get $1 - local.get $0 - i32.const 8 - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/collector/itcm/step (; 34 ;) (type $FUNCSIG$v) - (local $0 i32) - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - global.get $~lib/collector/itcm/state - local.tee $0 - if - local.get $0 - i32.const 1 - i32.sub - br_table $case1|0 $case2|0 $case3|0 $break|0 - end - unreachable - end - call $~lib/runtime/__gc_mark_roots - i32.const 2 - global.set $~lib/collector/itcm/state - br $break|0 - end - global.get $~lib/collector/itcm/iter - i32.load offset=8 - i32.const -4 - i32.and - local.tee $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/collector/itcm/white - i32.eqz - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.or - i32.store offset=8 - block $__inlined_func$~lib/runtime/__gc_mark_members - block $invalid - local.get $0 - i32.load - i32.const 1 - i32.sub - br_table $__inlined_func$~lib/runtime/__gc_mark_members $__inlined_func$~lib/runtime/__gc_mark_members $__inlined_func$~lib/runtime/__gc_mark_members $invalid - end - unreachable - end - else - call $~lib/runtime/__gc_mark_roots - global.get $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/iter - i32.load offset=8 - i32.const -4 - i32.and - i32.eq - if - global.get $~lib/collector/itcm/fromSpace - local.set $0 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/fromSpace - local.get $0 - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/white - i32.eqz - global.set $~lib/collector/itcm/white - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - global.set $~lib/collector/itcm/iter - i32.const 3 - global.set $~lib/collector/itcm/state - end - end - br $break|0 - end - global.get $~lib/collector/itcm/iter - local.tee $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - global.set $~lib/collector/itcm/iter - local.get $0 - i32.const 128 - i32.ge_u - if - local.get $0 - call $~lib/allocator/tlsf/__mem_free - end - else - global.get $~lib/collector/itcm/toSpace - local.tee $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - i32.const 1 - global.set $~lib/collector/itcm/state - end - end - ) - (func $~lib/collector/itcm/__ref_collect (; 35 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/maybeInit - loop $continue|0 - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - if - call $~lib/collector/itcm/step - br $continue|0 - end - end - loop $continue|1 - call $~lib/collector/itcm/step - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - br_if $continue|1 - end - ) - (func $~lib/runtime/runtime.collect (; 36 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/__ref_collect - ) - (func $start (; 37 ;) (type $FUNCSIG$v) - i32.const 0 - call $~lib/util/runtime/allocate - i32.const 3 - call $~lib/util/runtime/register - global.set $~lib/runtime/ROOT - ) - (func $~lib/runtime/__gc_mark_roots (; 38 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/runtime/ROOT - local.tee $0 - if - call $~lib/collector/itcm/maybeInit - global.get $~lib/collector/itcm/white - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - call $~lib/collector/itcm/ManagedObject#makeGray - end - end - ) - (func $~lib/runtime/__runtime_instanceof (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - i32.const 1 - i32.sub - br_table $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - return - end - i32.const 0 - ) - (func $null (; 40 ;) (type $FUNCSIG$v) - nop - ) - (func $~lib/runtime/runtime.newArray|trampoline (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc - ) ) diff --git a/tests/compiler/class-extends.untouched.wat b/tests/compiler/class-extends.untouched.wat index a234fbba..9951a964 100644 --- a/tests/compiler/class-extends.untouched.wat +++ b/tests/compiler/class-extends.untouched.wat @@ -1,64 +1,12 @@ (module (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 8) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 72) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) - (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/allocator/tlsf/Root.SL_START i32 (i32.const 4)) - (global $~lib/allocator/tlsf/SL_BITS i32 (i32.const 5)) - (global $~lib/allocator/tlsf/SB_BITS i32 (i32.const 8)) - (global $~lib/allocator/tlsf/FL_BITS i32 (i32.const 22)) - (global $~lib/allocator/tlsf/Root.SL_END i32 (i32.const 92)) - (global $~lib/allocator/tlsf/Root.HL_START i32 (i32.const 96)) - (global $~lib/allocator/tlsf/SL_SIZE i32 (i32.const 32)) - (global $~lib/allocator/tlsf/Root.HL_END i32 (i32.const 2912)) - (global $~lib/allocator/tlsf/Root.SIZE i32 (i32.const 2916)) - (global $~lib/allocator/tlsf/Block.INFO i32 (i32.const 8)) - (global $~lib/allocator/tlsf/Block.MIN_SIZE i32 (i32.const 16)) - (global $~lib/allocator/tlsf/FREE i32 (i32.const 1)) - (global $~lib/allocator/tlsf/LEFT_FREE i32 (i32.const 2)) - (global $~lib/allocator/tlsf/TAGS i32 (i32.const 3)) - (global $~lib/allocator/tlsf/Block.MAX_SIZE i32 (i32.const 1073741824)) - (global $~lib/allocator/tlsf/SB_SIZE i32 (i32.const 256)) - (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) - (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) - (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 128)) - (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $class-extends/test)) - (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "$.flags" (func $~lib/runtime/runtime.flags)) - (export "$.newObject" (func $~lib/runtime/runtime.newObject)) - (export "$.newString" (func $~lib/runtime/runtime.newString)) - (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "$.retain" (func $~lib/runtime/runtime.retain)) - (export "$.release" (func $~lib/runtime/runtime.release)) - (export "$.collect" (func $~lib/runtime/runtime.collect)) - (export "$.capabilities" (global $~lib/capabilities)) - (start $start) - (func $class-extends/test (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $class-extends/test (; 0 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.load drop @@ -72,2275 +20,6 @@ i32.const 3 i32.store16 offset=4 ) - (func $~lib/runtime/runtime.instanceof (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - if (result i32) - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof - else - i32.const 0 - end - ) - (func $~lib/runtime/runtime.flags (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/runtime/__runtime_flags - ) - (func $~lib/util/runtime/adjust (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 1 - i32.const 32 - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.add - i32.const 1 - i32.sub - i32.clz - i32.sub - i32.shl - ) - (func $~lib/allocator/tlsf/Root#set:tailRef (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - i32.const 0 - local.get $1 - i32.store offset=2912 - ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 159 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 4 - i32.mul - i32.add - local.get $2 - i32.store offset=4 - ) - (func $~lib/allocator/tlsf/Root#setHead (; 7 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 184 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 185 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.mul - local.get $2 - i32.add - i32.const 4 - i32.mul - i32.add - local.get $3 - i32.store offset=96 - ) - (func $~lib/allocator/tlsf/Root#get:tailRef (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 0 - i32.load offset=2912 - ) - (func $~lib/allocator/tlsf/Block#get:right (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 104 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - local.tee $1 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 105 - i32.const 11 - call $~lib/env/abort - unreachable - else - local.get $1 - end - ) - (func $~lib/allocator/tlsf/fls (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 447 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 31 - local.get $0 - i32.clz - i32.sub - ) - (func $~lib/allocator/tlsf/Root#getHead (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 175 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 176 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.mul - local.get $2 - i32.add - i32.const 4 - i32.mul - i32.add - i32.load offset=96 - ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 153 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 4 - i32.mul - i32.add - i32.load offset=4 - ) - (func $~lib/allocator/tlsf/Root#remove (; 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) - (local $8 i32) - local.get $1 - i32.load - local.set $2 - local.get $2 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 279 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $5 - local.get $3 - i32.const 8 - i32.div_u - local.set $6 - else - local.get $3 - call $~lib/allocator/tlsf/fls - local.set $5 - local.get $3 - local.get $5 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $6 - local.get $5 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $5 - end - local.get $1 - i32.load offset=4 - local.set $7 - local.get $1 - i32.load offset=8 - local.set $8 - local.get $7 - if - local.get $7 - local.get $8 - i32.store offset=8 - end - local.get $8 - if - local.get $8 - local.get $7 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.get $5 - local.get $6 - call $~lib/allocator/tlsf/Root#getHead - i32.eq - if - local.get $0 - local.get $5 - local.get $6 - local.get $8 - call $~lib/allocator/tlsf/Root#setHead - local.get $8 - i32.eqz - if - local.get $0 - local.get $5 - call $~lib/allocator/tlsf/Root#getSLMap - local.set $4 - local.get $0 - local.get $5 - local.get $4 - i32.const 1 - local.get $6 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $4 - call $~lib/allocator/tlsf/Root#setSLMap - local.get $4 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/allocator/tlsf/Block#get:left (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 96 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 4 - i32.sub - i32.load - local.tee $1 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 97 - i32.const 11 - call $~lib/env/abort - unreachable - else - local.get $1 - end - ) - (func $~lib/allocator/tlsf/Root#setJump (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - i32.load - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 353 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.get $2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 354 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 355 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 4 - i32.sub - local.get $1 - i32.store - ) - (func $~lib/allocator/tlsf/Root#insert (; 16 ;) (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.get $1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 208 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.set $2 - local.get $2 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 210 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.tee $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 212 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 216 - i32.const 23 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $5 - local.get $5 - i32.load - local.set $6 - local.get $6 - global.get $~lib/allocator/tlsf/FREE - i32.and - if - local.get $0 - local.get $5 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $2 - global.get $~lib/allocator/tlsf/Block.INFO - local.get $6 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - i32.add - local.tee $2 - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.set $5 - local.get $5 - i32.load - local.set $6 - end - local.get $2 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - if - local.get $1 - call $~lib/allocator/tlsf/Block#get:left - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 230 - i32.const 24 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $4 - local.get $4 - i32.load - local.set $7 - local.get $7 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 232 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $4 - call $~lib/allocator/tlsf/Root#remove - local.get $4 - local.get $7 - global.get $~lib/allocator/tlsf/Block.INFO - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - i32.add - local.tee $7 - i32.store - local.get $4 - local.set $1 - local.get $7 - local.set $2 - end - local.get $5 - local.get $6 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.or - i32.store - local.get $0 - local.get $1 - local.get $5 - call $~lib/allocator/tlsf/Root#setJump - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $7 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $7 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 245 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $8 - local.get $3 - i32.const 8 - i32.div_u - local.set $9 - else - local.get $3 - call $~lib/allocator/tlsf/fls - local.set $8 - local.get $3 - local.get $8 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $9 - local.get $8 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $8 - end - local.get $0 - local.get $8 - local.get $9 - call $~lib/allocator/tlsf/Root#getHead - local.set $10 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $10 - i32.store offset=8 - local.get $10 - if - local.get $10 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $8 - local.get $9 - local.get $1 - call $~lib/allocator/tlsf/Root#setHead - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $8 - i32.shl - i32.or - i32.store - local.get $0 - local.get $8 - local.get $0 - local.get $8 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $9 - i32.shl - i32.or - call $~lib/allocator/tlsf/Root#setSLMap - ) - (func $~lib/allocator/tlsf/Root#addMemory (; 17 ;) (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 $1 - local.get $2 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 396 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 397 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 398 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/Root#get:tailRef - local.set $3 - i32.const 0 - local.set $4 - local.get $3 - if - local.get $1 - local.get $3 - i32.const 4 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 403 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.get $3 - i32.eq - if - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $1 - local.get $3 - i32.load - local.set $4 - end - else - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Root.SIZE - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 412 - i32.const 6 - call $~lib/env/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.set $5 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.add - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - i32.lt_u - if - i32.const 0 - return - end - local.get $5 - i32.const 2 - global.get $~lib/allocator/tlsf/Block.INFO - i32.mul - i32.sub - local.set $6 - local.get $1 - local.set $7 - local.get $7 - local.get $6 - global.get $~lib/allocator/tlsf/FREE - i32.or - local.get $4 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.or - i32.store - local.get $7 - i32.const 0 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - local.get $1 - local.get $5 - i32.add - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $8 - local.get $8 - i32.const 0 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.or - i32.store - local.get $0 - local.get $8 - call $~lib/allocator/tlsf/Root#set:tailRef - local.get $0 - local.get $7 - call $~lib/allocator/tlsf/Root#insert - i32.const 1 - ) - (func $~lib/allocator/tlsf/ffs (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/ffs (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/Root#search (; 20 ;) (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 $1 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $2 - if (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $2 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 315 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $3 - local.get $1 - i32.const 8 - i32.div_u - local.set $4 - else - local.get $1 - call $~lib/allocator/tlsf/fls - local.set $3 - local.get $1 - local.get $3 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $4 - local.get $3 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $3 - local.get $4 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.const 1 - i32.sub - i32.lt_u - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - else - local.get $3 - i32.const 1 - i32.add - local.set $3 - i32.const 0 - local.set $4 - end - end - local.get $0 - local.get $3 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 0 - i32.const -1 - i32.xor - local.get $4 - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - local.get $0 - i32.load - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - else - local.get $2 - call $~lib/allocator/tlsf/ffs - local.set $3 - local.get $0 - local.get $3 - call $~lib/allocator/tlsf/Root#getSLMap - local.tee $7 - if (result i32) - local.get $7 - else - i32.const 0 - i32.const 24 - i32.const 342 - i32.const 16 - call $~lib/env/abort - unreachable - end - local.set $5 - local.get $0 - local.get $3 - local.get $5 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - local.set $6 - end - else - local.get $0 - local.get $3 - local.get $5 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - local.set $6 - end - local.get $6 - ) - (func $~lib/allocator/tlsf/Root#use (; 21 ;) (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.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 367 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $2 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 368 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 369 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $3 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $5 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.add - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.or - i32.store - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - local.get $2 - i32.add - local.set $4 - local.get $4 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $0 - local.get $4 - call $~lib/allocator/tlsf/Root#insert - else - local.get $1 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 387 - i32.const 25 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $4 - local.get $4 - local.get $4 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.const -1 - i32.xor - i32.and - i32.store - end - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - ) - (func $~lib/allocator/tlsf/__mem_allocate (; 22 ;) (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 $7 i32) - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - i32.eqz - if - global.get $~lib/memory/HEAP_BASE - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.set $2 - current_memory - local.set $3 - local.get $2 - global.get $~lib/allocator/tlsf/Root.SIZE - 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 $4 - local.get $4 - local.get $3 - i32.gt_s - local.tee $5 - if (result i32) - local.get $4 - local.get $3 - i32.sub - grow_memory - i32.const 0 - i32.lt_s - else - local.get $5 - end - if - unreachable - end - local.get $2 - local.tee $1 - global.set $~lib/allocator/tlsf/ROOT - local.get $1 - i32.const 0 - call $~lib/allocator/tlsf/Root#set:tailRef - local.get $1 - i32.const 0 - i32.store - block $break|0 - i32.const 0 - local.set $5 - loop $repeat|0 - local.get $5 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - br_if $break|0 - block - local.get $1 - local.get $5 - i32.const 0 - call $~lib/allocator/tlsf/Root#setSLMap - block $break|1 - i32.const 0 - local.set $6 - loop $repeat|1 - local.get $6 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - br_if $break|1 - local.get $1 - local.get $5 - local.get $6 - i32.const 0 - call $~lib/allocator/tlsf/Root#setHead - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $repeat|1 - unreachable - end - unreachable - end - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $repeat|0 - unreachable - end - unreachable - end - local.get $1 - local.get $2 - global.get $~lib/allocator/tlsf/Root.SIZE - i32.add - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - drop - end - local.get $0 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.gt_u - if - unreachable - end - local.get $0 - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.tee $4 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - local.tee $3 - local.get $4 - local.get $3 - i32.gt_u - select - local.set $0 - local.get $1 - local.get $0 - call $~lib/allocator/tlsf/Root#search - local.set $7 - local.get $7 - i32.eqz - if - current_memory - local.set $4 - local.get $0 - 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 $4 - local.tee $2 - local.get $3 - local.tee $5 - local.get $2 - local.get $5 - i32.gt_s - select - local.set $2 - local.get $2 - grow_memory - i32.const 0 - i32.lt_s - if - local.get $3 - grow_memory - i32.const 0 - i32.lt_s - if - unreachable - end - end - current_memory - local.set $5 - local.get $1 - local.get $4 - i32.const 16 - i32.shl - local.get $5 - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - drop - local.get $1 - local.get $0 - call $~lib/allocator/tlsf/Root#search - local.tee $6 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 502 - i32.const 12 - call $~lib/env/abort - unreachable - else - local.get $6 - end - local.set $7 - end - local.get $7 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.get $0 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 505 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - local.get $7 - local.get $0 - call $~lib/allocator/tlsf/Root#use - ) - (func $~lib/memory/memory.allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_allocate - return - ) - (func $~lib/util/runtime/allocate (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - call $~lib/util/runtime/adjust - call $~lib/memory/memory.allocate - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_MAGIC - i32.store - local.get $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=12 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.add - ) - (func $~lib/collector/itcm/ManagedObjectList#clear (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - ) - (func $~lib/collector/itcm/maybeInit (; 26 ;) (type $FUNCSIG$v) - global.get $~lib/collector/itcm/state - i32.const 0 - i32.eq - if - global.get $~lib/util/runtime/HEADER_SIZE - call $~lib/memory/memory.allocate - global.set $~lib/collector/itcm/fromSpace - global.get $~lib/collector/itcm/fromSpace - i32.const -1 - i32.store - global.get $~lib/collector/itcm/fromSpace - i32.const 0 - i32.store offset=4 - global.get $~lib/collector/itcm/fromSpace - call $~lib/collector/itcm/ManagedObjectList#clear - global.get $~lib/util/runtime/HEADER_SIZE - call $~lib/memory/memory.allocate - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/toSpace - i32.const -1 - i32.store - global.get $~lib/collector/itcm/toSpace - i32.const 0 - i32.store offset=4 - global.get $~lib/collector/itcm/toSpace - call $~lib/collector/itcm/ManagedObjectList#clear - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/iter - i32.const 1 - global.set $~lib/collector/itcm/state - end - ) - (func $~lib/collector/itcm/ManagedObject#set:color (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/ManagedObject#set:next (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.and - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $0 - call $~lib/collector/itcm/ManagedObject#set:next - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $1 - call $~lib/collector/itcm/ManagedObject#set:next - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/collector/itcm/__ref_register (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.0 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $2 - local.get $2 - global.get $~lib/collector/itcm/white - call $~lib/collector/itcm/ManagedObject#set:color - global.get $~lib/collector/itcm/fromSpace - local.get $2 - call $~lib/collector/itcm/ManagedObjectList#push - ) - (func $~lib/util/runtime/register (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 128 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - local.set $2 - local.get $2 - i32.load - global.get $~lib/util/runtime/HEADER_MAGIC - i32.eq - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 130 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $1 - i32.store - local.get $0 - call $~lib/collector/itcm/__ref_register - local.get $0 - ) - (func $~lib/runtime/runtime.newObject (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - call $~lib/util/runtime/allocate - local.get $1 - call $~lib/util/runtime/register - ) - (func $~lib/runtime/runtime.newString (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/runtime/runtime.newArrayBuffer (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 2 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.and - ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - call $~lib/collector/itcm/ManagedObject#get:next - local.set $1 - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $1 - call $~lib/collector/itcm/ManagedObject#set:next - ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/collector/itcm/iter - i32.eq - if - local.get $0 - i32.load offset=12 - global.set $~lib/collector/itcm/iter - end - local.get $0 - call $~lib/collector/itcm/ManagedObject#unlink - global.get $~lib/collector/itcm/toSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - local.get $0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 2 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/__ref_link (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.1 (result i32) - local.get $1 - local.set $2 - local.get $2 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $3 - local.get $3 - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eqz - i32.eq - local.tee $2 - if (result i32) - block $~lib/collector/itcm/refToObj|inlined.3 (result i32) - local.get $0 - local.set $2 - local.get $2 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eq - else - local.get $2 - end - if - local.get $3 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/memory/memory.copy (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.get $1 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - 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 - block $break|0 - loop $continue|0 - local.get $0 - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - end - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - br $continue|1 - end - end - end - end - block $break|2 - loop $continue|2 - local.get $2 - if - block - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - end - br $continue|2 - end - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $0 - local.get $2 - i32.add - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - end - br $continue|3 - end - end - end - block $break|4 - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - end - br $continue|4 - end - end - end - end - block $break|5 - loop $continue|5 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 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) - (local $7 i32) - (local $8 i32) - (local $9 i32) - i32.const 16 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.set $4 - local.get $0 - local.get $1 - i32.shl - local.set $5 - local.get $5 - call $~lib/util/runtime/allocate - i32.const 2 - call $~lib/util/runtime/register - local.set $6 - local.get $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - i32.load - local.tee $9 - i32.ne - if (result i32) - nop - local.get $8 - local.get $7 - call $~lib/collector/itcm/__ref_link - local.get $8 - else - local.get $8 - end - 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 $~lib/runtime/Root#constructor (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - call $~lib/util/runtime/allocate - i32.const 3 - call $~lib/util/runtime/register - local.set $0 - end - local.get $0 - ) - (func $~lib/runtime/runtime.retain (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/runtime/ROOT - call $~lib/collector/itcm/__ref_link - ) - (func $~lib/runtime/runtime.release (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) - nop - ) - (func $~lib/allocator/tlsf/__mem_free (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - if - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/memory/memory.free (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/collector/itcm/step (; 47 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - global.get $~lib/collector/itcm/state - local.set $1 - local.get $1 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $1 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $1 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $1 - i32.const 3 - i32.eq - br_if $case3|0 - br $break|0 - end - unreachable - end - block - call $~lib/runtime/__gc_mark_roots - i32.const 2 - global.set $~lib/collector/itcm/state - br $break|0 - unreachable - end - unreachable - end - block - global.get $~lib/collector/itcm/iter - call $~lib/collector/itcm/ManagedObject#get:next - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/collector/itcm/white - i32.eqz - call $~lib/collector/itcm/ManagedObject#set:color - local.get $0 - i32.load - block $~lib/collector/itcm/objToRef|inlined.0 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.add - end - call $~lib/runtime/__gc_mark_members - else - call $~lib/runtime/__gc_mark_roots - global.get $~lib/collector/itcm/iter - call $~lib/collector/itcm/ManagedObject#get:next - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.eq - if - global.get $~lib/collector/itcm/fromSpace - local.set $1 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/fromSpace - local.get $1 - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/white - i32.eqz - global.set $~lib/collector/itcm/white - local.get $1 - call $~lib/collector/itcm/ManagedObject#get:next - global.set $~lib/collector/itcm/iter - i32.const 3 - global.set $~lib/collector/itcm/state - end - end - br $break|0 - unreachable - end - unreachable - end - block - global.get $~lib/collector/itcm/iter - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - call $~lib/collector/itcm/ManagedObject#get:next - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.ge_u - if - local.get $0 - call $~lib/memory/memory.free - end - else - global.get $~lib/collector/itcm/toSpace - call $~lib/collector/itcm/ManagedObjectList#clear - i32.const 1 - global.set $~lib/collector/itcm/state - end - br $break|0 - unreachable - end - unreachable - end - ) - (func $~lib/collector/itcm/__ref_collect (; 48 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/maybeInit - block $break|0 - loop $continue|0 - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - if - call $~lib/collector/itcm/step - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - call $~lib/collector/itcm/step - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - br_if $continue|1 - end - end - ) - (func $~lib/runtime/runtime.collect (; 49 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/__ref_collect - ) - (func $~lib/runtime/runtime#constructor (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - unreachable - ) - (func $start (; 51 ;) (type $FUNCSIG$v) - i32.const 0 - call $~lib/runtime/Root#constructor - global.set $~lib/runtime/ROOT - ) - (func $~lib/collector/itcm/__ref_mark (; 52 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.4 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $2 - local.get $2 - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eq - if - local.get $2 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/runtime/__gc_mark_roots (; 53 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/runtime/ROOT - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - ) - (func $~lib/runtime/__gc_mark_members (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - block $invalid - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid - end - return - end - return - end - return - end - unreachable - ) - (func $~lib/runtime/__runtime_instanceof (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $nope $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - return - end - i32.const 0 - return - ) - (func $~lib/runtime/__runtime_flags (; 56 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $invalid - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - unreachable - ) - (func $null (; 57 ;) (type $FUNCSIG$v) - ) - (func $~lib/runtime/runtime.newArray|trampoline (; 58 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 59 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc + (func $null (; 1 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/class-overloading.optimized.wat b/tests/compiler/class-overloading.optimized.wat index cf31b250..76394147 100644 --- a/tests/compiler/class-overloading.optimized.wat +++ b/tests/compiler/class-overloading.optimized.wat @@ -2,10 +2,7 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $class-overloading/test)) (func $class-overloading/test (; 0 ;) (type $FUNCSIG$vi) (param $0 i32) nop diff --git a/tests/compiler/class-overloading.untouched.wat b/tests/compiler/class-overloading.untouched.wat index e81b67a4..c529e9a5 100644 --- a/tests/compiler/class-overloading.untouched.wat +++ b/tests/compiler/class-overloading.untouched.wat @@ -4,9 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $class-overloading/test)) (start $start) (func $class-overloading/Foo#baz (; 0 ;) (type $FUNCSIG$vi) (param $0 i32) diff --git a/tests/compiler/class.json b/tests/compiler/class.json index 9e26dfee..b1da366f 100644 --- a/tests/compiler/class.json +++ b/tests/compiler/class.json @@ -1 +1,5 @@ -{} \ No newline at end of file +{ + "asc_flags": [ + "--runtime none" + ] +} \ No newline at end of file diff --git a/tests/compiler/class.optimized.wat b/tests/compiler/class.optimized.wat index bb717647..67d5e534 100644 --- a/tests/compiler/class.optimized.wat +++ b/tests/compiler/class.optimized.wat @@ -1,48 +1,11 @@ (module - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param 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$vi (func (param i32))) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\10") - (data (i32.const 24) "c\00l\00a\00s\00s\00.\00t\00s") - (data (i32.const 40) "\01\00\00\00,") - (data (i32.const 56) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 104) "\01\00\00\00(") - (data (i32.const 120) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) - (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) - (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/capabilities i32 (i32.const 2)) + (data (i32.const 8) "\10\00\00\00\10\00\00\00c\00l\00a\00s\00s\00.\00t\00s") (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $class/test)) - (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "$.flags" (func $~lib/runtime/runtime.flags)) - (export "$.newObject" (func $~lib/runtime/runtime.newObject)) - (export "$.newString" (func $~lib/runtime/runtime.newString)) - (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "$.retain" (func $~lib/runtime/runtime.retain)) - (export "$.release" (func $~lib/runtime/runtime.release)) - (export "$.collect" (func $~lib/runtime/runtime.collect)) - (export "$.capabilities" (global $~lib/capabilities)) - (start $start) - (func $class/test (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $class/test (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load drop @@ -63,1870 +26,7 @@ i32.store8 offset=6 local.get $0 ) - (func $~lib/runtime/runtime.instanceof (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - if (result i32) - local.get $0 - i32.const 16 - i32.sub - i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof - else - i32.const 0 - end - ) - (func $~lib/runtime/runtime.flags (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $__inlined_func$~lib/runtime/__runtime_flags - block $invalid - local.get $0 - i32.const 1 - i32.sub - br_table $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $invalid - end - unreachable - end - i32.const 0 - ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 56 - i32.const 159 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - local.get $2 - i32.store offset=4 - ) - (func $~lib/allocator/tlsf/Root#setHead (; 5 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 56 - i32.const 184 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 32 - i32.ge_u - if - i32.const 0 - i32.const 56 - i32.const 185 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 5 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - local.get $3 - i32.store offset=96 - ) - (func $~lib/allocator/tlsf/Block#get:right (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load - i32.const -4 - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 104 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 8 - i32.add - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 105 - i32.const 11 - call $~lib/env/abort - unreachable - end - local.get $0 - ) - (func $~lib/allocator/tlsf/fls (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 447 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 31 - local.get $0 - i32.clz - i32.sub - ) - (func $~lib/allocator/tlsf/Root#getHead (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 56 - i32.const 175 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 32 - i32.ge_u - if - i32.const 0 - i32.const 56 - i32.const 176 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 5 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 56 - i32.const 153 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - ) - (func $~lib/allocator/tlsf/Root#remove (; 10 ;) (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 $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const -4 - i32.and - local.tee $3 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $3 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 279 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u - if (result i32) - local.get $3 - i32.const 8 - i32.div_u - local.set $4 - i32.const 0 - else - local.get $3 - local.get $3 - call $~lib/allocator/tlsf/fls - local.tee $2 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.set $4 - local.get $2 - i32.const 7 - i32.sub - end - local.set $2 - local.get $1 - i32.load offset=8 - local.set $3 - local.get $1 - i32.load offset=4 - local.tee $5 - if - local.get $5 - local.get $3 - i32.store offset=8 - end - local.get $3 - if - local.get $3 - local.get $5 - i32.store offset=4 - end - local.get $0 - local.get $2 - local.get $4 - call $~lib/allocator/tlsf/Root#getHead - local.get $1 - i32.eq - if - local.get $0 - local.get $2 - local.get $4 - local.get $3 - call $~lib/allocator/tlsf/Root#setHead - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $1 - call $~lib/allocator/tlsf/Root#setSLMap - local.get $1 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $2 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/allocator/tlsf/Block#get:left (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load - i32.const 2 - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 96 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 4 - i32.sub - i32.load - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 97 - i32.const 11 - call $~lib/env/abort - unreachable - end - local.get $0 - ) - (func $~lib/allocator/tlsf/Root#setJump (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 353 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/Block#get:right - local.get $1 - i32.ne - if - i32.const 0 - i32.const 56 - i32.const 354 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const 2 - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 355 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 4 - i32.sub - local.get $0 - i32.store - ) - (func $~lib/allocator/tlsf/Root#insert (; 13 ;) (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.eqz - if - i32.const 0 - i32.const 56 - i32.const 208 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.tee $3 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 210 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const -4 - i32.and - local.tee $4 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $4 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 212 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 216 - i32.const 23 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.load - local.tee $4 - i32.const 1 - i32.and - if - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $4 - i32.const -4 - i32.and - i32.const 8 - i32.add - local.get $3 - i32.add - local.tee $3 - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $2 - i32.load - local.set $4 - end - local.get $3 - i32.const 2 - i32.and - if - local.get $1 - call $~lib/allocator/tlsf/Block#get:left - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 230 - i32.const 24 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.tee $5 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 232 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $3 - i32.const -4 - i32.and - i32.const 8 - i32.add - local.get $5 - i32.add - local.tee $3 - i32.store - end - local.get $2 - local.get $4 - i32.const 2 - i32.or - i32.store - local.get $1 - local.get $2 - call $~lib/allocator/tlsf/Root#setJump - local.get $3 - i32.const -4 - i32.and - local.tee $3 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $3 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 245 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $3 - i32.const 256 - i32.lt_u - if (result i32) - local.get $3 - i32.const 8 - i32.div_u - local.set $3 - i32.const 0 - else - local.get $3 - local.get $3 - call $~lib/allocator/tlsf/fls - local.tee $2 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.set $3 - local.get $2 - i32.const 7 - i32.sub - end - local.tee $2 - local.get $3 - call $~lib/allocator/tlsf/Root#getHead - local.set $4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $4 - if - local.get $4 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $2 - local.get $3 - local.get $1 - call $~lib/allocator/tlsf/Root#setHead - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $2 - i32.shl - i32.or - i32.store - local.get $0 - local.get $2 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $3 - i32.shl - i32.or - call $~lib/allocator/tlsf/Root#setSLMap - ) - (func $~lib/allocator/tlsf/Root#addMemory (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $2 - i32.gt_u - if - i32.const 0 - i32.const 56 - i32.const 396 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 56 - i32.const 397 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 56 - i32.const 398 - i32.const 4 - call $~lib/env/abort - unreachable - end - i32.const 2912 - i32.load - local.tee $3 - if - local.get $1 - local.get $3 - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 56 - i32.const 403 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 8 - i32.sub - local.get $3 - i32.eq - if - local.get $3 - i32.load - local.set $4 - local.get $1 - i32.const 8 - i32.sub - local.set $1 - end - else - local.get $1 - local.get $0 - i32.const 2916 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 56 - i32.const 412 - i32.const 6 - call $~lib/env/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.tee $2 - i32.const 32 - i32.lt_u - if - return - end - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.or - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - local.get $2 - i32.add - i32.const 8 - i32.sub - local.tee $2 - i32.const 2 - i32.store - i32.const 2912 - local.get $2 - i32.store - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#insert - ) - (func $~lib/allocator/tlsf/ffs (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/Root#search (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $1 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 315 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - i32.const 0 - local.set $2 - local.get $1 - i32.const 8 - i32.div_u - else - local.get $1 - call $~lib/allocator/tlsf/fls - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.tee $1 - i32.const 31 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.add - else - local.get $2 - i32.const 1 - i32.add - local.set $2 - i32.const 0 - end - end - local.set $1 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - 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 $0 - local.get $1 - call $~lib/allocator/tlsf/ffs - local.tee $2 - call $~lib/allocator/tlsf/Root#getSLMap - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 342 - i32.const 16 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - else - i32.const 0 - end - end - ) - (func $~lib/allocator/tlsf/Root#use (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - local.get $1 - i32.load - local.tee $4 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 367 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 16 - i32.ge_u - local.tee $3 - if - local.get $2 - i32.const 1073741824 - i32.lt_u - local.set $3 - end - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 368 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 56 - i32.const 369 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $4 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $3 - i32.const 24 - i32.ge_u - if - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.or - i32.store - local.get $1 - i32.const 8 - i32.add - local.get $2 - i32.add - local.tee $2 - local.get $3 - i32.const 8 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#insert - else - local.get $1 - local.get $4 - i32.const -2 - i32.and - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 387 - i32.const 25 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $0 - i32.load - i32.const -3 - i32.and - i32.store - end - local.get $1 - i32.const 8 - i32.add - ) - (func $~lib/allocator/tlsf/__mem_allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/allocator/tlsf/ROOT - local.tee $2 - i32.eqz - if - i32.const 1 - current_memory - local.tee $1 - i32.gt_s - local.tee $2 - if (result i32) - i32.const 1 - local.get $1 - i32.sub - grow_memory - i32.const 0 - i32.lt_s - else - local.get $2 - end - if - unreachable - end - i32.const 160 - local.set $2 - i32.const 160 - global.set $~lib/allocator/tlsf/ROOT - i32.const 2912 - i32.const 0 - i32.store - i32.const 160 - i32.const 0 - i32.store - i32.const 0 - local.set $1 - loop $repeat|0 - local.get $1 - i32.const 22 - i32.lt_u - if - i32.const 160 - local.get $1 - i32.const 0 - call $~lib/allocator/tlsf/Root#setSLMap - i32.const 0 - local.set $3 - loop $repeat|1 - local.get $3 - i32.const 32 - i32.lt_u - if - i32.const 160 - local.get $1 - local.get $3 - i32.const 0 - call $~lib/allocator/tlsf/Root#setHead - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $repeat|1 - end - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $repeat|0 - end - end - i32.const 160 - i32.const 3080 - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - end - local.get $0 - i32.const 1073741824 - i32.gt_u - if - unreachable - end - local.get $2 - local.get $0 - i32.const 7 - i32.add - i32.const -8 - i32.and - local.tee $0 - i32.const 16 - local.get $0 - i32.const 16 - i32.gt_u - select - local.tee $1 - call $~lib/allocator/tlsf/Root#search - local.tee $0 - i32.eqz - if - current_memory - local.tee $0 - local.get $1 - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.tee $3 - local.get $0 - local.get $3 - i32.gt_s - select - grow_memory - i32.const 0 - i32.lt_s - if - local.get $3 - grow_memory - i32.const 0 - i32.lt_s - if - unreachable - end - end - local.get $2 - local.get $0 - i32.const 16 - i32.shl - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/Root#search - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 502 - i32.const 12 - call $~lib/env/abort - unreachable - end - end - local.get $0 - i32.load - i32.const -4 - i32.and - local.get $1 - i32.lt_u - if - i32.const 0 - i32.const 56 - i32.const 505 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#use - ) - (func $~lib/util/runtime/allocate (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - i32.const 1 - i32.const 32 - local.get $0 - i32.const 15 - i32.add - i32.clz - i32.sub - i32.shl - call $~lib/allocator/tlsf/__mem_allocate - local.tee $1 - i32.const -1520547049 - i32.store - local.get $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=12 - local.get $1 - i32.const 16 - i32.add - ) - (func $~lib/collector/itcm/maybeInit (; 20 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/collector/itcm/state - i32.eqz - if - i32.const 16 - call $~lib/allocator/tlsf/__mem_allocate - global.set $~lib/collector/itcm/fromSpace - global.get $~lib/collector/itcm/fromSpace - local.tee $0 - i32.const -1 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - i32.const 16 - call $~lib/allocator/tlsf/__mem_allocate - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/toSpace - local.tee $0 - i32.const -1 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/iter - i32.const 1 - global.set $~lib/collector/itcm/state - end - ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.and - local.get $0 - i32.or - i32.store offset=8 - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.and - local.get $1 - i32.or - i32.store offset=8 - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/collector/itcm/__ref_register (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) - call $~lib/collector/itcm/maybeInit - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - global.get $~lib/collector/itcm/white - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.or - i32.store offset=8 - global.get $~lib/collector/itcm/fromSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - ) - (func $~lib/util/runtime/register (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - i32.const 160 - i32.le_u - if - i32.const 0 - i32.const 120 - i32.const 128 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $2 - i32.load - i32.const -1520547049 - i32.ne - if - i32.const 0 - i32.const 120 - i32.const 130 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $1 - i32.store - block - local.get $0 - call $~lib/collector/itcm/__ref_register - end - local.get $0 - ) - (func $~lib/runtime/runtime.newObject (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - call $~lib/util/runtime/allocate - local.get $1 - call $~lib/util/runtime/register - ) - (func $~lib/runtime/runtime.newString (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/runtime/runtime.newArrayBuffer (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 2 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/collector/itcm/iter - local.get $0 - i32.eq - if - local.get $0 - i32.load offset=12 - global.set $~lib/collector/itcm/iter - end - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - local.tee $2 - local.get $0 - i32.load offset=12 - local.tee $1 - i32.store offset=12 - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.and - local.get $2 - i32.or - i32.store offset=8 - global.get $~lib/collector/itcm/toSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - local.get $0 - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.const 2 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/__ref_link (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - global.get $~lib/collector/itcm/white - i32.eqz - local.get $1 - i32.const 16 - i32.sub - local.tee $2 - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - local.tee $1 - if (result i32) - global.get $~lib/collector/itcm/white - local.get $0 - i32.const 16 - i32.sub - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - else - local.get $1 - end - if - local.get $2 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/memory/memory.copy (; 29 ;) (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 $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 $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - br $continue|0 - end - end - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - 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 $2 - if - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - 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 $2 - i32.add - i32.const 7 - i32.and - if - local.get $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - end - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - br $continue|4 - end - end - end - loop $continue|5 - local.get $2 - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 30 ;) (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 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.tee $2 - local.set $6 - local.get $0 - local.get $1 - i32.shl - local.tee $4 - call $~lib/util/runtime/allocate - i32.const 2 - call $~lib/util/runtime/register - local.tee $5 - local.tee $1 - local.get $2 - i32.load - i32.ne - if - local.get $1 - local.get $6 - call $~lib/collector/itcm/__ref_link - end - local.get $2 - local.get $1 - i32.store - local.get $2 - local.get $5 - i32.store offset=4 - local.get $2 - local.get $4 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=12 - local.get $3 - if - local.get $5 - local.get $3 - local.get $4 - call $~lib/memory/memory.copy - end - local.get $2 - ) - (func $~lib/runtime/runtime.retain (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/runtime/ROOT - call $~lib/collector/itcm/__ref_link - ) - (func $~lib/runtime/runtime.release (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $start (; 1 ;) (type $FUNCSIG$v) nop ) - (func $~lib/allocator/tlsf/__mem_free (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.tee $1 - if - local.get $0 - i32.const 8 - i32.sub - local.tee $2 - i32.load - local.tee $3 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 56 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - i32.const 1 - i32.or - i32.store - local.get $1 - local.get $0 - i32.const 8 - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/collector/itcm/step (; 34 ;) (type $FUNCSIG$v) - (local $0 i32) - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - global.get $~lib/collector/itcm/state - local.tee $0 - if - local.get $0 - i32.const 1 - i32.sub - br_table $case1|0 $case2|0 $case3|0 $break|0 - end - unreachable - end - call $~lib/runtime/__gc_mark_roots - i32.const 2 - global.set $~lib/collector/itcm/state - br $break|0 - end - global.get $~lib/collector/itcm/iter - i32.load offset=8 - i32.const -4 - i32.and - local.tee $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/collector/itcm/white - i32.eqz - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.or - i32.store offset=8 - block $__inlined_func$~lib/runtime/__gc_mark_members - block $invalid - local.get $0 - i32.load - i32.const 1 - i32.sub - br_table $__inlined_func$~lib/runtime/__gc_mark_members $__inlined_func$~lib/runtime/__gc_mark_members $__inlined_func$~lib/runtime/__gc_mark_members $invalid - end - unreachable - end - else - call $~lib/runtime/__gc_mark_roots - global.get $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/iter - i32.load offset=8 - i32.const -4 - i32.and - i32.eq - if - global.get $~lib/collector/itcm/fromSpace - local.set $0 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/fromSpace - local.get $0 - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/white - i32.eqz - global.set $~lib/collector/itcm/white - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - global.set $~lib/collector/itcm/iter - i32.const 3 - global.set $~lib/collector/itcm/state - end - end - br $break|0 - end - global.get $~lib/collector/itcm/iter - local.tee $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - global.set $~lib/collector/itcm/iter - local.get $0 - i32.const 160 - i32.ge_u - if - local.get $0 - call $~lib/allocator/tlsf/__mem_free - end - else - global.get $~lib/collector/itcm/toSpace - local.tee $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - i32.const 1 - global.set $~lib/collector/itcm/state - end - end - ) - (func $~lib/collector/itcm/__ref_collect (; 35 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/maybeInit - loop $continue|0 - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - if - call $~lib/collector/itcm/step - br $continue|0 - end - end - loop $continue|1 - call $~lib/collector/itcm/step - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - br_if $continue|1 - end - ) - (func $~lib/runtime/runtime.collect (; 36 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/__ref_collect - ) - (func $start (; 37 ;) (type $FUNCSIG$v) - i32.const 0 - call $~lib/util/runtime/allocate - i32.const 3 - call $~lib/util/runtime/register - global.set $~lib/runtime/ROOT - ) - (func $~lib/runtime/__gc_mark_roots (; 38 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/runtime/ROOT - local.tee $0 - if - call $~lib/collector/itcm/maybeInit - global.get $~lib/collector/itcm/white - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - call $~lib/collector/itcm/ManagedObject#makeGray - end - end - ) - (func $~lib/runtime/__runtime_instanceof (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - i32.const 1 - i32.sub - br_table $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - return - end - i32.const 0 - ) - (func $null (; 40 ;) (type $FUNCSIG$v) - nop - ) - (func $~lib/runtime/runtime.newArray|trampoline (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc - ) ) diff --git a/tests/compiler/class.ts b/tests/compiler/class.ts index 80355753..0a00636e 100644 --- a/tests/compiler/class.ts +++ b/tests/compiler/class.ts @@ -1,3 +1,5 @@ +import "allocator/arena"; + class Animal { static ONE: i32 = 1; static add(a: i32, b: i32): i32 { return a + b + Animal.ONE; } diff --git a/tests/compiler/class.untouched.wat b/tests/compiler/class.untouched.wat index c48c2f31..35b3696e 100644 --- a/tests/compiler/class.untouched.wat +++ b/tests/compiler/class.untouched.wat @@ -6,61 +6,14 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$fiff (func (param i32 f32 f32) (result f32))) - (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/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00c\00l\00a\00s\00s\00.\00t\00s\00") - (data (i32.const 40) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 104) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $class/Animal.ONE (mut i32) (i32.const 1)) - (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) - (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/allocator/tlsf/Root.SL_START i32 (i32.const 4)) - (global $~lib/allocator/tlsf/SL_BITS i32 (i32.const 5)) - (global $~lib/allocator/tlsf/SB_BITS i32 (i32.const 8)) - (global $~lib/allocator/tlsf/FL_BITS i32 (i32.const 22)) - (global $~lib/allocator/tlsf/Root.SL_END i32 (i32.const 92)) - (global $~lib/allocator/tlsf/Root.HL_START i32 (i32.const 96)) - (global $~lib/allocator/tlsf/SL_SIZE i32 (i32.const 32)) - (global $~lib/allocator/tlsf/Root.HL_END i32 (i32.const 2912)) - (global $~lib/allocator/tlsf/Root.SIZE i32 (i32.const 2916)) - (global $~lib/allocator/tlsf/Block.INFO i32 (i32.const 8)) - (global $~lib/allocator/tlsf/Block.MIN_SIZE i32 (i32.const 16)) - (global $~lib/allocator/tlsf/FREE i32 (i32.const 1)) - (global $~lib/allocator/tlsf/LEFT_FREE i32 (i32.const 2)) - (global $~lib/allocator/tlsf/TAGS i32 (i32.const 3)) - (global $~lib/allocator/tlsf/Block.MAX_SIZE i32 (i32.const 1073741824)) - (global $~lib/allocator/tlsf/SB_SIZE i32 (i32.const 256)) - (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) - (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) - (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 160)) - (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $class/test)) - (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "$.flags" (func $~lib/runtime/runtime.flags)) - (export "$.newObject" (func $~lib/runtime/runtime.newObject)) - (export "$.newString" (func $~lib/runtime/runtime.newString)) - (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "$.retain" (func $~lib/runtime/runtime.retain)) - (export "$.release" (func $~lib/runtime/runtime.release)) - (export "$.collect" (func $~lib/runtime/runtime.collect)) - (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $class/Animal.add (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -84,10 +37,10 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 13 + i32.const 16 + i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $class/Animal.ONE @@ -161,2276 +114,9 @@ local.set $2 local.get $2 ) - (func $~lib/runtime/runtime.instanceof (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - if (result i32) - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof - else - i32.const 0 - end - ) - (func $~lib/runtime/runtime.flags (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/runtime/__runtime_flags - ) - (func $~lib/util/runtime/adjust (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 1 - i32.const 32 - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.add - i32.const 1 - i32.sub - i32.clz - i32.sub - i32.shl - ) - (func $~lib/allocator/tlsf/Root#set:tailRef (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - i32.const 0 - local.get $1 - i32.store offset=2912 - ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 159 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 4 - i32.mul - i32.add - local.get $2 - i32.store offset=4 - ) - (func $~lib/allocator/tlsf/Root#setHead (; 12 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 184 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 185 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.mul - local.get $2 - i32.add - i32.const 4 - i32.mul - i32.add - local.get $3 - i32.store offset=96 - ) - (func $~lib/allocator/tlsf/Root#get:tailRef (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 0 - i32.load offset=2912 - ) - (func $~lib/allocator/tlsf/Block#get:right (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 104 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - local.tee $1 - i32.eqz - if (result i32) - i32.const 0 - i32.const 56 - i32.const 105 - i32.const 11 - call $~lib/env/abort - unreachable - else - local.get $1 - end - ) - (func $~lib/allocator/tlsf/fls (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 447 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 31 - local.get $0 - i32.clz - i32.sub - ) - (func $~lib/allocator/tlsf/Root#getHead (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 175 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 176 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.mul - local.get $2 - i32.add - i32.const 4 - i32.mul - i32.add - i32.load offset=96 - ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 153 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 4 - i32.mul - i32.add - i32.load offset=4 - ) - (func $~lib/allocator/tlsf/Root#remove (; 18 ;) (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.get $1 - i32.load - local.set $2 - local.get $2 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 279 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $5 - local.get $3 - i32.const 8 - i32.div_u - local.set $6 - else - local.get $3 - call $~lib/allocator/tlsf/fls - local.set $5 - local.get $3 - local.get $5 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $6 - local.get $5 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $5 - end - local.get $1 - i32.load offset=4 - local.set $7 - local.get $1 - i32.load offset=8 - local.set $8 - local.get $7 - if - local.get $7 - local.get $8 - i32.store offset=8 - end - local.get $8 - if - local.get $8 - local.get $7 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.get $5 - local.get $6 - call $~lib/allocator/tlsf/Root#getHead - i32.eq - if - local.get $0 - local.get $5 - local.get $6 - local.get $8 - call $~lib/allocator/tlsf/Root#setHead - local.get $8 - i32.eqz - if - local.get $0 - local.get $5 - call $~lib/allocator/tlsf/Root#getSLMap - local.set $4 - local.get $0 - local.get $5 - local.get $4 - i32.const 1 - local.get $6 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $4 - call $~lib/allocator/tlsf/Root#setSLMap - local.get $4 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/allocator/tlsf/Block#get:left (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 96 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 4 - i32.sub - i32.load - local.tee $1 - i32.eqz - if (result i32) - i32.const 0 - i32.const 56 - i32.const 97 - i32.const 11 - call $~lib/env/abort - unreachable - else - local.get $1 - end - ) - (func $~lib/allocator/tlsf/Root#setJump (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - i32.load - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 353 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.get $2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 354 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 355 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 4 - i32.sub - local.get $1 - i32.store - ) - (func $~lib/allocator/tlsf/Root#insert (; 21 ;) (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.get $1 - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 208 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.set $2 - local.get $2 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 210 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.tee $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 212 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 56 - i32.const 216 - i32.const 23 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $5 - local.get $5 - i32.load - local.set $6 - local.get $6 - global.get $~lib/allocator/tlsf/FREE - i32.and - if - local.get $0 - local.get $5 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $2 - global.get $~lib/allocator/tlsf/Block.INFO - local.get $6 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - i32.add - local.tee $2 - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.set $5 - local.get $5 - i32.load - local.set $6 - end - local.get $2 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - if - local.get $1 - call $~lib/allocator/tlsf/Block#get:left - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 56 - i32.const 230 - i32.const 24 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $4 - local.get $4 - i32.load - local.set $7 - local.get $7 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 232 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $4 - call $~lib/allocator/tlsf/Root#remove - local.get $4 - local.get $7 - global.get $~lib/allocator/tlsf/Block.INFO - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - i32.add - local.tee $7 - i32.store - local.get $4 - local.set $1 - local.get $7 - local.set $2 - end - local.get $5 - local.get $6 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.or - i32.store - local.get $0 - local.get $1 - local.get $5 - call $~lib/allocator/tlsf/Root#setJump - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $7 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $7 - end - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 245 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $8 - local.get $3 - i32.const 8 - i32.div_u - local.set $9 - else - local.get $3 - call $~lib/allocator/tlsf/fls - local.set $8 - local.get $3 - local.get $8 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $9 - local.get $8 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $8 - end - local.get $0 - local.get $8 - local.get $9 - call $~lib/allocator/tlsf/Root#getHead - local.set $10 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $10 - i32.store offset=8 - local.get $10 - if - local.get $10 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $8 - local.get $9 - local.get $1 - call $~lib/allocator/tlsf/Root#setHead - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $8 - i32.shl - i32.or - i32.store - local.get $0 - local.get $8 - local.get $0 - local.get $8 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $9 - i32.shl - i32.or - call $~lib/allocator/tlsf/Root#setSLMap - ) - (func $~lib/allocator/tlsf/Root#addMemory (; 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) - (local $8 i32) - local.get $1 - local.get $2 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 396 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 397 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 398 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/Root#get:tailRef - local.set $3 - i32.const 0 - local.set $4 - local.get $3 - if - local.get $1 - local.get $3 - i32.const 4 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 403 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.get $3 - i32.eq - if - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $1 - local.get $3 - i32.load - local.set $4 - end - else - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Root.SIZE - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 412 - i32.const 6 - call $~lib/env/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.set $5 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.add - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - i32.lt_u - if - i32.const 0 - return - end - local.get $5 - i32.const 2 - global.get $~lib/allocator/tlsf/Block.INFO - i32.mul - i32.sub - local.set $6 - local.get $1 - local.set $7 - local.get $7 - local.get $6 - global.get $~lib/allocator/tlsf/FREE - i32.or - local.get $4 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.or - i32.store - local.get $7 - i32.const 0 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - local.get $1 - local.get $5 - i32.add - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $8 - local.get $8 - i32.const 0 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.or - i32.store - local.get $0 - local.get $8 - call $~lib/allocator/tlsf/Root#set:tailRef - local.get $0 - local.get $7 - call $~lib/allocator/tlsf/Root#insert - i32.const 1 - ) - (func $~lib/allocator/tlsf/ffs (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/ffs (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/Root#search (; 25 ;) (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 $1 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $2 - if (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $2 - end - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 315 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $3 - local.get $1 - i32.const 8 - i32.div_u - local.set $4 - else - local.get $1 - call $~lib/allocator/tlsf/fls - local.set $3 - local.get $1 - local.get $3 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $4 - local.get $3 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $3 - local.get $4 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.const 1 - i32.sub - i32.lt_u - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - else - local.get $3 - i32.const 1 - i32.add - local.set $3 - i32.const 0 - local.set $4 - end - end - local.get $0 - local.get $3 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 0 - i32.const -1 - i32.xor - local.get $4 - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - local.get $0 - i32.load - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - else - local.get $2 - call $~lib/allocator/tlsf/ffs - local.set $3 - local.get $0 - local.get $3 - call $~lib/allocator/tlsf/Root#getSLMap - local.tee $7 - if (result i32) - local.get $7 - else - i32.const 0 - i32.const 56 - i32.const 342 - i32.const 16 - call $~lib/env/abort - unreachable - end - local.set $5 - local.get $0 - local.get $3 - local.get $5 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - local.set $6 - end - else - local.get $0 - local.get $3 - local.get $5 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - local.set $6 - end - local.get $6 - ) - (func $~lib/allocator/tlsf/Root#use (; 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.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 367 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $2 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 368 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 369 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $3 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $5 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.add - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.or - i32.store - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - local.get $2 - i32.add - local.set $4 - local.get $4 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $0 - local.get $4 - call $~lib/allocator/tlsf/Root#insert - else - local.get $1 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 56 - i32.const 387 - i32.const 25 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $4 - local.get $4 - local.get $4 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.const -1 - i32.xor - i32.and - i32.store - end - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - ) - (func $~lib/allocator/tlsf/__mem_allocate (; 27 ;) (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 $7 i32) - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - i32.eqz - if - global.get $~lib/memory/HEAP_BASE - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.set $2 - current_memory - local.set $3 - local.get $2 - global.get $~lib/allocator/tlsf/Root.SIZE - 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 $4 - local.get $4 - local.get $3 - i32.gt_s - local.tee $5 - if (result i32) - local.get $4 - local.get $3 - i32.sub - grow_memory - i32.const 0 - i32.lt_s - else - local.get $5 - end - if - unreachable - end - local.get $2 - local.tee $1 - global.set $~lib/allocator/tlsf/ROOT - local.get $1 - i32.const 0 - call $~lib/allocator/tlsf/Root#set:tailRef - local.get $1 - i32.const 0 - i32.store - block $break|0 - i32.const 0 - local.set $5 - loop $repeat|0 - local.get $5 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - br_if $break|0 - block - local.get $1 - local.get $5 - i32.const 0 - call $~lib/allocator/tlsf/Root#setSLMap - block $break|1 - i32.const 0 - local.set $6 - loop $repeat|1 - local.get $6 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - br_if $break|1 - local.get $1 - local.get $5 - local.get $6 - i32.const 0 - call $~lib/allocator/tlsf/Root#setHead - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $repeat|1 - unreachable - end - unreachable - end - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $repeat|0 - unreachable - end - unreachable - end - local.get $1 - local.get $2 - global.get $~lib/allocator/tlsf/Root.SIZE - i32.add - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - drop - end - local.get $0 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.gt_u - if - unreachable - end - local.get $0 - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.tee $4 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - local.tee $3 - local.get $4 - local.get $3 - i32.gt_u - select - local.set $0 - local.get $1 - local.get $0 - call $~lib/allocator/tlsf/Root#search - local.set $7 - local.get $7 - i32.eqz - if - current_memory - local.set $4 - local.get $0 - 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 $4 - local.tee $2 - local.get $3 - local.tee $5 - local.get $2 - local.get $5 - i32.gt_s - select - local.set $2 - local.get $2 - grow_memory - i32.const 0 - i32.lt_s - if - local.get $3 - grow_memory - i32.const 0 - i32.lt_s - if - unreachable - end - end - current_memory - local.set $5 - local.get $1 - local.get $4 - i32.const 16 - i32.shl - local.get $5 - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - drop - local.get $1 - local.get $0 - call $~lib/allocator/tlsf/Root#search - local.tee $6 - i32.eqz - if (result i32) - i32.const 0 - i32.const 56 - i32.const 502 - i32.const 12 - call $~lib/env/abort - unreachable - else - local.get $6 - end - local.set $7 - end - local.get $7 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.get $0 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 505 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - local.get $7 - local.get $0 - call $~lib/allocator/tlsf/Root#use - ) - (func $~lib/memory/memory.allocate (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_allocate - return - ) - (func $~lib/util/runtime/allocate (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - call $~lib/util/runtime/adjust - call $~lib/memory/memory.allocate - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_MAGIC - i32.store - local.get $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=12 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.add - ) - (func $~lib/collector/itcm/ManagedObjectList#clear (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - ) - (func $~lib/collector/itcm/maybeInit (; 31 ;) (type $FUNCSIG$v) - global.get $~lib/collector/itcm/state - i32.const 0 - i32.eq - if - global.get $~lib/util/runtime/HEADER_SIZE - call $~lib/memory/memory.allocate - global.set $~lib/collector/itcm/fromSpace - global.get $~lib/collector/itcm/fromSpace - i32.const -1 - i32.store - global.get $~lib/collector/itcm/fromSpace - i32.const 0 - i32.store offset=4 - global.get $~lib/collector/itcm/fromSpace - call $~lib/collector/itcm/ManagedObjectList#clear - global.get $~lib/util/runtime/HEADER_SIZE - call $~lib/memory/memory.allocate - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/toSpace - i32.const -1 - i32.store - global.get $~lib/collector/itcm/toSpace - i32.const 0 - i32.store offset=4 - global.get $~lib/collector/itcm/toSpace - call $~lib/collector/itcm/ManagedObjectList#clear - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/iter - i32.const 1 - global.set $~lib/collector/itcm/state - end - ) - (func $~lib/collector/itcm/ManagedObject#set:color (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/ManagedObject#set:next (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.and - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $0 - call $~lib/collector/itcm/ManagedObject#set:next - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $1 - call $~lib/collector/itcm/ManagedObject#set:next - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/collector/itcm/__ref_register (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.0 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $2 - local.get $2 - global.get $~lib/collector/itcm/white - call $~lib/collector/itcm/ManagedObject#set:color - global.get $~lib/collector/itcm/fromSpace - local.get $2 - call $~lib/collector/itcm/ManagedObjectList#push - ) - (func $~lib/util/runtime/register (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 128 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - local.set $2 - local.get $2 - i32.load - global.get $~lib/util/runtime/HEADER_MAGIC - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 130 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $1 - i32.store - local.get $0 - call $~lib/collector/itcm/__ref_register - local.get $0 - ) - (func $~lib/runtime/runtime.newObject (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - call $~lib/util/runtime/allocate - local.get $1 - call $~lib/util/runtime/register - ) - (func $~lib/runtime/runtime.newString (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/runtime/runtime.newArrayBuffer (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 2 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.and - ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - call $~lib/collector/itcm/ManagedObject#get:next - local.set $1 - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $1 - call $~lib/collector/itcm/ManagedObject#set:next - ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/collector/itcm/iter - i32.eq - if - local.get $0 - i32.load offset=12 - global.set $~lib/collector/itcm/iter - end - local.get $0 - call $~lib/collector/itcm/ManagedObject#unlink - global.get $~lib/collector/itcm/toSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - local.get $0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 2 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/__ref_link (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.1 (result i32) - local.get $1 - local.set $2 - local.get $2 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $3 - local.get $3 - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eqz - i32.eq - local.tee $2 - if (result i32) - block $~lib/collector/itcm/refToObj|inlined.3 (result i32) - local.get $0 - local.set $2 - local.get $2 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eq - else - local.get $2 - end - if - local.get $3 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/memory/memory.copy (; 45 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.get $1 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - 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 - block $break|0 - loop $continue|0 - local.get $0 - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - end - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - br $continue|1 - end - end - end - end - block $break|2 - loop $continue|2 - local.get $2 - if - block - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - end - br $continue|2 - end - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $0 - local.get $2 - i32.add - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - end - br $continue|3 - end - end - end - block $break|4 - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - end - br $continue|4 - end - end - end - end - block $break|5 - loop $continue|5 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 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) - (local $7 i32) - (local $8 i32) - (local $9 i32) - i32.const 16 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.set $4 - local.get $0 - local.get $1 - i32.shl - local.set $5 - local.get $5 - call $~lib/util/runtime/allocate - i32.const 2 - call $~lib/util/runtime/register - local.set $6 - local.get $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - i32.load - local.tee $9 - i32.ne - if (result i32) - nop - local.get $8 - local.get $7 - call $~lib/collector/itcm/__ref_link - local.get $8 - else - local.get $8 - end - 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 $~lib/runtime/Root#constructor (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - call $~lib/util/runtime/allocate - i32.const 3 - call $~lib/util/runtime/register - local.set $0 - end - local.get $0 - ) - (func $~lib/runtime/runtime.retain (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/runtime/ROOT - call $~lib/collector/itcm/__ref_link - ) - (func $~lib/runtime/runtime.release (; 49 ;) (type $FUNCSIG$vi) (param $0 i32) - nop - ) - (func $~lib/allocator/tlsf/__mem_free (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - if - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/memory/memory.free (; 51 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/collector/itcm/step (; 52 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - global.get $~lib/collector/itcm/state - local.set $1 - local.get $1 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $1 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $1 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $1 - i32.const 3 - i32.eq - br_if $case3|0 - br $break|0 - end - unreachable - end - block - call $~lib/runtime/__gc_mark_roots - i32.const 2 - global.set $~lib/collector/itcm/state - br $break|0 - unreachable - end - unreachable - end - block - global.get $~lib/collector/itcm/iter - call $~lib/collector/itcm/ManagedObject#get:next - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/collector/itcm/white - i32.eqz - call $~lib/collector/itcm/ManagedObject#set:color - local.get $0 - i32.load - block $~lib/collector/itcm/objToRef|inlined.0 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.add - end - call $~lib/runtime/__gc_mark_members - else - call $~lib/runtime/__gc_mark_roots - global.get $~lib/collector/itcm/iter - call $~lib/collector/itcm/ManagedObject#get:next - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.eq - if - global.get $~lib/collector/itcm/fromSpace - local.set $1 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/fromSpace - local.get $1 - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/white - i32.eqz - global.set $~lib/collector/itcm/white - local.get $1 - call $~lib/collector/itcm/ManagedObject#get:next - global.set $~lib/collector/itcm/iter - i32.const 3 - global.set $~lib/collector/itcm/state - end - end - br $break|0 - unreachable - end - unreachable - end - block - global.get $~lib/collector/itcm/iter - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - call $~lib/collector/itcm/ManagedObject#get:next - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.ge_u - if - local.get $0 - call $~lib/memory/memory.free - end - else - global.get $~lib/collector/itcm/toSpace - call $~lib/collector/itcm/ManagedObjectList#clear - i32.const 1 - global.set $~lib/collector/itcm/state - end - br $break|0 - unreachable - end - unreachable - end - ) - (func $~lib/collector/itcm/__ref_collect (; 53 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/maybeInit - block $break|0 - loop $continue|0 - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - if - call $~lib/collector/itcm/step - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - call $~lib/collector/itcm/step - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - br_if $continue|1 - end - end - ) - (func $~lib/runtime/runtime.collect (; 54 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/__ref_collect - ) - (func $~lib/runtime/runtime#constructor (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - unreachable - ) - (func $start (; 56 ;) (type $FUNCSIG$v) + (func $start (; 7 ;) (type $FUNCSIG$v) call $start:class - i32.const 0 - call $~lib/runtime/Root#constructor - global.set $~lib/runtime/ROOT ) - (func $~lib/collector/itcm/__ref_mark (; 57 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.4 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $2 - local.get $2 - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eq - if - local.get $2 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/runtime/__gc_mark_roots (; 58 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/runtime/ROOT - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - ) - (func $~lib/runtime/__gc_mark_members (; 59 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - block $invalid - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid - end - return - end - return - end - return - end - unreachable - ) - (func $~lib/runtime/__runtime_instanceof (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $nope $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - return - end - i32.const 0 - return - ) - (func $~lib/runtime/__runtime_flags (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $invalid - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - unreachable - ) - (func $null (; 62 ;) (type $FUNCSIG$v) - ) - (func $~lib/runtime/runtime.newArray|trampoline (; 63 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 64 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc + (func $null (; 8 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/closure.json b/tests/compiler/closure.json index 9e26dfee..b1da366f 100644 --- a/tests/compiler/closure.json +++ b/tests/compiler/closure.json @@ -1 +1,5 @@ -{} \ No newline at end of file +{ + "asc_flags": [ + "--runtime none" + ] +} \ No newline at end of file diff --git a/tests/compiler/closure.optimized.wat b/tests/compiler/closure.optimized.wat index 5c190147..bb456a11 100644 --- a/tests/compiler/closure.optimized.wat +++ b/tests/compiler/closure.optimized.wat @@ -1,1908 +1,8 @@ (module - (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 8) "\01\00\00\00,") - (data (i32.const 24) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 72) "\01\00\00\00(") - (data (i32.const 88) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) - (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) - (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/capabilities i32 (i32.const 2)) + (memory $0 0) (export "memory" (memory $0)) - (export "table" (table $0)) - (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "$.flags" (func $~lib/runtime/runtime.flags)) - (export "$.newObject" (func $~lib/runtime/runtime.newObject)) - (export "$.newString" (func $~lib/runtime/runtime.newString)) - (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "$.retain" (func $~lib/runtime/runtime.retain)) - (export "$.release" (func $~lib/runtime/runtime.release)) - (export "$.collect" (func $~lib/runtime/runtime.collect)) - (export "$.capabilities" (global $~lib/capabilities)) - (start $start) - (func $~lib/runtime/runtime.instanceof (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - if (result i32) - local.get $0 - i32.const 16 - i32.sub - i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof - else - i32.const 0 - end - ) - (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $__inlined_func$~lib/runtime/__runtime_flags - block $invalid - local.get $0 - i32.const 1 - i32.sub - br_table $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $invalid - end - unreachable - end - i32.const 0 - ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 159 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - local.get $2 - i32.store offset=4 - ) - (func $~lib/allocator/tlsf/Root#setHead (; 4 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 184 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 32 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 185 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 5 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - local.get $3 - i32.store offset=96 - ) - (func $~lib/allocator/tlsf/Block#get:right (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load - i32.const -4 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 104 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 8 - i32.add - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 105 - i32.const 11 - call $~lib/env/abort - unreachable - end - local.get $0 - ) - (func $~lib/allocator/tlsf/fls (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 447 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 31 - local.get $0 - i32.clz - i32.sub - ) - (func $~lib/allocator/tlsf/Root#getHead (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 175 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 32 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 176 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 5 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 153 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - ) - (func $~lib/allocator/tlsf/Root#remove (; 9 ;) (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 $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const -4 - i32.and - local.tee $3 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $3 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 279 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u - if (result i32) - local.get $3 - i32.const 8 - i32.div_u - local.set $4 - i32.const 0 - else - local.get $3 - local.get $3 - call $~lib/allocator/tlsf/fls - local.tee $2 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.set $4 - local.get $2 - i32.const 7 - i32.sub - end - local.set $2 - local.get $1 - i32.load offset=8 - local.set $3 - local.get $1 - i32.load offset=4 - local.tee $5 - if - local.get $5 - local.get $3 - i32.store offset=8 - end - local.get $3 - if - local.get $3 - local.get $5 - i32.store offset=4 - end - local.get $0 - local.get $2 - local.get $4 - call $~lib/allocator/tlsf/Root#getHead - local.get $1 - i32.eq - if - local.get $0 - local.get $2 - local.get $4 - local.get $3 - call $~lib/allocator/tlsf/Root#setHead - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $1 - call $~lib/allocator/tlsf/Root#setSLMap - local.get $1 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $2 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/allocator/tlsf/Block#get:left (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load - i32.const 2 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 96 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 4 - i32.sub - i32.load - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 97 - i32.const 11 - call $~lib/env/abort - unreachable - end - local.get $0 - ) - (func $~lib/allocator/tlsf/Root#setJump (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 353 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/Block#get:right - local.get $1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 354 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const 2 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 355 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 4 - i32.sub - local.get $0 - i32.store - ) - (func $~lib/allocator/tlsf/Root#insert (; 12 ;) (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.eqz - if - i32.const 0 - i32.const 24 - i32.const 208 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.tee $3 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 210 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const -4 - i32.and - local.tee $4 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $4 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 212 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 216 - i32.const 23 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.load - local.tee $4 - i32.const 1 - i32.and - if - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $4 - i32.const -4 - i32.and - i32.const 8 - i32.add - local.get $3 - i32.add - local.tee $3 - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $2 - i32.load - local.set $4 - end - local.get $3 - i32.const 2 - i32.and - if - local.get $1 - call $~lib/allocator/tlsf/Block#get:left - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 230 - i32.const 24 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.tee $5 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 232 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $3 - i32.const -4 - i32.and - i32.const 8 - i32.add - local.get $5 - i32.add - local.tee $3 - i32.store - end - local.get $2 - local.get $4 - i32.const 2 - i32.or - i32.store - local.get $1 - local.get $2 - call $~lib/allocator/tlsf/Root#setJump - local.get $3 - i32.const -4 - i32.and - local.tee $3 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $3 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 245 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $3 - i32.const 256 - i32.lt_u - if (result i32) - local.get $3 - i32.const 8 - i32.div_u - local.set $3 - i32.const 0 - else - local.get $3 - local.get $3 - call $~lib/allocator/tlsf/fls - local.tee $2 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.set $3 - local.get $2 - i32.const 7 - i32.sub - end - local.tee $2 - local.get $3 - call $~lib/allocator/tlsf/Root#getHead - local.set $4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $4 - if - local.get $4 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $2 - local.get $3 - local.get $1 - call $~lib/allocator/tlsf/Root#setHead - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $2 - i32.shl - i32.or - i32.store - local.get $0 - local.get $2 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $3 - i32.shl - i32.or - call $~lib/allocator/tlsf/Root#setSLMap - ) - (func $~lib/allocator/tlsf/Root#addMemory (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $2 - i32.gt_u - if - i32.const 0 - i32.const 24 - i32.const 396 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 397 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 398 - i32.const 4 - call $~lib/env/abort - unreachable - end - i32.const 2912 - i32.load - local.tee $3 - if - local.get $1 - local.get $3 - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 403 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 8 - i32.sub - local.get $3 - i32.eq - if - local.get $3 - i32.load - local.set $4 - local.get $1 - i32.const 8 - i32.sub - local.set $1 - end - else - local.get $1 - local.get $0 - i32.const 2916 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 412 - i32.const 6 - call $~lib/env/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.tee $2 - i32.const 32 - i32.lt_u - if - return - end - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.or - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - local.get $2 - i32.add - i32.const 8 - i32.sub - local.tee $2 - i32.const 2 - i32.store - i32.const 2912 - local.get $2 - i32.store - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#insert - ) - (func $~lib/allocator/tlsf/ffs (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/Root#search (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $1 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 315 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - i32.const 0 - local.set $2 - local.get $1 - i32.const 8 - i32.div_u - else - local.get $1 - call $~lib/allocator/tlsf/fls - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.tee $1 - i32.const 31 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.add - else - local.get $2 - i32.const 1 - i32.add - local.set $2 - i32.const 0 - end - end - local.set $1 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - 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 $0 - local.get $1 - call $~lib/allocator/tlsf/ffs - local.tee $2 - call $~lib/allocator/tlsf/Root#getSLMap - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 342 - i32.const 16 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - else - i32.const 0 - end - end - ) - (func $~lib/allocator/tlsf/Root#use (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - local.get $1 - i32.load - local.tee $4 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 367 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 16 - i32.ge_u - local.tee $3 - if - local.get $2 - i32.const 1073741824 - i32.lt_u - local.set $3 - end - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 368 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 369 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $4 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $3 - i32.const 24 - i32.ge_u - if - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.or - i32.store - local.get $1 - i32.const 8 - i32.add - local.get $2 - i32.add - local.tee $2 - local.get $3 - i32.const 8 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#insert - else - local.get $1 - local.get $4 - i32.const -2 - i32.and - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 387 - i32.const 25 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $0 - i32.load - i32.const -3 - i32.and - i32.store - end - local.get $1 - i32.const 8 - i32.add - ) - (func $~lib/allocator/tlsf/__mem_allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/allocator/tlsf/ROOT - local.tee $2 - i32.eqz - if - i32.const 1 - current_memory - local.tee $1 - i32.gt_s - local.tee $2 - if (result i32) - i32.const 1 - local.get $1 - i32.sub - grow_memory - i32.const 0 - i32.lt_s - else - local.get $2 - end - if - unreachable - end - i32.const 128 - local.set $2 - i32.const 128 - global.set $~lib/allocator/tlsf/ROOT - i32.const 2912 - i32.const 0 - i32.store - i32.const 128 - i32.const 0 - i32.store - i32.const 0 - local.set $1 - loop $repeat|0 - local.get $1 - i32.const 22 - i32.lt_u - if - i32.const 128 - local.get $1 - i32.const 0 - call $~lib/allocator/tlsf/Root#setSLMap - i32.const 0 - local.set $3 - loop $repeat|1 - local.get $3 - i32.const 32 - i32.lt_u - if - i32.const 128 - local.get $1 - local.get $3 - i32.const 0 - call $~lib/allocator/tlsf/Root#setHead - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $repeat|1 - end - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $repeat|0 - end - end - i32.const 128 - i32.const 3048 - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - end - local.get $0 - i32.const 1073741824 - i32.gt_u - if - unreachable - end - local.get $2 - local.get $0 - i32.const 7 - i32.add - i32.const -8 - i32.and - local.tee $0 - i32.const 16 - local.get $0 - i32.const 16 - i32.gt_u - select - local.tee $1 - call $~lib/allocator/tlsf/Root#search - local.tee $0 - i32.eqz - if - current_memory - local.tee $0 - local.get $1 - i32.const 65535 - i32.add - i32.const -65536 - i32.and - i32.const 16 - i32.shr_u - local.tee $3 - local.get $0 - local.get $3 - i32.gt_s - select - grow_memory - i32.const 0 - i32.lt_s - if - local.get $3 - grow_memory - i32.const 0 - i32.lt_s - if - unreachable - end - end - local.get $2 - local.get $0 - i32.const 16 - i32.shl - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/Root#search - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 502 - i32.const 12 - call $~lib/env/abort - unreachable - end - end - local.get $0 - i32.load - i32.const -4 - i32.and - local.get $1 - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 505 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#use - ) - (func $~lib/util/runtime/allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - i32.const 1 - i32.const 32 - local.get $0 - i32.const 15 - i32.add - i32.clz - i32.sub - i32.shl - call $~lib/allocator/tlsf/__mem_allocate - local.tee $1 - i32.const -1520547049 - i32.store - local.get $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=12 - local.get $1 - i32.const 16 - i32.add - ) - (func $~lib/collector/itcm/maybeInit (; 19 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/collector/itcm/state - i32.eqz - if - i32.const 16 - call $~lib/allocator/tlsf/__mem_allocate - global.set $~lib/collector/itcm/fromSpace - global.get $~lib/collector/itcm/fromSpace - local.tee $0 - i32.const -1 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - i32.const 16 - call $~lib/allocator/tlsf/__mem_allocate - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/toSpace - local.tee $0 - i32.const -1 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/iter - i32.const 1 - global.set $~lib/collector/itcm/state - end - ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.and - local.get $0 - i32.or - i32.store offset=8 - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.and - local.get $1 - i32.or - i32.store offset=8 - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/collector/itcm/__ref_register (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) - call $~lib/collector/itcm/maybeInit - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - global.get $~lib/collector/itcm/white - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.or - i32.store offset=8 - global.get $~lib/collector/itcm/fromSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - ) - (func $~lib/util/runtime/register (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - i32.const 128 - i32.le_u - if - i32.const 0 - i32.const 88 - i32.const 128 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $2 - i32.load - i32.const -1520547049 - i32.ne - if - i32.const 0 - i32.const 88 - i32.const 130 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $1 - i32.store - block - local.get $0 - call $~lib/collector/itcm/__ref_register - end - local.get $0 - ) - (func $~lib/runtime/runtime.newObject (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - call $~lib/util/runtime/allocate - local.get $1 - call $~lib/util/runtime/register - ) - (func $~lib/runtime/runtime.newString (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/runtime/runtime.newArrayBuffer (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 2 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/collector/itcm/iter - local.get $0 - i32.eq - if - local.get $0 - i32.load offset=12 - global.set $~lib/collector/itcm/iter - end - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - local.tee $2 - local.get $0 - i32.load offset=12 - local.tee $1 - i32.store offset=12 - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.and - local.get $2 - i32.or - i32.store offset=8 - global.get $~lib/collector/itcm/toSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - local.get $0 - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.const 2 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/__ref_link (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - global.get $~lib/collector/itcm/white - i32.eqz - local.get $1 - i32.const 16 - i32.sub - local.tee $2 - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - local.tee $1 - if (result i32) - global.get $~lib/collector/itcm/white - local.get $0 - i32.const 16 - i32.sub - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - else - local.get $1 - end - if - local.get $2 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/memory/memory.copy (; 28 ;) (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 $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 $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - br $continue|0 - end - end - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - 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 $2 - if - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - 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 $2 - i32.add - i32.const 7 - i32.and - if - local.get $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - end - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - br $continue|4 - end - end - end - loop $continue|5 - local.get $2 - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 29 ;) (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 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.tee $2 - local.set $6 - local.get $0 - local.get $1 - i32.shl - local.tee $4 - call $~lib/util/runtime/allocate - i32.const 2 - call $~lib/util/runtime/register - local.tee $5 - local.tee $1 - local.get $2 - i32.load - i32.ne - if - local.get $1 - local.get $6 - call $~lib/collector/itcm/__ref_link - end - local.get $2 - local.get $1 - i32.store - local.get $2 - local.get $5 - i32.store offset=4 - local.get $2 - local.get $4 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=12 - local.get $3 - if - local.get $5 - local.get $3 - local.get $4 - call $~lib/memory/memory.copy - end - local.get $2 - ) - (func $~lib/runtime/runtime.retain (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/runtime/ROOT - call $~lib/collector/itcm/__ref_link - ) - (func $~lib/runtime/runtime.release (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $null (; 0 ;) (type $FUNCSIG$v) nop ) - (func $~lib/allocator/tlsf/__mem_free (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.tee $1 - if - local.get $0 - i32.const 8 - i32.sub - local.tee $2 - i32.load - local.tee $3 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - i32.const 1 - i32.or - i32.store - local.get $1 - local.get $0 - i32.const 8 - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/collector/itcm/step (; 33 ;) (type $FUNCSIG$v) - (local $0 i32) - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - global.get $~lib/collector/itcm/state - local.tee $0 - if - local.get $0 - i32.const 1 - i32.sub - br_table $case1|0 $case2|0 $case3|0 $break|0 - end - unreachable - end - call $~lib/runtime/__gc_mark_roots - i32.const 2 - global.set $~lib/collector/itcm/state - br $break|0 - end - global.get $~lib/collector/itcm/iter - i32.load offset=8 - i32.const -4 - i32.and - local.tee $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/collector/itcm/white - i32.eqz - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.or - i32.store offset=8 - block $__inlined_func$~lib/runtime/__gc_mark_members - block $invalid - local.get $0 - i32.load - i32.const 1 - i32.sub - br_table $__inlined_func$~lib/runtime/__gc_mark_members $__inlined_func$~lib/runtime/__gc_mark_members $__inlined_func$~lib/runtime/__gc_mark_members $invalid - end - unreachable - end - else - call $~lib/runtime/__gc_mark_roots - global.get $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/iter - i32.load offset=8 - i32.const -4 - i32.and - i32.eq - if - global.get $~lib/collector/itcm/fromSpace - local.set $0 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/fromSpace - local.get $0 - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/white - i32.eqz - global.set $~lib/collector/itcm/white - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - global.set $~lib/collector/itcm/iter - i32.const 3 - global.set $~lib/collector/itcm/state - end - end - br $break|0 - end - global.get $~lib/collector/itcm/iter - local.tee $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - global.set $~lib/collector/itcm/iter - local.get $0 - i32.const 128 - i32.ge_u - if - local.get $0 - call $~lib/allocator/tlsf/__mem_free - end - else - global.get $~lib/collector/itcm/toSpace - local.tee $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - i32.const 1 - global.set $~lib/collector/itcm/state - end - end - ) - (func $~lib/collector/itcm/__ref_collect (; 34 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/maybeInit - loop $continue|0 - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - if - call $~lib/collector/itcm/step - br $continue|0 - end - end - loop $continue|1 - call $~lib/collector/itcm/step - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - br_if $continue|1 - end - ) - (func $~lib/runtime/runtime.collect (; 35 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/__ref_collect - ) - (func $start (; 36 ;) (type $FUNCSIG$v) - i32.const 0 - call $~lib/util/runtime/allocate - i32.const 3 - call $~lib/util/runtime/register - global.set $~lib/runtime/ROOT - ) - (func $~lib/runtime/__gc_mark_roots (; 37 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/runtime/ROOT - local.tee $0 - if - call $~lib/collector/itcm/maybeInit - global.get $~lib/collector/itcm/white - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - call $~lib/collector/itcm/ManagedObject#makeGray - end - end - ) - (func $~lib/runtime/__runtime_instanceof (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - i32.const 1 - i32.sub - br_table $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - return - end - i32.const 0 - ) - (func $null (; 39 ;) (type $FUNCSIG$v) - nop - ) - (func $~lib/runtime/runtime.newArray|trampoline (; 40 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc - ) ) diff --git a/tests/compiler/closure.untouched.wat b/tests/compiler/closure.untouched.wat index c54dc003..29ee81b8 100644 --- a/tests/compiler/closure.untouched.wat +++ b/tests/compiler/closure.untouched.wat @@ -1,2331 +1,9 @@ (module - (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (memory $0 1) - (data (i32.const 8) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 72) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) - (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/allocator/tlsf/Root.SL_START i32 (i32.const 4)) - (global $~lib/allocator/tlsf/SL_BITS i32 (i32.const 5)) - (global $~lib/allocator/tlsf/SB_BITS i32 (i32.const 8)) - (global $~lib/allocator/tlsf/FL_BITS i32 (i32.const 22)) - (global $~lib/allocator/tlsf/Root.SL_END i32 (i32.const 92)) - (global $~lib/allocator/tlsf/Root.HL_START i32 (i32.const 96)) - (global $~lib/allocator/tlsf/SL_SIZE i32 (i32.const 32)) - (global $~lib/allocator/tlsf/Root.HL_END i32 (i32.const 2912)) - (global $~lib/allocator/tlsf/Root.SIZE i32 (i32.const 2916)) - (global $~lib/allocator/tlsf/Block.INFO i32 (i32.const 8)) - (global $~lib/allocator/tlsf/Block.MIN_SIZE i32 (i32.const 16)) - (global $~lib/allocator/tlsf/FREE i32 (i32.const 1)) - (global $~lib/allocator/tlsf/LEFT_FREE i32 (i32.const 2)) - (global $~lib/allocator/tlsf/TAGS i32 (i32.const 3)) - (global $~lib/allocator/tlsf/Block.MAX_SIZE i32 (i32.const 1073741824)) - (global $~lib/allocator/tlsf/SB_SIZE i32 (i32.const 256)) - (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) - (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) - (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 128)) - (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) - (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "$.flags" (func $~lib/runtime/runtime.flags)) - (export "$.newObject" (func $~lib/runtime/runtime.newObject)) - (export "$.newString" (func $~lib/runtime/runtime.newString)) - (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "$.retain" (func $~lib/runtime/runtime.retain)) - (export "$.release" (func $~lib/runtime/runtime.release)) - (export "$.collect" (func $~lib/runtime/runtime.collect)) - (export "$.capabilities" (global $~lib/capabilities)) - (start $start) - (func $~lib/runtime/runtime.instanceof (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - if (result i32) - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof - else - i32.const 0 - end - ) - (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/runtime/__runtime_flags - ) - (func $~lib/util/runtime/adjust (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 1 - i32.const 32 - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.add - i32.const 1 - i32.sub - i32.clz - i32.sub - i32.shl - ) - (func $~lib/allocator/tlsf/Root#set:tailRef (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - i32.const 0 - local.get $1 - i32.store offset=2912 - ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 159 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 4 - i32.mul - i32.add - local.get $2 - i32.store offset=4 - ) - (func $~lib/allocator/tlsf/Root#setHead (; 6 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 184 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 185 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.mul - local.get $2 - i32.add - i32.const 4 - i32.mul - i32.add - local.get $3 - i32.store offset=96 - ) - (func $~lib/allocator/tlsf/Root#get:tailRef (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 0 - i32.load offset=2912 - ) - (func $~lib/allocator/tlsf/Block#get:right (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 104 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - local.tee $1 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 105 - i32.const 11 - call $~lib/env/abort - unreachable - else - local.get $1 - end - ) - (func $~lib/allocator/tlsf/fls (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 447 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 31 - local.get $0 - i32.clz - i32.sub - ) - (func $~lib/allocator/tlsf/Root#getHead (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 175 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 176 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.mul - local.get $2 - i32.add - i32.const 4 - i32.mul - i32.add - i32.load offset=96 - ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 153 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 4 - i32.mul - i32.add - i32.load offset=4 - ) - (func $~lib/allocator/tlsf/Root#remove (; 12 ;) (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.get $1 - i32.load - local.set $2 - local.get $2 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 279 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $5 - local.get $3 - i32.const 8 - i32.div_u - local.set $6 - else - local.get $3 - call $~lib/allocator/tlsf/fls - local.set $5 - local.get $3 - local.get $5 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $6 - local.get $5 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $5 - end - local.get $1 - i32.load offset=4 - local.set $7 - local.get $1 - i32.load offset=8 - local.set $8 - local.get $7 - if - local.get $7 - local.get $8 - i32.store offset=8 - end - local.get $8 - if - local.get $8 - local.get $7 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.get $5 - local.get $6 - call $~lib/allocator/tlsf/Root#getHead - i32.eq - if - local.get $0 - local.get $5 - local.get $6 - local.get $8 - call $~lib/allocator/tlsf/Root#setHead - local.get $8 - i32.eqz - if - local.get $0 - local.get $5 - call $~lib/allocator/tlsf/Root#getSLMap - local.set $4 - local.get $0 - local.get $5 - local.get $4 - i32.const 1 - local.get $6 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $4 - call $~lib/allocator/tlsf/Root#setSLMap - local.get $4 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/allocator/tlsf/Block#get:left (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 96 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 4 - i32.sub - i32.load - local.tee $1 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 97 - i32.const 11 - call $~lib/env/abort - unreachable - else - local.get $1 - end - ) - (func $~lib/allocator/tlsf/Root#setJump (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - i32.load - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 353 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.get $2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 354 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 355 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 4 - i32.sub - local.get $1 - i32.store - ) - (func $~lib/allocator/tlsf/Root#insert (; 15 ;) (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.get $1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 208 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.set $2 - local.get $2 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 210 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.tee $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 212 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 216 - i32.const 23 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $5 - local.get $5 - i32.load - local.set $6 - local.get $6 - global.get $~lib/allocator/tlsf/FREE - i32.and - if - local.get $0 - local.get $5 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $2 - global.get $~lib/allocator/tlsf/Block.INFO - local.get $6 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - i32.add - local.tee $2 - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.set $5 - local.get $5 - i32.load - local.set $6 - end - local.get $2 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - if - local.get $1 - call $~lib/allocator/tlsf/Block#get:left - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 230 - i32.const 24 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $4 - local.get $4 - i32.load - local.set $7 - local.get $7 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 232 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $4 - call $~lib/allocator/tlsf/Root#remove - local.get $4 - local.get $7 - global.get $~lib/allocator/tlsf/Block.INFO - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - i32.add - local.tee $7 - i32.store - local.get $4 - local.set $1 - local.get $7 - local.set $2 - end - local.get $5 - local.get $6 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.or - i32.store - local.get $0 - local.get $1 - local.get $5 - call $~lib/allocator/tlsf/Root#setJump - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $7 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $7 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 245 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $8 - local.get $3 - i32.const 8 - i32.div_u - local.set $9 - else - local.get $3 - call $~lib/allocator/tlsf/fls - local.set $8 - local.get $3 - local.get $8 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $9 - local.get $8 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $8 - end - local.get $0 - local.get $8 - local.get $9 - call $~lib/allocator/tlsf/Root#getHead - local.set $10 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $10 - i32.store offset=8 - local.get $10 - if - local.get $10 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $8 - local.get $9 - local.get $1 - call $~lib/allocator/tlsf/Root#setHead - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $8 - i32.shl - i32.or - i32.store - local.get $0 - local.get $8 - local.get $0 - local.get $8 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $9 - i32.shl - i32.or - call $~lib/allocator/tlsf/Root#setSLMap - ) - (func $~lib/allocator/tlsf/Root#addMemory (; 16 ;) (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 $1 - local.get $2 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 396 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 397 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 398 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/Root#get:tailRef - local.set $3 - i32.const 0 - local.set $4 - local.get $3 - if - local.get $1 - local.get $3 - i32.const 4 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 403 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.get $3 - i32.eq - if - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $1 - local.get $3 - i32.load - local.set $4 - end - else - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Root.SIZE - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 412 - i32.const 6 - call $~lib/env/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.set $5 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.add - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - i32.lt_u - if - i32.const 0 - return - end - local.get $5 - i32.const 2 - global.get $~lib/allocator/tlsf/Block.INFO - i32.mul - i32.sub - local.set $6 - local.get $1 - local.set $7 - local.get $7 - local.get $6 - global.get $~lib/allocator/tlsf/FREE - i32.or - local.get $4 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.or - i32.store - local.get $7 - i32.const 0 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - local.get $1 - local.get $5 - i32.add - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $8 - local.get $8 - i32.const 0 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.or - i32.store - local.get $0 - local.get $8 - call $~lib/allocator/tlsf/Root#set:tailRef - local.get $0 - local.get $7 - call $~lib/allocator/tlsf/Root#insert - i32.const 1 - ) - (func $~lib/allocator/tlsf/ffs (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/ffs (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/Root#search (; 19 ;) (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 $1 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $2 - if (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $2 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 315 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $3 - local.get $1 - i32.const 8 - i32.div_u - local.set $4 - else - local.get $1 - call $~lib/allocator/tlsf/fls - local.set $3 - local.get $1 - local.get $3 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $4 - local.get $3 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $3 - local.get $4 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.const 1 - i32.sub - i32.lt_u - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - else - local.get $3 - i32.const 1 - i32.add - local.set $3 - i32.const 0 - local.set $4 - end - end - local.get $0 - local.get $3 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 0 - i32.const -1 - i32.xor - local.get $4 - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - local.get $0 - i32.load - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - else - local.get $2 - call $~lib/allocator/tlsf/ffs - local.set $3 - local.get $0 - local.get $3 - call $~lib/allocator/tlsf/Root#getSLMap - local.tee $7 - if (result i32) - local.get $7 - else - i32.const 0 - i32.const 24 - i32.const 342 - i32.const 16 - call $~lib/env/abort - unreachable - end - local.set $5 - local.get $0 - local.get $3 - local.get $5 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - local.set $6 - end - else - local.get $0 - local.get $3 - local.get $5 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - local.set $6 - end - local.get $6 - ) - (func $~lib/allocator/tlsf/Root#use (; 20 ;) (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.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 367 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $2 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 368 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 369 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $3 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $5 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.add - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.or - i32.store - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - local.get $2 - i32.add - local.set $4 - local.get $4 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $0 - local.get $4 - call $~lib/allocator/tlsf/Root#insert - else - local.get $1 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 387 - i32.const 25 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $4 - local.get $4 - local.get $4 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.const -1 - i32.xor - i32.and - i32.store - end - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - ) - (func $~lib/allocator/tlsf/__mem_allocate (; 21 ;) (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 $7 i32) - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - i32.eqz - if - global.get $~lib/memory/HEAP_BASE - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.set $2 - current_memory - local.set $3 - local.get $2 - global.get $~lib/allocator/tlsf/Root.SIZE - 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 $4 - local.get $4 - local.get $3 - i32.gt_s - local.tee $5 - if (result i32) - local.get $4 - local.get $3 - i32.sub - grow_memory - i32.const 0 - i32.lt_s - else - local.get $5 - end - if - unreachable - end - local.get $2 - local.tee $1 - global.set $~lib/allocator/tlsf/ROOT - local.get $1 - i32.const 0 - call $~lib/allocator/tlsf/Root#set:tailRef - local.get $1 - i32.const 0 - i32.store - block $break|0 - i32.const 0 - local.set $5 - loop $repeat|0 - local.get $5 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - br_if $break|0 - block - local.get $1 - local.get $5 - i32.const 0 - call $~lib/allocator/tlsf/Root#setSLMap - block $break|1 - i32.const 0 - local.set $6 - loop $repeat|1 - local.get $6 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - br_if $break|1 - local.get $1 - local.get $5 - local.get $6 - i32.const 0 - call $~lib/allocator/tlsf/Root#setHead - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $repeat|1 - unreachable - end - unreachable - end - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $repeat|0 - unreachable - end - unreachable - end - local.get $1 - local.get $2 - global.get $~lib/allocator/tlsf/Root.SIZE - i32.add - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - drop - end - local.get $0 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.gt_u - if - unreachable - end - local.get $0 - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.tee $4 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - local.tee $3 - local.get $4 - local.get $3 - i32.gt_u - select - local.set $0 - local.get $1 - local.get $0 - call $~lib/allocator/tlsf/Root#search - local.set $7 - local.get $7 - i32.eqz - if - current_memory - local.set $4 - local.get $0 - 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 $4 - local.tee $2 - local.get $3 - local.tee $5 - local.get $2 - local.get $5 - i32.gt_s - select - local.set $2 - local.get $2 - grow_memory - i32.const 0 - i32.lt_s - if - local.get $3 - grow_memory - i32.const 0 - i32.lt_s - if - unreachable - end - end - current_memory - local.set $5 - local.get $1 - local.get $4 - i32.const 16 - i32.shl - local.get $5 - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - drop - local.get $1 - local.get $0 - call $~lib/allocator/tlsf/Root#search - local.tee $6 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 502 - i32.const 12 - call $~lib/env/abort - unreachable - else - local.get $6 - end - local.set $7 - end - local.get $7 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.get $0 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 505 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $1 - local.get $7 - local.get $0 - call $~lib/allocator/tlsf/Root#use - ) - (func $~lib/memory/memory.allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_allocate - return - ) - (func $~lib/util/runtime/allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - call $~lib/util/runtime/adjust - call $~lib/memory/memory.allocate - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_MAGIC - i32.store - local.get $1 - local.get $0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=12 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.add - ) - (func $~lib/collector/itcm/ManagedObjectList#clear (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - ) - (func $~lib/collector/itcm/maybeInit (; 25 ;) (type $FUNCSIG$v) - global.get $~lib/collector/itcm/state - i32.const 0 - i32.eq - if - global.get $~lib/util/runtime/HEADER_SIZE - call $~lib/memory/memory.allocate - global.set $~lib/collector/itcm/fromSpace - global.get $~lib/collector/itcm/fromSpace - i32.const -1 - i32.store - global.get $~lib/collector/itcm/fromSpace - i32.const 0 - i32.store offset=4 - global.get $~lib/collector/itcm/fromSpace - call $~lib/collector/itcm/ManagedObjectList#clear - global.get $~lib/util/runtime/HEADER_SIZE - call $~lib/memory/memory.allocate - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/toSpace - i32.const -1 - i32.store - global.get $~lib/collector/itcm/toSpace - i32.const 0 - i32.store offset=4 - global.get $~lib/collector/itcm/toSpace - call $~lib/collector/itcm/ManagedObjectList#clear - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/iter - i32.const 1 - global.set $~lib/collector/itcm/state - end - ) - (func $~lib/collector/itcm/ManagedObject#set:color (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/ManagedObject#set:next (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.and - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $0 - call $~lib/collector/itcm/ManagedObject#set:next - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $1 - call $~lib/collector/itcm/ManagedObject#set:next - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/collector/itcm/__ref_register (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.0 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $2 - local.get $2 - global.get $~lib/collector/itcm/white - call $~lib/collector/itcm/ManagedObject#set:color - global.get $~lib/collector/itcm/fromSpace - local.get $2 - call $~lib/collector/itcm/ManagedObjectList#push - ) - (func $~lib/util/runtime/register (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 128 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - local.set $2 - local.get $2 - i32.load - global.get $~lib/util/runtime/HEADER_MAGIC - i32.eq - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 130 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $1 - i32.store - local.get $0 - call $~lib/collector/itcm/__ref_register - local.get $0 - ) - (func $~lib/runtime/runtime.newObject (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - call $~lib/util/runtime/allocate - local.get $1 - call $~lib/util/runtime/register - ) - (func $~lib/runtime/runtime.newString (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/runtime/runtime.newArrayBuffer (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 2 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.and - ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - call $~lib/collector/itcm/ManagedObject#get:next - local.set $1 - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $1 - call $~lib/collector/itcm/ManagedObject#set:next - ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/collector/itcm/iter - i32.eq - if - local.get $0 - i32.load offset=12 - global.set $~lib/collector/itcm/iter - end - local.get $0 - call $~lib/collector/itcm/ManagedObject#unlink - global.get $~lib/collector/itcm/toSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - local.get $0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 2 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/__ref_link (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.1 (result i32) - local.get $1 - local.set $2 - local.get $2 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $3 - local.get $3 - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eqz - i32.eq - local.tee $2 - if (result i32) - block $~lib/collector/itcm/refToObj|inlined.3 (result i32) - local.get $0 - local.set $2 - local.get $2 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eq - else - local.get $2 - end - if - local.get $3 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/memory/memory.copy (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.get $1 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - 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 - block $break|0 - loop $continue|0 - local.get $0 - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - end - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - br $continue|1 - end - end - end - end - block $break|2 - loop $continue|2 - local.get $2 - if - block - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - end - br $continue|2 - end - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $0 - local.get $2 - i32.add - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - end - br $continue|3 - end - end - end - block $break|4 - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - end - br $continue|4 - end - end - end - end - block $break|5 - loop $continue|5 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 40 ;) (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) - (local $8 i32) - (local $9 i32) - i32.const 16 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.set $4 - local.get $0 - local.get $1 - i32.shl - local.set $5 - local.get $5 - call $~lib/util/runtime/allocate - i32.const 2 - call $~lib/util/runtime/register - local.set $6 - local.get $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - i32.load - local.tee $9 - i32.ne - if (result i32) - nop - local.get $8 - local.get $7 - call $~lib/collector/itcm/__ref_link - local.get $8 - else - local.get $8 - end - 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 $~lib/runtime/Root#constructor (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - call $~lib/util/runtime/allocate - i32.const 3 - call $~lib/util/runtime/register - local.set $0 - end - local.get $0 - ) - (func $~lib/runtime/runtime.retain (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/runtime/ROOT - call $~lib/collector/itcm/__ref_link - ) - (func $~lib/runtime/runtime.release (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) - nop - ) - (func $~lib/allocator/tlsf/__mem_free (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - if - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/memory/memory.free (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/collector/itcm/step (; 46 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - global.get $~lib/collector/itcm/state - local.set $1 - local.get $1 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $1 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $1 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $1 - i32.const 3 - i32.eq - br_if $case3|0 - br $break|0 - end - unreachable - end - block - call $~lib/runtime/__gc_mark_roots - i32.const 2 - global.set $~lib/collector/itcm/state - br $break|0 - unreachable - end - unreachable - end - block - global.get $~lib/collector/itcm/iter - call $~lib/collector/itcm/ManagedObject#get:next - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/collector/itcm/white - i32.eqz - call $~lib/collector/itcm/ManagedObject#set:color - local.get $0 - i32.load - block $~lib/collector/itcm/objToRef|inlined.0 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.add - end - call $~lib/runtime/__gc_mark_members - else - call $~lib/runtime/__gc_mark_roots - global.get $~lib/collector/itcm/iter - call $~lib/collector/itcm/ManagedObject#get:next - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.eq - if - global.get $~lib/collector/itcm/fromSpace - local.set $1 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/fromSpace - local.get $1 - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/white - i32.eqz - global.set $~lib/collector/itcm/white - local.get $1 - call $~lib/collector/itcm/ManagedObject#get:next - global.set $~lib/collector/itcm/iter - i32.const 3 - global.set $~lib/collector/itcm/state - end - end - br $break|0 - unreachable - end - unreachable - end - block - global.get $~lib/collector/itcm/iter - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - call $~lib/collector/itcm/ManagedObject#get:next - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.ge_u - if - local.get $0 - call $~lib/memory/memory.free - end - else - global.get $~lib/collector/itcm/toSpace - call $~lib/collector/itcm/ManagedObjectList#clear - i32.const 1 - global.set $~lib/collector/itcm/state - end - br $break|0 - unreachable - end - unreachable - end - ) - (func $~lib/collector/itcm/__ref_collect (; 47 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/maybeInit - block $break|0 - loop $continue|0 - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - if - call $~lib/collector/itcm/step - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - call $~lib/collector/itcm/step - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - br_if $continue|1 - end - end - ) - (func $~lib/runtime/runtime.collect (; 48 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/__ref_collect - ) - (func $~lib/runtime/runtime#constructor (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - unreachable - ) - (func $start (; 50 ;) (type $FUNCSIG$v) - i32.const 0 - call $~lib/runtime/Root#constructor - global.set $~lib/runtime/ROOT - ) - (func $~lib/collector/itcm/__ref_mark (; 51 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.4 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $2 - local.get $2 - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eq - if - local.get $2 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/runtime/__gc_mark_roots (; 52 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/runtime/ROOT - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - ) - (func $~lib/runtime/__gc_mark_members (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - block $invalid - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid - end - return - end - return - end - return - end - unreachable - ) - (func $~lib/runtime/__runtime_instanceof (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $nope $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - return - end - i32.const 0 - return - ) - (func $~lib/runtime/__runtime_flags (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $invalid - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - unreachable - ) - (func $null (; 56 ;) (type $FUNCSIG$v) - ) - (func $~lib/runtime/runtime.newArray|trampoline (; 57 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 58 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc + (func $null (; 0 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/comma.optimized.wat b/tests/compiler/comma.optimized.wat index a0cd1da7..aeef5d6d 100644 --- a/tests/compiler/comma.optimized.wat +++ b/tests/compiler/comma.optimized.wat @@ -1,15 +1,12 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s") (global $comma/a (mut i32) (i32.const 0)) (global $comma/b (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:comma (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -28,7 +25,7 @@ i32.const 16 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $comma/b @@ -37,7 +34,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $comma/a @@ -55,7 +52,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $comma/b @@ -66,7 +63,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -88,7 +85,7 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $comma/b @@ -99,7 +96,7 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $comma/a @@ -119,7 +116,7 @@ i32.const 16 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $comma/b @@ -130,7 +127,7 @@ i32.const 16 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -160,7 +157,7 @@ i32.const 16 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/comma.untouched.wat b/tests/compiler/comma.untouched.wat index b454fae0..51b4d314 100644 --- a/tests/compiler/comma.untouched.wat +++ b/tests/compiler/comma.untouched.wat @@ -1,16 +1,14 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $comma/a (mut i32) (i32.const 0)) (global $comma/b (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 32)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:comma (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -37,7 +35,7 @@ i32.const 16 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $comma/b @@ -49,7 +47,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block @@ -69,7 +67,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $comma/b @@ -81,7 +79,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -108,7 +106,7 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $comma/b @@ -120,7 +118,7 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -145,7 +143,7 @@ i32.const 16 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $comma/b @@ -157,7 +155,7 @@ i32.const 16 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|0 @@ -194,7 +192,7 @@ i32.const 16 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block diff --git a/tests/compiler/constructor.json b/tests/compiler/constructor.json index 9e26dfee..b1da366f 100644 --- a/tests/compiler/constructor.json +++ b/tests/compiler/constructor.json @@ -1 +1,5 @@ -{} \ No newline at end of file +{ + "asc_flags": [ + "--runtime none" + ] +} \ No newline at end of file diff --git a/tests/compiler/constructor.optimized.wat b/tests/compiler/constructor.optimized.wat index acb305df..6956bc0d 100644 --- a/tests/compiler/constructor.optimized.wat +++ b/tests/compiler/constructor.optimized.wat @@ -1,28 +1,14 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00,") - (data (i32.const 24) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 72) "\01\00\00\00(") - (data (i32.const 88) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) - (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) + (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $constructor/emptyCtor (mut i32) (i32.const 0)) (global $constructor/emptyCtorWithFieldInit (mut i32) (i32.const 0)) (global $constructor/emptyCtorWithFieldNoInit (mut i32) (i32.const 0)) @@ -34,1081 +20,42 @@ (global $constructor/ctorConditionallyReturns (mut i32) (i32.const 0)) (global $constructor/ctorAllocates (mut i32) (i32.const 0)) (global $constructor/ctorConditionallyAllocates (mut i32) (i32.const 0)) - (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) - (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "$.flags" (func $~lib/runtime/runtime.flags)) - (export "$.newObject" (func $~lib/runtime/runtime.newObject)) - (export "$.newString" (func $~lib/runtime/runtime.newString)) - (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "$.retain" (func $~lib/runtime/runtime.retain)) - (export "$.release" (func $~lib/runtime/runtime.release)) - (export "$.collect" (func $~lib/runtime/runtime.collect)) - (export "$.capabilities" (global $~lib/capabilities)) (start $start) - (func $~lib/allocator/tlsf/Root#setSLMap (; 1 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 159 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - local.get $2 - i32.store offset=4 - ) - (func $~lib/allocator/tlsf/Root#setHead (; 2 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 184 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 32 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 185 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 5 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - local.get $3 - i32.store offset=96 - ) - (func $~lib/allocator/tlsf/Block#get:right (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load - i32.const -4 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 104 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 8 - i32.add - local.get $0 - i32.load - i32.const -4 - i32.and - i32.add - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 105 - i32.const 11 - call $~lib/env/abort - unreachable - end - local.get $0 - ) - (func $~lib/allocator/tlsf/fls (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 447 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 31 - local.get $0 - i32.clz - i32.sub - ) - (func $~lib/allocator/tlsf/Root#getHead (; 5 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 175 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 32 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 176 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 5 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=96 - ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - i32.const 22 - i32.ge_u - if - i32.const 0 - i32.const 24 - i32.const 153 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.get $0 - i32.add - i32.load offset=4 - ) - (func $~lib/allocator/tlsf/Root#remove (; 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 $2 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const -4 - i32.and - local.tee $3 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $3 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 279 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - i32.const 256 - i32.lt_u - if (result i32) - local.get $3 - i32.const 8 - i32.div_u - local.set $4 - i32.const 0 - else - local.get $3 - local.get $3 - call $~lib/allocator/tlsf/fls - local.tee $2 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.set $4 - local.get $2 - i32.const 7 - i32.sub - end - local.set $2 - local.get $1 - i32.load offset=8 - local.set $3 - local.get $1 - i32.load offset=4 - local.tee $5 - if - local.get $5 - local.get $3 - i32.store offset=8 - end - local.get $3 - if - local.get $3 - local.get $5 - i32.store offset=4 - end - local.get $0 - local.get $2 - local.get $4 - call $~lib/allocator/tlsf/Root#getHead - local.get $1 - i32.eq - if - local.get $0 - local.get $2 - local.get $4 - local.get $3 - call $~lib/allocator/tlsf/Root#setHead - local.get $3 - i32.eqz - if - local.get $0 - local.get $2 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $4 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $1 - call $~lib/allocator/tlsf/Root#setSLMap - local.get $1 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $2 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/allocator/tlsf/Block#get:left (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load - i32.const 2 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 96 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 4 - i32.sub - i32.load - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 97 - i32.const 11 - call $~lib/env/abort - unreachable - end - local.get $0 - ) - (func $~lib/allocator/tlsf/Root#setJump (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 353 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/Block#get:right - local.get $1 - i32.ne - if - i32.const 0 - i32.const 24 - i32.const 354 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const 2 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 355 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 4 - i32.sub - local.get $0 - i32.store - ) - (func $~lib/allocator/tlsf/Root#insert (; 10 ;) (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.eqz - if - i32.const 0 - i32.const 24 - i32.const 208 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.tee $3 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 210 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - i32.const -4 - i32.and - local.tee $4 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $4 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 212 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 216 - i32.const 23 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.load - local.tee $4 - i32.const 1 - i32.and - if - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $4 - i32.const -4 - i32.and - i32.const 8 - i32.add - local.get $3 - i32.add - local.tee $3 - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $2 - i32.load - local.set $4 - end - local.get $3 - i32.const 2 - i32.and - if - local.get $1 - call $~lib/allocator/tlsf/Block#get:left - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 230 - i32.const 24 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.tee $5 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 232 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $3 - i32.const -4 - i32.and - i32.const 8 - i32.add - local.get $5 - i32.add - local.tee $3 - i32.store - end - local.get $2 - local.get $4 - i32.const 2 - i32.or - i32.store - local.get $1 - local.get $2 - call $~lib/allocator/tlsf/Root#setJump - local.get $3 - i32.const -4 - i32.and - local.tee $3 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $3 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 245 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $3 - i32.const 256 - i32.lt_u - if (result i32) - local.get $3 - i32.const 8 - i32.div_u - local.set $3 - i32.const 0 - else - local.get $3 - local.get $3 - call $~lib/allocator/tlsf/fls - local.tee $2 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.set $3 - local.get $2 - i32.const 7 - i32.sub - end - local.tee $2 - local.get $3 - call $~lib/allocator/tlsf/Root#getHead - local.set $4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $4 - if - local.get $4 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $2 - local.get $3 - local.get $1 - call $~lib/allocator/tlsf/Root#setHead - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $2 - i32.shl - i32.or - i32.store - local.get $0 - local.get $2 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $3 - i32.shl - i32.or - call $~lib/allocator/tlsf/Root#setSLMap - ) - (func $~lib/allocator/tlsf/Root#addMemory (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $2 - i32.gt_u - if - i32.const 0 - i32.const 24 - i32.const 396 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 397 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 398 - i32.const 4 - call $~lib/env/abort - unreachable - end - i32.const 2912 - i32.load - local.tee $3 - if - local.get $1 - local.get $3 - i32.const 4 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 403 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 8 - i32.sub - local.get $3 - i32.eq - if - local.get $3 - i32.load - local.set $4 - local.get $1 - i32.const 8 - i32.sub - local.set $1 - end - else - local.get $1 - local.get $0 - i32.const 2916 - i32.add - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 412 - i32.const 6 - call $~lib/env/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.tee $2 - i32.const 32 - i32.lt_u - if - return - end - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.const 16 - i32.sub - i32.const 1 - i32.or - i32.or - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - local.get $2 - i32.add - i32.const 8 - i32.sub - local.tee $2 - i32.const 2 - i32.store - i32.const 2912 - local.get $2 - i32.store - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#insert - ) - (func $~lib/allocator/tlsf/ffs (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/Root#search (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - i32.const 16 - i32.ge_u - local.tee $2 - if - local.get $1 - i32.const 1073741824 - i32.lt_u - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 315 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 256 - i32.lt_u - if (result i32) - i32.const 0 - local.set $2 - local.get $1 - i32.const 8 - i32.div_u - else - local.get $1 - call $~lib/allocator/tlsf/fls - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 - i32.const 5 - i32.sub - i32.shr_u - i32.const 32 - i32.xor - local.tee $1 - i32.const 31 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1 - i32.add - else - local.get $2 - i32.const 1 - i32.add - local.set $2 - i32.const 0 - end - end - local.set $1 - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const -1 - local.get $1 - i32.shl - i32.and - local.tee $1 - if (result i32) - local.get $0 - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - 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 $0 - local.get $1 - call $~lib/allocator/tlsf/ffs - local.tee $2 - call $~lib/allocator/tlsf/Root#getSLMap - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 342 - i32.const 16 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - else - i32.const 0 - end - end - ) - (func $~lib/allocator/tlsf/Root#use (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - local.get $1 - i32.load - local.tee $4 - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 367 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 16 - i32.ge_u - local.tee $3 - if - local.get $2 - i32.const 1073741824 - i32.lt_u - local.set $3 - end - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 368 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 369 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $4 - i32.const -4 - i32.and - local.get $2 - i32.sub - local.tee $3 - i32.const 24 - i32.ge_u - if - local.get $1 - local.get $4 - i32.const 2 - i32.and - local.get $2 - i32.or - i32.store - local.get $1 - i32.const 8 - i32.add - local.get $2 - i32.add - local.tee $2 - local.get $3 - i32.const 8 - i32.sub - i32.const 1 - i32.or - i32.store - local.get $0 - local.get $2 - call $~lib/allocator/tlsf/Root#insert - else - local.get $1 - local.get $4 - i32.const -2 - i32.and - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 387 - i32.const 25 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $0 - i32.load - i32.const -3 - i32.and - i32.store - end - local.get $1 - i32.const 8 - i32.add - ) - (func $~lib/allocator/tlsf/__mem_allocate (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/allocator/tlsf/ROOT - local.tee $2 - i32.eqz - if - i32.const 1 - current_memory - local.tee $1 - i32.gt_s - local.tee $2 - if (result i32) - i32.const 1 - local.get $1 - i32.sub - grow_memory - i32.const 0 - i32.lt_s - else - local.get $2 - end - if - unreachable - end - i32.const 128 - local.set $2 - i32.const 128 - global.set $~lib/allocator/tlsf/ROOT - i32.const 2912 - i32.const 0 - i32.store - i32.const 128 - i32.const 0 - i32.store - i32.const 0 - local.set $1 - loop $repeat|0 - local.get $1 - i32.const 22 - i32.lt_u - if - i32.const 128 - local.get $1 - i32.const 0 - call $~lib/allocator/tlsf/Root#setSLMap - i32.const 0 - local.set $3 - loop $repeat|1 - local.get $3 - i32.const 32 - i32.lt_u - if - i32.const 128 - local.get $1 - local.get $3 - i32.const 0 - call $~lib/allocator/tlsf/Root#setHead - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $repeat|1 - end - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $repeat|0 - end - end - i32.const 128 - i32.const 3048 - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - end local.get $0 i32.const 1073741824 i32.gt_u if unreachable end - local.get $2 + global.get $~lib/allocator/arena/offset + local.tee $1 local.get $0 + i32.const 1 + local.get $0 + i32.const 1 + i32.gt_u + select + i32.add i32.const 7 i32.add i32.const -8 i32.and local.tee $0 + current_memory + local.tee $2 i32.const 16 - local.get $0 - i32.const 16 + i32.shl i32.gt_u - select - local.tee $1 - call $~lib/allocator/tlsf/Root#search - local.tee $0 - i32.eqz if - current_memory - local.tee $0 + local.get $2 + local.get $0 local.get $1 + i32.sub i32.const 65535 i32.add i32.const -65536 @@ -1116,7 +63,7 @@ i32.const 16 i32.shr_u local.tee $3 - local.get $0 + local.get $2 local.get $3 i32.gt_s select @@ -1132,58 +79,22 @@ unreachable end end - local.get $2 - local.get $0 - i32.const 16 - i32.shl - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - local.get $2 - local.get $1 - call $~lib/allocator/tlsf/Root#search - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 502 - i32.const 12 - call $~lib/env/abort - unreachable - end end local.get $0 - i32.load - i32.const -4 - i32.and + global.set $~lib/allocator/arena/offset local.get $1 - i32.lt_u - if - i32.const 0 - i32.const 24 - i32.const 505 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#use ) - (func $~lib/util/runtime/allocate (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 local.get $0 - i32.const 15 + i32.const 7 i32.add i32.clz i32.sub i32.shl - call $~lib/allocator/tlsf/__mem_allocate + call $~lib/allocator/arena/__mem_allocate local.tee $1 i32.const -1520547049 i32.store @@ -1191,118 +102,24 @@ local.get $0 i32.store offset=4 local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=12 - local.get $1 - i32.const 16 + i32.const 8 i32.add ) - (func $~lib/collector/itcm/maybeInit (; 17 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/collector/itcm/state - i32.eqz - if - i32.const 16 - call $~lib/allocator/tlsf/__mem_allocate - global.set $~lib/collector/itcm/fromSpace - global.get $~lib/collector/itcm/fromSpace - local.tee $0 - i32.const -1 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - i32.const 16 - call $~lib/allocator/tlsf/__mem_allocate - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/toSpace - local.tee $0 - i32.const -1 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/iter - i32.const 1 - global.set $~lib/collector/itcm/state - end - ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.and - local.get $0 - i32.or - i32.store offset=8 - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.and - local.get $1 - i32.or - i32.store offset=8 - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/collector/itcm/__ref_register (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) - call $~lib/collector/itcm/maybeInit - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - global.get $~lib/collector/itcm/white - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.or - i32.store offset=8 - global.get $~lib/collector/itcm/fromSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - ) - (func $~lib/util/runtime/register (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - i32.const 128 + i32.const 56 i32.le_u if i32.const 0 - i32.const 88 - i32.const 128 + i32.const 16 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 - i32.const 16 + i32.const 8 i32.sub local.tee $2 i32.load @@ -1310,29 +127,25 @@ i32.ne if i32.const 0 - i32.const 88 - i32.const 130 + i32.const 16 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 local.get $1 i32.store - block - local.get $0 - call $~lib/collector/itcm/__ref_register - end local.get $0 ) - (func $constructor/CtorConditionallyAllocates#constructor (; 21 ;) (type $FUNCSIG$i) (result i32) + (func $constructor/CtorConditionallyAllocates#constructor (; 4 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) block (result i32) global.get $constructor/b if i32.const 0 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 26 call $~lib/util/runtime/register local.set $0 end @@ -1342,22 +155,26 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 26 call $~lib/util/runtime/register local.set $0 end local.get $0 ) - (func $start:constructor (; 22 ;) (type $FUNCSIG$v) + (func $start:constructor (; 5 ;) (type $FUNCSIG$v) (local $0 i32) + i32.const 56 + global.set $~lib/allocator/arena/startOffset + global.get $~lib/allocator/arena/startOffset + global.set $~lib/allocator/arena/offset i32.const 0 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 17 call $~lib/util/runtime/register global.set $constructor/emptyCtor i32.const 4 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.tee $0 i32.const 1 @@ -1366,7 +183,7 @@ global.set $constructor/emptyCtorWithFieldInit i32.const 4 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 19 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -1375,12 +192,12 @@ global.set $constructor/emptyCtorWithFieldNoInit i32.const 0 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 20 call $~lib/util/runtime/register global.set $constructor/none i32.const 4 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 21 call $~lib/util/runtime/register local.tee $0 i32.const 1 @@ -1389,7 +206,7 @@ global.set $constructor/justFieldInit i32.const 4 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 22 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -1397,776 +214,33 @@ local.get $0 global.set $constructor/justFieldNoInit i32.const 0 - call $~lib/allocator/tlsf/__mem_allocate + call $~lib/allocator/arena/__mem_allocate global.set $constructor/ctorReturns block $__inlined_func$constructor/CtorConditionallyReturns#constructor (result i32) global.get $constructor/b if i32.const 0 - call $~lib/allocator/tlsf/__mem_allocate + call $~lib/allocator/arena/__mem_allocate br $__inlined_func$constructor/CtorConditionallyReturns#constructor end i32.const 0 call $~lib/util/runtime/allocate - i32.const 8 + i32.const 24 call $~lib/util/runtime/register end global.set $constructor/ctorConditionallyReturns i32.const 0 call $~lib/util/runtime/allocate - i32.const 9 + i32.const 25 call $~lib/util/runtime/register global.set $constructor/ctorAllocates call $constructor/CtorConditionallyAllocates#constructor global.set $constructor/ctorConditionallyAllocates ) - (func $~lib/runtime/runtime.instanceof (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - if (result i32) - local.get $0 - i32.const 16 - i32.sub - i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof - else - i32.const 0 - end - ) - (func $~lib/runtime/runtime.flags (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $folding-inner0 - block $invalid - local.get $0 - i32.const 1 - i32.sub - br_table $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid - end - unreachable - end - i32.const 0 - ) - (func $~lib/runtime/runtime.newObject (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - call $~lib/util/runtime/allocate - local.get $1 - call $~lib/util/runtime/register - ) - (func $~lib/runtime/runtime.newString (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/runtime/runtime.newArrayBuffer (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 11 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/collector/itcm/iter - local.get $0 - i32.eq - if - local.get $0 - i32.load offset=12 - global.set $~lib/collector/itcm/iter - end - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - local.tee $2 - local.get $0 - i32.load offset=12 - local.tee $1 - i32.store offset=12 - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.and - local.get $2 - i32.or - i32.store offset=8 - global.get $~lib/collector/itcm/toSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - local.get $0 - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.const 2 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/__ref_link (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - global.get $~lib/collector/itcm/white - i32.eqz - local.get $1 - i32.const 16 - i32.sub - local.tee $2 - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - local.tee $1 - if (result i32) - global.get $~lib/collector/itcm/white - local.get $0 - i32.const 16 - i32.sub - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - else - local.get $1 - end - if - local.get $2 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/memory/memory.copy (; 30 ;) (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 $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 $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - br $continue|0 - end - end - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - 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 $2 - if - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - 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 $2 - i32.add - i32.const 7 - i32.and - if - local.get $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - end - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - br $continue|4 - end - end - end - loop $continue|5 - local.get $2 - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 31 ;) (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 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.tee $2 - local.set $6 - local.get $0 - local.get $1 - i32.shl - local.tee $4 - call $~lib/util/runtime/allocate - i32.const 11 - call $~lib/util/runtime/register - local.tee $5 - local.tee $1 - local.get $2 - i32.load - i32.ne - if - local.get $1 - local.get $6 - call $~lib/collector/itcm/__ref_link - end - local.get $2 - local.get $1 - i32.store - local.get $2 - local.get $5 - i32.store offset=4 - local.get $2 - local.get $4 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=12 - local.get $3 - if - local.get $5 - local.get $3 - local.get $4 - call $~lib/memory/memory.copy - end - local.get $2 - ) - (func $~lib/runtime/runtime.retain (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/runtime/ROOT - call $~lib/collector/itcm/__ref_link - ) - (func $~lib/runtime/runtime.release (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) - nop - ) - (func $~lib/allocator/tlsf/__mem_free (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.tee $1 - if - local.get $0 - i32.const 8 - i32.sub - local.tee $2 - i32.load - local.tee $3 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - i32.const 1 - i32.or - i32.store - local.get $1 - local.get $0 - i32.const 8 - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/collector/itcm/step (; 35 ;) (type $FUNCSIG$v) - (local $0 i32) - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - global.get $~lib/collector/itcm/state - local.tee $0 - if - local.get $0 - i32.const 1 - i32.sub - br_table $case1|0 $case2|0 $case3|0 $break|0 - end - unreachable - end - call $~lib/runtime/__gc_mark_roots - i32.const 2 - global.set $~lib/collector/itcm/state - br $break|0 - end - global.get $~lib/collector/itcm/iter - i32.load offset=8 - i32.const -4 - i32.and - local.tee $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/collector/itcm/white - i32.eqz - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - i32.or - i32.store offset=8 - local.get $0 - i32.load - call $~lib/runtime/__gc_mark_members - else - call $~lib/runtime/__gc_mark_roots - global.get $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/iter - i32.load offset=8 - i32.const -4 - i32.and - i32.eq - if - global.get $~lib/collector/itcm/fromSpace - local.set $0 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/fromSpace - local.get $0 - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/white - i32.eqz - global.set $~lib/collector/itcm/white - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - global.set $~lib/collector/itcm/iter - i32.const 3 - global.set $~lib/collector/itcm/state - end - end - br $break|0 - end - global.get $~lib/collector/itcm/iter - local.tee $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - i32.load offset=8 - i32.const -4 - i32.and - global.set $~lib/collector/itcm/iter - local.get $0 - i32.const 128 - i32.ge_u - if - local.get $0 - call $~lib/allocator/tlsf/__mem_free - end - else - global.get $~lib/collector/itcm/toSpace - local.tee $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - i32.const 1 - global.set $~lib/collector/itcm/state - end - end - ) - (func $~lib/collector/itcm/__ref_collect (; 36 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/maybeInit - loop $continue|0 - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - if - call $~lib/collector/itcm/step - br $continue|0 - end - end - loop $continue|1 - call $~lib/collector/itcm/step - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - br_if $continue|1 - end - ) - (func $~lib/runtime/runtime.collect (; 37 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/__ref_collect - ) - (func $start (; 38 ;) (type $FUNCSIG$v) + (func $start (; 6 ;) (type $FUNCSIG$v) call $start:constructor - i32.const 0 - call $~lib/util/runtime/allocate - i32.const 12 - call $~lib/util/runtime/register - global.set $~lib/runtime/ROOT ) - (func $~lib/collector/itcm/__ref_mark (; 39 ;) (type $FUNCSIG$vi) (param $0 i32) - call $~lib/collector/itcm/maybeInit - global.get $~lib/collector/itcm/white - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/runtime/__gc_mark_roots (; 40 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/runtime/ROOT - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/emptyCtor - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/emptyCtorWithFieldInit - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/emptyCtorWithFieldNoInit - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/none - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/justFieldInit - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/justFieldNoInit - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/ctorReturns - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/ctorConditionallyReturns - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/ctorAllocates - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/ctorConditionallyAllocates - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - ) - (func $~lib/runtime/__gc_mark_members (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) - block $invalid - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $constructor/CtorConditionallyAllocates - block $constructor/CtorAllocates - block $constructor/CtorConditionallyReturns - block $constructor/JustFieldNoInit - block $constructor/JustFieldInit - block $constructor/None - block $constructor/EmptyCtorWithFieldNoInit - block $constructor/EmptyCtorWithFieldInit - block $constructor/EmptyCtor - block $~lib/string/String - local.get $0 - i32.const 1 - i32.sub - br_table $~lib/string/String $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorConditionallyReturns $constructor/CtorAllocates $constructor/CtorConditionallyAllocates $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - unreachable - ) - (func $~lib/runtime/__runtime_instanceof (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $constructor/CtorConditionallyAllocates - block $constructor/CtorAllocates - block $constructor/CtorConditionallyReturns - block $constructor/JustFieldNoInit - block $constructor/JustFieldInit - block $constructor/None - block $constructor/EmptyCtorWithFieldNoInit - block $constructor/EmptyCtorWithFieldInit - block $constructor/EmptyCtor - block $~lib/string/String - local.get $0 - i32.const 1 - i32.sub - br_table $~lib/string/String $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorConditionallyReturns $constructor/CtorAllocates $constructor/CtorConditionallyAllocates $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - return - end - local.get $1 - i32.const 4 - i32.eq - return - end - local.get $1 - i32.const 5 - i32.eq - return - end - local.get $1 - i32.const 6 - i32.eq - return - end - local.get $1 - i32.const 7 - i32.eq - return - end - local.get $1 - i32.const 8 - i32.eq - return - end - local.get $1 - i32.const 9 - i32.eq - return - end - local.get $1 - i32.const 10 - i32.eq - return - end - local.get $1 - i32.const 11 - i32.eq - return - end - local.get $1 - i32.const 12 - i32.eq - return - end - i32.const 0 - ) - (func $null (; 43 ;) (type $FUNCSIG$v) + (func $null (; 7 ;) (type $FUNCSIG$v) nop ) - (func $~lib/runtime/runtime.newArray|trampoline (; 44 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc - ) ) diff --git a/tests/compiler/constructor.ts b/tests/compiler/constructor.ts index 89ee7be4..c039c677 100644 --- a/tests/compiler/constructor.ts +++ b/tests/compiler/constructor.ts @@ -1,3 +1,5 @@ +import "allocator/arena"; + // trailing conditional allocate class EmptyCtor { constructor() {} diff --git a/tests/compiler/constructor.untouched.wat b/tests/compiler/constructor.untouched.wat index 80582d77..b0b552a0 100644 --- a/tests/compiler/constructor.untouched.wat +++ b/tests/compiler/constructor.untouched.wat @@ -1,44 +1,18 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 72) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) - (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/allocator/tlsf/Root.SL_START i32 (i32.const 4)) - (global $~lib/allocator/tlsf/SL_BITS i32 (i32.const 5)) - (global $~lib/allocator/tlsf/SB_BITS i32 (i32.const 8)) - (global $~lib/allocator/tlsf/FL_BITS i32 (i32.const 22)) - (global $~lib/allocator/tlsf/Root.SL_END i32 (i32.const 92)) - (global $~lib/allocator/tlsf/Root.HL_START i32 (i32.const 96)) - (global $~lib/allocator/tlsf/SL_SIZE i32 (i32.const 32)) - (global $~lib/allocator/tlsf/Root.HL_END i32 (i32.const 2912)) - (global $~lib/allocator/tlsf/Root.SIZE i32 (i32.const 2916)) - (global $~lib/allocator/tlsf/Block.INFO i32 (i32.const 8)) - (global $~lib/allocator/tlsf/Block.MIN_SIZE i32 (i32.const 16)) - (global $~lib/allocator/tlsf/FREE i32 (i32.const 1)) - (global $~lib/allocator/tlsf/LEFT_FREE i32 (i32.const 2)) - (global $~lib/allocator/tlsf/TAGS i32 (i32.const 3)) - (global $~lib/allocator/tlsf/Block.MAX_SIZE i32 (i32.const 1073741824)) - (global $~lib/allocator/tlsf/SB_SIZE i32 (i32.const 256)) + (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) + (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) + (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) - (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $constructor/emptyCtor (mut i32) (i32.const 0)) (global $constructor/emptyCtorWithFieldInit (mut i32) (i32.const 0)) (global $constructor/emptyCtorWithFieldNoInit (mut i32) (i32.const 0)) @@ -50,23 +24,8 @@ (global $constructor/ctorConditionallyReturns (mut i32) (i32.const 0)) (global $constructor/ctorAllocates (mut i32) (i32.const 0)) (global $constructor/ctorConditionallyAllocates (mut i32) (i32.const 0)) - (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 128)) - (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/capabilities i32 (i32.const 2)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 56)) (export "memory" (memory $0)) - (export "table" (table $0)) - (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "$.flags" (func $~lib/runtime/runtime.flags)) - (export "$.newObject" (func $~lib/runtime/runtime.newObject)) - (export "$.newString" (func $~lib/runtime/runtime.newString)) - (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "$.retain" (func $~lib/runtime/runtime.retain)) - (export "$.release" (func $~lib/runtime/runtime.release)) - (export "$.collect" (func $~lib/runtime/runtime.collect)) - (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -80,1285 +39,49 @@ i32.sub i32.shl ) - (func $~lib/allocator/tlsf/Root#set:tailRef (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - i32.const 0 - local.get $1 - i32.store offset=2912 - ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 159 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 4 - i32.mul - i32.add - local.get $2 - i32.store offset=4 - ) - (func $~lib/allocator/tlsf/Root#setHead (; 4 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 184 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 185 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.mul - local.get $2 - i32.add - i32.const 4 - i32.mul - i32.add - local.get $3 - i32.store offset=96 - ) - (func $~lib/allocator/tlsf/Root#get:tailRef (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - i32.const 0 - i32.load offset=2912 - ) - (func $~lib/allocator/tlsf/Block#get:right (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 104 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - local.tee $1 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 105 - i32.const 11 - call $~lib/env/abort - unreachable - else - local.get $1 - end - ) - (func $~lib/allocator/tlsf/fls (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 447 - i32.const 2 - call $~lib/env/abort - unreachable - end - i32.const 31 - local.get $0 - i32.clz - i32.sub - ) - (func $~lib/allocator/tlsf/Root#getHead (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 175 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 176 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.mul - local.get $2 - i32.add - i32.const 4 - i32.mul - i32.add - i32.load offset=96 - ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 153 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 4 - i32.mul - i32.add - i32.load offset=4 - ) - (func $~lib/allocator/tlsf/Root#remove (; 10 ;) (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.get $1 - i32.load - local.set $2 - local.get $2 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 277 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 279 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $5 - local.get $3 - i32.const 8 - i32.div_u - local.set $6 - else - local.get $3 - call $~lib/allocator/tlsf/fls - local.set $5 - local.get $3 - local.get $5 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $6 - local.get $5 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $5 - end - local.get $1 - i32.load offset=4 - local.set $7 - local.get $1 - i32.load offset=8 - local.set $8 - local.get $7 - if - local.get $7 - local.get $8 - i32.store offset=8 - end - local.get $8 - if - local.get $8 - local.get $7 - i32.store offset=4 - end - local.get $1 - local.get $0 - local.get $5 - local.get $6 - call $~lib/allocator/tlsf/Root#getHead - i32.eq - if - local.get $0 - local.get $5 - local.get $6 - local.get $8 - call $~lib/allocator/tlsf/Root#setHead - local.get $8 - i32.eqz - if - local.get $0 - local.get $5 - call $~lib/allocator/tlsf/Root#getSLMap - local.set $4 - local.get $0 - local.get $5 - local.get $4 - i32.const 1 - local.get $6 - i32.shl - i32.const -1 - i32.xor - i32.and - local.tee $4 - call $~lib/allocator/tlsf/Root#setSLMap - local.get $4 - i32.eqz - if - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $5 - i32.shl - i32.const -1 - i32.xor - i32.and - i32.store - end - end - end - ) - (func $~lib/allocator/tlsf/Block#get:left (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 96 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 4 - i32.sub - i32.load - local.tee $1 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 97 - i32.const 11 - call $~lib/env/abort - unreachable - else - local.get $1 - end - ) - (func $~lib/allocator/tlsf/Root#setJump (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - i32.load - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 353 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.get $2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 354 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 355 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 4 - i32.sub - local.get $1 - i32.store - ) - (func $~lib/allocator/tlsf/Root#insert (; 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) - (local $8 i32) - (local $9 i32) - (local $10 i32) - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 208 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - local.set $2 - local.get $2 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 210 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.tee $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 212 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 216 - i32.const 23 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $5 - local.get $5 - i32.load - local.set $6 - local.get $6 - global.get $~lib/allocator/tlsf/FREE - i32.and - if - local.get $0 - local.get $5 - call $~lib/allocator/tlsf/Root#remove - local.get $1 - local.get $2 - global.get $~lib/allocator/tlsf/Block.INFO - local.get $6 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - i32.add - local.tee $2 - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.set $5 - local.get $5 - i32.load - local.set $6 - end - local.get $2 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - if - local.get $1 - call $~lib/allocator/tlsf/Block#get:left - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 230 - i32.const 24 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $4 - local.get $4 - i32.load - local.set $7 - local.get $7 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 232 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $4 - call $~lib/allocator/tlsf/Root#remove - local.get $4 - local.get $7 - global.get $~lib/allocator/tlsf/Block.INFO - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - i32.add - i32.add - local.tee $7 - i32.store - local.get $4 - local.set $1 - local.get $7 - local.set $2 - end - local.get $5 - local.get $6 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.or - i32.store - local.get $0 - local.get $1 - local.get $5 - call $~lib/allocator/tlsf/Root#setJump - local.get $2 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $7 - if (result i32) - local.get $3 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $7 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 245 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $3 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $8 - local.get $3 - i32.const 8 - i32.div_u - local.set $9 - else - local.get $3 - call $~lib/allocator/tlsf/fls - local.set $8 - local.get $3 - local.get $8 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $9 - local.get $8 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $8 - end - local.get $0 - local.get $8 - local.get $9 - call $~lib/allocator/tlsf/Root#getHead - local.set $10 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - local.get $10 - i32.store offset=8 - local.get $10 - if - local.get $10 - local.get $1 - i32.store offset=4 - end - local.get $0 - local.get $8 - local.get $9 - local.get $1 - call $~lib/allocator/tlsf/Root#setHead - local.get $0 - local.get $0 - i32.load - i32.const 1 - local.get $8 - i32.shl - i32.or - i32.store - local.get $0 - local.get $8 - local.get $0 - local.get $8 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 1 - local.get $9 - i32.shl - i32.or - call $~lib/allocator/tlsf/Root#setSLMap - ) - (func $~lib/allocator/tlsf/Root#addMemory (; 14 ;) (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 $1 - local.get $2 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 396 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 397 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 398 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/Root#get:tailRef - local.set $3 - i32.const 0 - local.set $4 - local.get $3 - if - local.get $1 - local.get $3 - i32.const 4 - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 403 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.get $3 - i32.eq - if - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $1 - local.get $3 - i32.load - local.set $4 - end - else - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Root.SIZE - i32.add - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 412 - i32.const 6 - call $~lib/env/abort - unreachable - end - end - local.get $2 - local.get $1 - i32.sub - local.set $5 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.add - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - i32.lt_u - if - i32.const 0 - return - end - local.get $5 - i32.const 2 - global.get $~lib/allocator/tlsf/Block.INFO - i32.mul - i32.sub - local.set $6 - local.get $1 - local.set $7 - local.get $7 - local.get $6 - global.get $~lib/allocator/tlsf/FREE - i32.or - local.get $4 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.or - i32.store - local.get $7 - i32.const 0 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - local.get $1 - local.get $5 - i32.add - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $8 - local.get $8 - i32.const 0 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.or - i32.store - local.get $0 - local.get $8 - call $~lib/allocator/tlsf/Root#set:tailRef - local.get $0 - local.get $7 - call $~lib/allocator/tlsf/Root#insert - i32.const 1 - ) - (func $~lib/allocator/tlsf/ffs (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/ffs (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 441 - i32.const 2 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.ctz - ) - (func $~lib/allocator/tlsf/Root#search (; 17 ;) (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 $1 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $2 - if (result i32) - local.get $1 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $2 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 315 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $1 - global.get $~lib/allocator/tlsf/SB_SIZE - i32.lt_u - if - i32.const 0 - local.set $3 - local.get $1 - i32.const 8 - i32.div_u - local.set $4 - else - local.get $1 - call $~lib/allocator/tlsf/fls - local.set $3 - local.get $1 - local.get $3 - global.get $~lib/allocator/tlsf/SL_BITS - i32.sub - i32.shr_u - i32.const 1 - global.get $~lib/allocator/tlsf/SL_BITS - i32.shl - i32.xor - local.set $4 - local.get $3 - global.get $~lib/allocator/tlsf/SB_BITS - i32.const 1 - i32.sub - i32.sub - local.set $3 - local.get $4 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.const 1 - i32.sub - i32.lt_u - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - else - local.get $3 - i32.const 1 - i32.add - local.set $3 - i32.const 0 - local.set $4 - end - end - local.get $0 - local.get $3 - call $~lib/allocator/tlsf/Root#getSLMap - i32.const 0 - i32.const -1 - i32.xor - local.get $4 - i32.shl - i32.and - local.set $5 - local.get $5 - i32.eqz - if - local.get $0 - i32.load - i32.const 0 - i32.const -1 - i32.xor - local.get $3 - i32.const 1 - i32.add - i32.shl - i32.and - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - else - local.get $2 - call $~lib/allocator/tlsf/ffs - local.set $3 - local.get $0 - local.get $3 - call $~lib/allocator/tlsf/Root#getSLMap - local.tee $7 - if (result i32) - local.get $7 - else - i32.const 0 - i32.const 24 - i32.const 342 - i32.const 16 - call $~lib/env/abort - unreachable - end - local.set $5 - local.get $0 - local.get $3 - local.get $5 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - local.set $6 - end - else - local.get $0 - local.get $3 - local.get $5 - call $~lib/allocator/tlsf/ffs - call $~lib/allocator/tlsf/Root#getHead - local.set $6 - end - local.get $6 - ) - (func $~lib/allocator/tlsf/Root#use (; 18 ;) (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.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 367 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.ge_u - local.tee $4 - if (result i32) - local.get $2 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE - i32.lt_u - else - local.get $4 - end - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 368 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $2 - i32.const 7 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 369 - i32.const 4 - call $~lib/env/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/allocator/tlsf/Root#remove - local.get $3 - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.get $2 - i32.sub - local.set $5 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - global.get $~lib/allocator/tlsf/Block.MIN_SIZE - i32.add - i32.ge_u - if - local.get $1 - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.and - i32.or - i32.store - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - local.get $2 - i32.add - local.set $4 - local.get $4 - local.get $5 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $0 - local.get $4 - call $~lib/allocator/tlsf/Root#insert - else - local.get $1 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.const -1 - i32.xor - i32.and - i32.store - local.get $1 - call $~lib/allocator/tlsf/Block#get:right - local.tee $4 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 387 - i32.const 25 - call $~lib/env/abort - unreachable - else - local.get $4 - end - local.set $4 - local.get $4 - local.get $4 - i32.load - global.get $~lib/allocator/tlsf/LEFT_FREE - i32.const -1 - i32.xor - i32.and - i32.store - end - local.get $1 - global.get $~lib/allocator/tlsf/Block.INFO - i32.add - ) - (func $~lib/allocator/tlsf/__mem_allocate (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (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 $7 i32) - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - i32.eqz - if - global.get $~lib/memory/HEAP_BASE - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.set $2 - current_memory - local.set $3 - local.get $2 - global.get $~lib/allocator/tlsf/Root.SIZE - 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 $4 - local.get $4 - local.get $3 - i32.gt_s - local.tee $5 - if (result i32) - local.get $4 - local.get $3 - i32.sub - grow_memory - i32.const 0 - i32.lt_s - else - local.get $5 - end - if - unreachable - end - local.get $2 - local.tee $1 - global.set $~lib/allocator/tlsf/ROOT - local.get $1 - i32.const 0 - call $~lib/allocator/tlsf/Root#set:tailRef - local.get $1 - i32.const 0 - i32.store - block $break|0 - i32.const 0 - local.set $5 - loop $repeat|0 - local.get $5 - global.get $~lib/allocator/tlsf/FL_BITS - i32.lt_u - i32.eqz - br_if $break|0 - block - local.get $1 - local.get $5 - i32.const 0 - call $~lib/allocator/tlsf/Root#setSLMap - block $break|1 - i32.const 0 - local.set $6 - loop $repeat|1 - local.get $6 - global.get $~lib/allocator/tlsf/SL_SIZE - i32.lt_u - i32.eqz - br_if $break|1 - local.get $1 - local.get $5 - local.get $6 - i32.const 0 - call $~lib/allocator/tlsf/Root#setHead - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $repeat|1 - unreachable - end - unreachable - end - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $repeat|0 - unreachable - end - unreachable - end - local.get $1 - local.get $2 - global.get $~lib/allocator/tlsf/Root.SIZE - i32.add - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - current_memory - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - drop - end local.get $0 - global.get $~lib/allocator/tlsf/Block.MAX_SIZE + i32.const 1073741824 i32.gt_u if unreachable end + global.get $~lib/allocator/arena/offset + local.set $1 + local.get $1 local.get $0 - i32.const 7 - i32.add - i32.const 7 - i32.const -1 - i32.xor - i32.and - local.tee $4 - global.get $~lib/allocator/tlsf/Block.MIN_SIZE + local.tee $2 + i32.const 1 local.tee $3 - local.get $4 + local.get $2 local.get $3 i32.gt_u select - local.set $0 - local.get $1 - local.get $0 - call $~lib/allocator/tlsf/Root#search - local.set $7 - local.get $7 - i32.eqz + i32.add + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + local.set $4 + current_memory + local.set $5 + local.get $4 + local.get $5 + i32.const 16 + i32.shl + i32.gt_u if - current_memory - local.set $4 - local.get $0 + local.get $4 + local.get $1 + i32.sub i32.const 65535 i32.add i32.const 65535 @@ -1367,22 +90,22 @@ i32.and i32.const 16 i32.shr_u - local.set $3 - local.get $4 - local.tee $2 - local.get $3 - local.tee $5 - local.get $2 + local.set $2 local.get $5 + local.tee $3 + local.get $2 + local.tee $6 + local.get $3 + local.get $6 i32.gt_s select - local.set $2 - local.get $2 + local.set $3 + local.get $3 grow_memory i32.const 0 i32.lt_s if - local.get $3 + local.get $2 grow_memory i32.const 0 i32.lt_s @@ -1390,62 +113,17 @@ unreachable end end - current_memory - local.set $5 - local.get $1 - local.get $4 - i32.const 16 - i32.shl - local.get $5 - i32.const 16 - i32.shl - call $~lib/allocator/tlsf/Root#addMemory - drop - local.get $1 - local.get $0 - call $~lib/allocator/tlsf/Root#search - local.tee $6 - i32.eqz - if (result i32) - i32.const 0 - i32.const 24 - i32.const 502 - i32.const 12 - call $~lib/env/abort - unreachable - else - local.get $6 - end - local.set $7 - end - local.get $7 - i32.load - global.get $~lib/allocator/tlsf/TAGS - i32.const -1 - i32.xor - i32.and - local.get $0 - i32.ge_u - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 505 - i32.const 2 - call $~lib/env/abort - unreachable end + local.get $4 + global.set $~lib/allocator/arena/offset local.get $1 - local.get $7 - local.get $0 - call $~lib/allocator/tlsf/Root#use ) - (func $~lib/memory/memory.allocate (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/allocator/tlsf/__mem_allocate + call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/util/runtime/allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -1458,116 +136,10 @@ local.get $0 i32.store offset=4 local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=12 - local.get $1 global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/collector/itcm/ManagedObjectList#clear (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - local.get $0 - i32.store offset=12 - ) - (func $~lib/collector/itcm/maybeInit (; 23 ;) (type $FUNCSIG$v) - global.get $~lib/collector/itcm/state - i32.const 0 - i32.eq - if - global.get $~lib/util/runtime/HEADER_SIZE - call $~lib/memory/memory.allocate - global.set $~lib/collector/itcm/fromSpace - global.get $~lib/collector/itcm/fromSpace - i32.const -1 - i32.store - global.get $~lib/collector/itcm/fromSpace - i32.const 0 - i32.store offset=4 - global.get $~lib/collector/itcm/fromSpace - call $~lib/collector/itcm/ManagedObjectList#clear - global.get $~lib/util/runtime/HEADER_SIZE - call $~lib/memory/memory.allocate - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/toSpace - i32.const -1 - i32.store - global.get $~lib/collector/itcm/toSpace - i32.const 0 - i32.store offset=4 - global.get $~lib/collector/itcm/toSpace - call $~lib/collector/itcm/ManagedObjectList#clear - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/iter - i32.const 1 - global.set $~lib/collector/itcm/state - end - ) - (func $~lib/collector/itcm/ManagedObject#set:color (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - local.get $1 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/ManagedObject#set:next (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.and - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $0 - call $~lib/collector/itcm/ManagedObject#set:next - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $1 - call $~lib/collector/itcm/ManagedObject#set:next - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/collector/itcm/__ref_register (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.0 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $2 - local.get $2 - global.get $~lib/collector/itcm/white - call $~lib/collector/itcm/ManagedObject#set:color - global.get $~lib/collector/itcm/fromSpace - local.get $2 - call $~lib/collector/itcm/ManagedObjectList#push - ) - (func $~lib/util/runtime/register (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -1575,10 +147,10 @@ i32.eqz if i32.const 0 - i32.const 88 - i32.const 128 + i32.const 16 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1592,38 +164,36 @@ i32.eqz if i32.const 0 - i32.const 88 - i32.const 130 + i32.const 16 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 local.get $1 i32.store local.get $0 - call $~lib/collector/itcm/__ref_register - local.get $0 ) - (func $constructor/EmptyCtor#constructor (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $constructor/EmptyCtor#constructor (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 17 call $~lib/util/runtime/register local.set $0 end local.get $0 ) - (func $constructor/EmptyCtorWithFieldInit#constructor (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $constructor/EmptyCtorWithFieldInit#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 4 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -1632,13 +202,13 @@ i32.store local.get $0 ) - (func $constructor/EmptyCtorWithFieldNoInit#constructor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $constructor/EmptyCtorWithFieldNoInit#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 4 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 19 call $~lib/util/runtime/register local.set $0 end @@ -1647,25 +217,25 @@ i32.store local.get $0 ) - (func $constructor/None#constructor (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $constructor/None#constructor (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 20 call $~lib/util/runtime/register local.set $0 end local.get $0 ) - (func $constructor/JustFieldInit#constructor (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $constructor/JustFieldInit#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 4 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 21 call $~lib/util/runtime/register local.set $0 end @@ -1674,13 +244,13 @@ i32.store local.get $0 ) - (func $constructor/JustFieldNoInit#constructor (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $constructor/JustFieldNoInit#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 4 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 22 call $~lib/util/runtime/register local.set $0 end @@ -1689,11 +259,11 @@ i32.store local.get $0 ) - (func $constructor/CtorReturns#constructor (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $constructor/CtorReturns#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 call $~lib/memory/memory.allocate ) - (func $constructor/CtorConditionallyReturns#constructor (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $constructor/CtorConditionallyReturns#constructor (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) global.get $constructor/b if i32.const 0 @@ -1705,20 +275,20 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 8 + i32.const 24 call $~lib/util/runtime/register local.set $0 end local.get $0 ) - (func $constructor/CtorAllocates#constructor (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $constructor/CtorAllocates#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 0 call $~lib/util/runtime/allocate - i32.const 9 + i32.const 25 call $~lib/util/runtime/register local.set $0 end @@ -1727,7 +297,7 @@ drop local.get $0 ) - (func $constructor/CtorConditionallyAllocates#constructor (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $constructor/CtorConditionallyAllocates#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) global.get $constructor/b if block (result i32) @@ -1736,7 +306,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 26 call $~lib/util/runtime/register local.set $0 end @@ -1749,13 +319,23 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 26 call $~lib/util/runtime/register local.set $0 end local.get $0 ) - (func $start:constructor (; 39 ;) (type $FUNCSIG$v) + (func $start:constructor (; 16 ;) (type $FUNCSIG$v) + global.get $~lib/memory/HEAP_BASE + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + global.set $~lib/allocator/arena/startOffset + global.get $~lib/allocator/arena/startOffset + global.set $~lib/allocator/arena/offset i32.const 0 call $constructor/EmptyCtor#constructor global.set $constructor/emptyCtor @@ -1787,916 +367,9 @@ call $constructor/CtorConditionallyAllocates#constructor global.set $constructor/ctorConditionallyAllocates ) - (func $~lib/runtime/runtime.instanceof (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - if (result i32) - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof - else - i32.const 0 - end - ) - (func $~lib/runtime/runtime.flags (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/runtime/__runtime_flags - ) - (func $~lib/runtime/runtime.newObject (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - call $~lib/util/runtime/allocate - local.get $1 - call $~lib/util/runtime/register - ) - (func $~lib/runtime/runtime.newString (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/runtime/runtime.newArrayBuffer (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.const 11 - call $~lib/runtime/runtime.newObject - ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.and - ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - call $~lib/collector/itcm/ManagedObject#get:next - local.set $1 - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - local.get $2 - i32.store offset=12 - local.get $2 - local.get $1 - call $~lib/collector/itcm/ManagedObject#set:next - ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/collector/itcm/iter - i32.eq - if - local.get $0 - i32.load offset=12 - global.set $~lib/collector/itcm/iter - end - local.get $0 - call $~lib/collector/itcm/ManagedObject#unlink - global.get $~lib/collector/itcm/toSpace - local.get $0 - call $~lib/collector/itcm/ManagedObjectList#push - local.get $0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 2 - i32.or - i32.store offset=8 - ) - (func $~lib/collector/itcm/__ref_link (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.1 (result i32) - local.get $1 - local.set $2 - local.get $2 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $3 - local.get $3 - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eqz - i32.eq - local.tee $2 - if (result i32) - block $~lib/collector/itcm/refToObj|inlined.3 (result i32) - local.get $0 - local.set $2 - local.get $2 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eq - else - local.get $2 - end - if - local.get $3 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/memory/memory.copy (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.get $1 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - 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 - block $break|0 - loop $continue|0 - local.get $0 - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - end - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - br $continue|1 - end - end - end - end - block $break|2 - loop $continue|2 - local.get $2 - if - block - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - end - br $continue|2 - end - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $0 - local.get $2 - i32.add - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - end - br $continue|3 - end - end - end - block $break|4 - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - end - br $continue|4 - end - end - end - end - block $break|5 - loop $continue|5 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 51 ;) (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) - (local $8 i32) - (local $9 i32) - i32.const 16 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.set $4 - local.get $0 - local.get $1 - i32.shl - local.set $5 - local.get $5 - call $~lib/util/runtime/allocate - i32.const 11 - call $~lib/util/runtime/register - local.set $6 - local.get $4 - local.tee $7 - local.get $6 - local.tee $8 - local.get $7 - i32.load - local.tee $9 - i32.ne - if (result i32) - nop - local.get $8 - local.get $7 - call $~lib/collector/itcm/__ref_link - local.get $8 - else - local.get $8 - end - 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 $~lib/runtime/Root#constructor (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - call $~lib/util/runtime/allocate - i32.const 12 - call $~lib/util/runtime/register - local.set $0 - end - local.get $0 - ) - (func $~lib/runtime/runtime.retain (; 53 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.get $~lib/runtime/ROOT - call $~lib/collector/itcm/__ref_link - ) - (func $~lib/runtime/runtime.release (; 54 ;) (type $FUNCSIG$vi) (param $0 i32) - nop - ) - (func $~lib/allocator/tlsf/__mem_free (; 55 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - if - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/memory/memory.free (; 56 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/collector/itcm/step (; 57 ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - global.get $~lib/collector/itcm/state - local.set $1 - local.get $1 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $1 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $1 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $1 - i32.const 3 - i32.eq - br_if $case3|0 - br $break|0 - end - unreachable - end - block - call $~lib/runtime/__gc_mark_roots - i32.const 2 - global.set $~lib/collector/itcm/state - br $break|0 - unreachable - end - unreachable - end - block - global.get $~lib/collector/itcm/iter - call $~lib/collector/itcm/ManagedObject#get:next - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/collector/itcm/white - i32.eqz - call $~lib/collector/itcm/ManagedObject#set:color - local.get $0 - i32.load - block $~lib/collector/itcm/objToRef|inlined.0 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.add - end - call $~lib/runtime/__gc_mark_members - else - call $~lib/runtime/__gc_mark_roots - global.get $~lib/collector/itcm/iter - call $~lib/collector/itcm/ManagedObject#get:next - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.eq - if - global.get $~lib/collector/itcm/fromSpace - local.set $1 - global.get $~lib/collector/itcm/toSpace - global.set $~lib/collector/itcm/fromSpace - local.get $1 - global.set $~lib/collector/itcm/toSpace - global.get $~lib/collector/itcm/white - i32.eqz - global.set $~lib/collector/itcm/white - local.get $1 - call $~lib/collector/itcm/ManagedObject#get:next - global.set $~lib/collector/itcm/iter - i32.const 3 - global.set $~lib/collector/itcm/state - end - end - br $break|0 - unreachable - end - unreachable - end - block - global.get $~lib/collector/itcm/iter - local.set $0 - local.get $0 - global.get $~lib/collector/itcm/toSpace - i32.ne - if - local.get $0 - call $~lib/collector/itcm/ManagedObject#get:next - global.set $~lib/collector/itcm/iter - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.ge_u - if - local.get $0 - call $~lib/memory/memory.free - end - else - global.get $~lib/collector/itcm/toSpace - call $~lib/collector/itcm/ManagedObjectList#clear - i32.const 1 - global.set $~lib/collector/itcm/state - end - br $break|0 - unreachable - end - unreachable - end - ) - (func $~lib/collector/itcm/__ref_collect (; 58 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/maybeInit - block $break|0 - loop $continue|0 - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - if - call $~lib/collector/itcm/step - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - call $~lib/collector/itcm/step - global.get $~lib/collector/itcm/state - i32.const 1 - i32.ne - br_if $continue|1 - end - end - ) - (func $~lib/runtime/runtime.collect (; 59 ;) (type $FUNCSIG$v) - call $~lib/collector/itcm/__ref_collect - ) - (func $~lib/runtime/runtime#constructor (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - unreachable - ) - (func $start (; 61 ;) (type $FUNCSIG$v) + (func $start (; 17 ;) (type $FUNCSIG$v) call $start:constructor - i32.const 0 - call $~lib/runtime/Root#constructor - global.set $~lib/runtime/ROOT ) - (func $~lib/collector/itcm/__ref_mark (; 62 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - call $~lib/collector/itcm/maybeInit - block $~lib/collector/itcm/refToObj|inlined.4 (result i32) - local.get $0 - local.set $1 - local.get $1 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - end - local.set $2 - local.get $2 - call $~lib/collector/itcm/ManagedObject#get:color - global.get $~lib/collector/itcm/white - i32.eq - if - local.get $2 - call $~lib/collector/itcm/ManagedObject#makeGray - end - ) - (func $~lib/runtime/__gc_mark_roots (; 63 ;) (type $FUNCSIG$v) - (local $0 i32) - global.get $~lib/runtime/ROOT - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/emptyCtor - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/emptyCtorWithFieldInit - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/emptyCtorWithFieldNoInit - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/none - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/justFieldInit - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/justFieldNoInit - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/ctorReturns - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/ctorConditionallyReturns - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/ctorAllocates - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - global.get $constructor/ctorConditionallyAllocates - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - end - ) - (func $~lib/runtime/__gc_mark_members (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - (local $2 i32) - block $invalid - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $constructor/CtorConditionallyAllocates - block $constructor/CtorAllocates - block $constructor/CtorConditionallyReturns - block $constructor/JustFieldNoInit - block $constructor/JustFieldInit - block $constructor/None - block $constructor/EmptyCtorWithFieldNoInit - block $constructor/EmptyCtorWithFieldInit - block $constructor/EmptyCtor - block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorConditionallyReturns $constructor/CtorAllocates $constructor/CtorConditionallyAllocates $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - unreachable - ) - (func $~lib/runtime/__runtime_instanceof (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $constructor/CtorConditionallyAllocates - block $constructor/CtorAllocates - block $constructor/CtorConditionallyReturns - block $constructor/JustFieldNoInit - block $constructor/JustFieldInit - block $constructor/None - block $constructor/EmptyCtorWithFieldNoInit - block $constructor/EmptyCtorWithFieldInit - block $constructor/EmptyCtor - block $~lib/string/String - local.get $0 - br_table $nope $~lib/string/String $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorConditionallyReturns $constructor/CtorAllocates $constructor/CtorConditionallyAllocates $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - return - end - local.get $1 - i32.const 4 - i32.eq - return - end - local.get $1 - i32.const 5 - i32.eq - return - end - local.get $1 - i32.const 6 - i32.eq - return - end - local.get $1 - i32.const 7 - i32.eq - return - end - local.get $1 - i32.const 8 - i32.eq - return - end - local.get $1 - i32.const 9 - i32.eq - return - end - local.get $1 - i32.const 10 - i32.eq - return - end - local.get $1 - i32.const 11 - i32.eq - return - end - local.get $1 - i32.const 12 - i32.eq - return - end - i32.const 0 - return - ) - (func $~lib/runtime/__runtime_flags (; 66 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $invalid - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $constructor/CtorConditionallyAllocates - block $constructor/CtorAllocates - block $constructor/CtorConditionallyReturns - block $constructor/JustFieldNoInit - block $constructor/JustFieldInit - block $constructor/None - block $constructor/EmptyCtorWithFieldNoInit - block $constructor/EmptyCtorWithFieldInit - block $constructor/EmptyCtor - block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorConditionallyReturns $constructor/CtorAllocates $constructor/CtorConditionallyAllocates $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - unreachable - ) - (func $null (; 67 ;) (type $FUNCSIG$v) - ) - (func $~lib/runtime/runtime.newArray|trampoline (; 68 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 69 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc + (func $null (; 18 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/declare.optimized.wat b/tests/compiler/declare.optimized.wat index 8d9f46b6..cc7663d1 100644 --- a/tests/compiler/declare.optimized.wat +++ b/tests/compiler/declare.optimized.wat @@ -4,14 +4,11 @@ (import "declare" "externalConstant" (global $declare/externalConstant i32)) (import "declare" "my.externalConstant" (global $declare/my.externalConstant i32)) (import "declare" "externalFunction" (func $declare/externalFunction)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "declare" "my.externalFunction" (func $declare/my.externalFunction)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s") (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:declare (; 3 ;) (type $FUNCSIG$v) call $declare/externalFunction @@ -23,7 +20,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $declare/my.externalFunction @@ -35,7 +32,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/declare.untouched.wat b/tests/compiler/declare.untouched.wat index 65646b05..074031b9 100644 --- a/tests/compiler/declare.untouched.wat +++ b/tests/compiler/declare.untouched.wat @@ -4,15 +4,13 @@ (import "declare" "externalConstant" (global $declare/externalConstant i32)) (import "declare" "my.externalConstant" (global $declare/my.externalConstant i32)) (import "declare" "externalFunction" (func $declare/externalFunction)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "declare" "my.externalFunction" (func $declare/my.externalFunction)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\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/memory/HEAP_BASE i32 (i32.const 36)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:declare (; 3 ;) (type $FUNCSIG$v) call $declare/externalFunction @@ -25,7 +23,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $declare/my.externalFunction @@ -38,7 +36,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/do.optimized.wat b/tests/compiler/do.optimized.wat index cbe1030f..b23a5d26 100644 --- a/tests/compiler/do.optimized.wat +++ b/tests/compiler/do.optimized.wat @@ -1,16 +1,13 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\n\00\00\00d\00o\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\n\00\00\00d\00o\00.\00t\00s") (global $do/n (mut i32) (i32.const 10)) (global $do/m (mut i32) (i32.const 0)) (global $do/o (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:do (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -32,7 +29,7 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $do/m @@ -43,7 +40,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 10 @@ -65,7 +62,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 10 @@ -99,7 +96,7 @@ i32.const 16 i32.const 24 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $do/o @@ -110,7 +107,7 @@ i32.const 16 i32.const 25 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $do/n @@ -122,7 +119,7 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $do/m @@ -133,7 +130,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $do/o @@ -144,7 +141,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/do.untouched.wat b/tests/compiler/do.untouched.wat index 8977815a..81941847 100644 --- a/tests/compiler/do.untouched.wat +++ b/tests/compiler/do.untouched.wat @@ -1,17 +1,15 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\n\00\00\00d\00o\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\n\00\00\00d\00o\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $do/n (mut i32) (i32.const 10)) (global $do/m (mut i32) (i32.const 0)) (global $do/o (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 28)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:do (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -40,7 +38,7 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $do/m @@ -52,7 +50,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 10 @@ -80,7 +78,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 10 @@ -123,7 +121,7 @@ i32.const 16 i32.const 24 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $do/o @@ -135,7 +133,7 @@ i32.const 16 i32.const 25 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -152,7 +150,7 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $do/m @@ -164,7 +162,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $do/o @@ -176,7 +174,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/empty.optimized.wat b/tests/compiler/empty.optimized.wat index 587c7142..bb456a11 100644 --- a/tests/compiler/empty.optimized.wat +++ b/tests/compiler/empty.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (func $null (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/empty.untouched.wat b/tests/compiler/empty.untouched.wat index 4560a6a1..29ee81b8 100644 --- a/tests/compiler/empty.untouched.wat +++ b/tests/compiler/empty.untouched.wat @@ -3,9 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (func $null (; 0 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/enum.optimized.wat b/tests/compiler/enum.optimized.wat index ef489ff6..918613db 100644 --- a/tests/compiler/enum.optimized.wat +++ b/tests/compiler/enum.optimized.wat @@ -1,8 +1,6 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $enum/Implicit.ZERO i32 (i32.const 0)) (global $enum/Implicit.ONE i32 (i32.const 1)) (global $enum/Implicit.TWO i32 (i32.const 2)) @@ -34,7 +32,6 @@ (global $enum/SelfReferenceConst.ZERO i32 (i32.const 0)) (global $enum/SelfReferenceConst.ONE i32 (i32.const 1)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "Implicit.ZERO" (global $enum/Implicit.ZERO)) (export "Implicit.ONE" (global $enum/Implicit.ONE)) (export "Implicit.TWO" (global $enum/Implicit.TWO)) diff --git a/tests/compiler/enum.untouched.wat b/tests/compiler/enum.untouched.wat index 1df56dd1..51d9aa74 100644 --- a/tests/compiler/enum.untouched.wat +++ b/tests/compiler/enum.untouched.wat @@ -35,9 +35,7 @@ (global $enum/SelfReferenceConst.ZERO i32 (i32.const 0)) (global $enum/SelfReferenceConst.ONE i32 (i32.const 1)) (global $enum/enumType (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "Implicit.ZERO" (global $enum/Implicit.ZERO)) (export "Implicit.ONE" (global $enum/Implicit.ONE)) (export "Implicit.TWO" (global $enum/Implicit.TWO)) diff --git a/tests/compiler/export.optimized.wat b/tests/compiler/export.optimized.wat index be7678c3..4bb09247 100644 --- a/tests/compiler/export.optimized.wat +++ b/tests/compiler/export.optimized.wat @@ -2,13 +2,10 @@ (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $export/ns.one) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "add" (func $export/add)) (export "sub" (func $export/sub)) (export "renamed_mul" (func $export/mul)) diff --git a/tests/compiler/export.untouched.wat b/tests/compiler/export.untouched.wat index ea0955df..9da32dc4 100644 --- a/tests/compiler/export.untouched.wat +++ b/tests/compiler/export.untouched.wat @@ -7,9 +7,7 @@ (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "add" (func $export/add)) (export "sub" (func $export/sub)) (export "renamed_mul" (func $export/mul)) diff --git a/tests/compiler/exports.optimized.wat b/tests/compiler/exports.optimized.wat index bacc9845..55fa3e4e 100644 --- a/tests/compiler/exports.optimized.wat +++ b/tests/compiler/exports.optimized.wat @@ -6,11 +6,9 @@ (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (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)) @@ -21,10 +19,9 @@ (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) - (global $exports/Car i32 (i32.const 1)) - (global $exports/vehicles.Car i32 (i32.const 3)) + (global $exports/Car i32 (i32.const 17)) + (global $exports/vehicles.Car i32 (i32.const 18)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "add" (func $exports/add)) (export "$.setArgc" (func $~lib/setargc)) (export "subOpt" (func $exports/subOpt|trampoline)) @@ -150,9 +147,9 @@ if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -165,9 +162,9 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -234,7 +231,7 @@ i32.eqz if call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -262,7 +259,7 @@ i32.eqz if call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $0 end diff --git a/tests/compiler/exports.untouched.wat b/tests/compiler/exports.untouched.wat index 4518780c..54436b1f 100644 --- a/tests/compiler/exports.untouched.wat +++ b/tests/compiler/exports.untouched.wat @@ -6,9 +6,9 @@ (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $exports/Animal.CAT i32 (i32.const 0)) @@ -25,10 +25,9 @@ (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/memory/HEAP_BASE i32 (i32.const 56)) (global $~lib/argc (mut i32) (i32.const 0)) - (global $exports/Car i32 (i32.const 1)) - (global $exports/vehicles.Car i32 (i32.const 3)) + (global $exports/Car i32 (i32.const 17)) + (global $exports/vehicles.Car i32 (i32.const 18)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "add" (func $exports/add)) (export "$.setArgc" (func $~lib/setargc)) (export "subOpt" (func $exports/subOpt|trampoline)) @@ -196,9 +195,9 @@ if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -213,9 +212,9 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -230,7 +229,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -265,7 +264,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $0 end diff --git a/tests/compiler/external.optimized.wat b/tests/compiler/external.optimized.wat index 694a47c7..3cd8fa26 100644 --- a/tests/compiler/external.optimized.wat +++ b/tests/compiler/external.optimized.wat @@ -6,10 +6,7 @@ (import "external" "bar" (func $external/two)) (import "foo" "baz" (func $external/three)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (export "foo" (func $external/foo)) (export "foo.bar" (func $external/foo.bar)) (export "two" (func $external/two)) diff --git a/tests/compiler/external.untouched.wat b/tests/compiler/external.untouched.wat index f3f10b1e..664061dc 100644 --- a/tests/compiler/external.untouched.wat +++ b/tests/compiler/external.untouched.wat @@ -8,9 +8,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "foo" (func $external/foo)) (export "foo.bar" (func $external/foo.bar)) (export "two" (func $external/two)) diff --git a/tests/compiler/for.optimized.wat b/tests/compiler/for.optimized.wat index 82032018..d7a3cce8 100644 --- a/tests/compiler/for.optimized.wat +++ b/tests/compiler/for.optimized.wat @@ -1,14 +1,11 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s") (global $for/i (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:for (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -36,7 +33,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end loop $repeat|1 @@ -71,7 +68,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end loop $repeat|3 @@ -119,7 +116,7 @@ i32.const 16 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 diff --git a/tests/compiler/for.untouched.wat b/tests/compiler/for.untouched.wat index 222039d8..e7477e41 100644 --- a/tests/compiler/for.untouched.wat +++ b/tests/compiler/for.untouched.wat @@ -1,15 +1,13 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $for/i (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 28)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:for (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -44,7 +42,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -92,7 +90,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -168,7 +166,7 @@ i32.const 16 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|6 diff --git a/tests/compiler/function-expression.optimized.wat b/tests/compiler/function-expression.optimized.wat index f90052aa..7ef1ebc0 100644 --- a/tests/compiler/function-expression.optimized.wat +++ b/tests/compiler/function-expression.optimized.wat @@ -4,9 +4,9 @@ (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\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 8) "\10\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") (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 $function-expression/f1 (mut i32) (i32.const 1)) @@ -15,7 +15,6 @@ (global $function-expression/f3 (mut i32) (i32.const 3)) (global $function-expression/f4 (mut i32) (i32.const 4)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:function-expression~anonymous|0 (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -50,7 +49,7 @@ i32.const 16 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -65,7 +64,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -83,7 +82,7 @@ i32.const 16 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -99,7 +98,7 @@ i32.const 16 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -115,7 +114,7 @@ i32.const 16 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -131,7 +130,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -147,7 +146,7 @@ i32.const 16 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -163,7 +162,7 @@ i32.const 16 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -179,7 +178,7 @@ i32.const 16 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/function-expression.untouched.wat b/tests/compiler/function-expression.untouched.wat index 1e02707c..d780c0d3 100644 --- a/tests/compiler/function-expression.untouched.wat +++ b/tests/compiler/function-expression.untouched.wat @@ -4,9 +4,9 @@ (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\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 8) "\10\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") (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 $function-expression/f1 (mut i32) (i32.const 1)) @@ -14,9 +14,7 @@ (global $function-expression/f2 (mut i32) (i32.const 2)) (global $function-expression/f3 (mut i32) (i32.const 3)) (global $function-expression/f4 (mut i32) (i32.const 4)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 60)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:function-expression~anonymous|0 (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -85,7 +83,7 @@ i32.const 16 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -103,7 +101,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block @@ -126,7 +124,7 @@ i32.const 16 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 @@ -139,7 +137,7 @@ i32.const 16 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 6 @@ -152,7 +150,7 @@ i32.const 16 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 7 @@ -165,7 +163,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -184,7 +182,7 @@ i32.const 16 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -203,7 +201,7 @@ i32.const 16 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -222,7 +220,7 @@ i32.const 16 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/function-types.optimized.wat b/tests/compiler/function-types.optimized.wat index 18a1abc6..57cfbfcd 100644 --- a/tests/compiler/function-types.optimized.wat +++ b/tests/compiler/function-types.optimized.wat @@ -4,16 +4,15 @@ (type $FUNCSIG$jjj (func (param i64 i64) (result i64))) (type $FUNCSIG$ddd (func (param f64 f64) (result f64))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\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 8) "\10\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s") (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 $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)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $function-types/makeAdder~anonymous|0 (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -47,7 +46,7 @@ i32.const 16 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -65,7 +64,7 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -81,7 +80,7 @@ i32.const 16 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -97,7 +96,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -113,7 +112,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -129,7 +128,7 @@ i32.const 16 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -160,7 +159,7 @@ i32.const 16 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -176,7 +175,7 @@ i32.const 16 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/function-types.untouched.wat b/tests/compiler/function-types.untouched.wat index 70a30e4c..2fda5a8d 100644 --- a/tests/compiler/function-types.untouched.wat +++ b/tests/compiler/function-types.untouched.wat @@ -6,17 +6,15 @@ (type $FUNCSIG$ddd (func (param f64 f64) (result f64))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\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 8) "\10\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s\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 $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)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 52)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $function-types/makeAdder~anonymous|0 (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -109,7 +107,7 @@ i32.const 16 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $function-types/makeAdder @@ -130,7 +128,7 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result f64) @@ -149,7 +147,7 @@ i32.const 16 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -164,7 +162,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -178,7 +176,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -193,7 +191,7 @@ i32.const 16 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -212,7 +210,7 @@ i32.const 16 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -227,7 +225,7 @@ i32.const 16 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/function.optimized.wat b/tests/compiler/function.optimized.wat index 86b388ad..e2acb0a3 100644 --- a/tests/compiler/function.optimized.wat +++ b/tests/compiler/function.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/function.untouched.wat b/tests/compiler/function.untouched.wat index b76f67e9..c06f81da 100644 --- a/tests/compiler/function.untouched.wat +++ b/tests/compiler/function.untouched.wat @@ -17,9 +17,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $function/_ (; 0 ;) (type $FUNCSIG$v) nop diff --git a/tests/compiler/gc.json b/tests/compiler/gc.json index 85b9ce0f..b1da366f 100644 --- a/tests/compiler/gc.json +++ b/tests/compiler/gc.json @@ -1,5 +1,5 @@ { "asc_flags": [ - "--runtime arena" + "--runtime none" ] } \ No newline at end of file diff --git a/tests/compiler/gc.optimized.wat b/tests/compiler/gc.optimized.wat index 656ae34d..efc7378e 100644 --- a/tests/compiler/gc.optimized.wat +++ b/tests/compiler/gc.optimized.wat @@ -7,23 +7,21 @@ (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 8) "\10\00\00\00(") (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 64) "\02\00\00\00\16") + (data (i32.const 64) "\10\00\00\00\16") (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 104) "\02\00\00\00\0e") + (data (i32.const 104) "\10\00\00\00\0e") (data (i32.const 120) "g\00c\00.\00l\00i\00n\00k") - (data (i32.const 136) "\02\00\00\00\n") + (data (i32.const 136) "\10\00\00\00\n") (data (i32.const 152) "g\00c\00.\00t\00s") - (data (i32.const 168) "\02\00\00\00\12") + (data (i32.const 168) "\10\00\00\00\12") (data (i32.const 184) "g\00c\00.\00u\00n\00l\00i\00n\00k") - (data (i32.const 208) "\02\00\00\00\14") + (data (i32.const 208) "\10\00\00\00\14") (data (i32.const 224) "g\00c\00.\00c\00o\00l\00l\00e\00c\00t") - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_ref (mut i32) (i32.const 0)) @@ -39,7 +37,6 @@ (global $~lib/started (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -133,7 +130,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/register_count i32.const 1 i32.add @@ -149,9 +146,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -164,9 +161,9 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -186,7 +183,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/link_count i32.const 1 i32.add @@ -206,7 +203,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/unlink_count i32.const 1 i32.add @@ -229,14 +226,14 @@ global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register global.set $~lib/runtime/ROOT i32.const 1 global.set $~lib/started end call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $2 global.get $gc/_dummy/link_count @@ -256,9 +253,9 @@ if i32.const 0 i32.const 152 - i32.const 14 + i32.const 15 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count @@ -267,9 +264,9 @@ if i32.const 0 i32.const 152 - i32.const 15 + i32.const 16 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/collect_count @@ -278,9 +275,9 @@ if i32.const 0 i32.const 152 - i32.const 16 + i32.const 17 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count @@ -298,9 +295,9 @@ if i32.const 0 i32.const 152 - i32.const 23 + i32.const 24 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count @@ -311,9 +308,9 @@ if i32.const 0 i32.const 152 - i32.const 24 + i32.const 25 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/collect_count @@ -322,9 +319,9 @@ if i32.const 0 i32.const 152 - i32.const 25 + i32.const 26 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count @@ -340,7 +337,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/collect_count i32.const 1 i32.add @@ -351,9 +348,9 @@ if i32.const 0 i32.const 152 - i32.const 32 + i32.const 33 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count @@ -362,9 +359,9 @@ if i32.const 0 i32.const 152 - i32.const 33 + i32.const 34 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/collect_count @@ -375,9 +372,9 @@ if i32.const 0 i32.const 152 - i32.const 34 + i32.const 35 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/gc.ts b/tests/compiler/gc.ts index 3242df9c..fe20e109 100644 --- a/tests/compiler/gc.ts +++ b/tests/compiler/gc.ts @@ -1,3 +1,4 @@ +import "allocator/arena"; import { link_count, unlink_count, collect_count } from "./gc/_dummy"; class Ref {} diff --git a/tests/compiler/gc.untouched.wat b/tests/compiler/gc.untouched.wat index eb4ba1c9..11ad4850 100644 --- a/tests/compiler/gc.untouched.wat +++ b/tests/compiler/gc.untouched.wat @@ -6,15 +6,15 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$vii (func (param i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 64) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") - (data (i32.const 104) "\02\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00l\00i\00n\00k\00") - (data (i32.const 136) "\02\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00t\00s\00") - (data (i32.const 168) "\02\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00u\00n\00l\00i\00n\00k\00") - (data (i32.const 208) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00c\00o\00l\00l\00e\00c\00t\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\10\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\10\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00l\00i\00n\00k\00") + (data (i32.const 136) "\10\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00t\00s\00") + (data (i32.const 168) "\10\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00u\00n\00l\00i\00n\00k\00") + (data (i32.const 208) "\10\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00c\00o\00l\00l\00e\00c\00t\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -38,7 +38,6 @@ (global $~lib/memory/HEAP_BASE i32 (i32.const 244)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -168,7 +167,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/register_count i32.const 1 i32.add @@ -185,9 +184,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -202,9 +201,9 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -220,7 +219,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -232,7 +231,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -248,7 +247,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/link_count i32.const 1 i32.add @@ -273,7 +272,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/unlink_count i32.const 1 i32.add @@ -296,7 +295,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/collect_count i32.const 1 i32.add @@ -337,9 +336,9 @@ if i32.const 0 i32.const 152 - i32.const 14 + i32.const 15 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count @@ -349,9 +348,9 @@ if i32.const 0 i32.const 152 - i32.const 15 + i32.const 16 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/collect_count @@ -361,9 +360,9 @@ if i32.const 0 i32.const 152 - i32.const 16 + i32.const 17 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count @@ -381,9 +380,9 @@ if i32.const 0 i32.const 152 - i32.const 23 + i32.const 24 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count @@ -395,9 +394,9 @@ if i32.const 0 i32.const 152 - i32.const 24 + i32.const 25 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/collect_count @@ -407,9 +406,9 @@ if i32.const 0 i32.const 152 - i32.const 25 + i32.const 26 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count @@ -426,9 +425,9 @@ if i32.const 0 i32.const 152 - i32.const 32 + i32.const 33 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count @@ -438,9 +437,9 @@ if i32.const 0 i32.const 152 - i32.const 33 + i32.const 34 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/collect_count @@ -452,9 +451,9 @@ if i32.const 0 i32.const 152 - i32.const 34 + i32.const 35 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/gc/global-assign.json b/tests/compiler/gc/global-assign.json index 85b9ce0f..b1da366f 100644 --- a/tests/compiler/gc/global-assign.json +++ b/tests/compiler/gc/global-assign.json @@ -1,5 +1,5 @@ { "asc_flags": [ - "--runtime arena" + "--runtime none" ] } \ No newline at end of file diff --git a/tests/compiler/gc/global-assign.optimized.wat b/tests/compiler/gc/global-assign.optimized.wat index a4feb0e8..78321a5a 100644 --- a/tests/compiler/gc/global-assign.optimized.wat +++ b/tests/compiler/gc/global-assign.optimized.wat @@ -5,17 +5,15 @@ (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 8) "\10\00\00\00(") (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 64) "\02\00\00\00\16") + (data (i32.const 64) "\10\00\00\00\16") (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 104) "\02\00\00\00&") + (data (i32.const 104) "\10\00\00\00&") (data (i32.const 120) "g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $gc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_ref (mut i32) (i32.const 0)) (global $gc/_dummy/link_count (mut i32) (i32.const 0)) @@ -27,7 +25,6 @@ (global $~lib/started (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/global-assign/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -121,7 +118,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/register_count i32.const 1 i32.add @@ -137,9 +134,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -152,13 +149,13 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 - i32.const 1 + i32.const 17 i32.store local.get $0 call $gc/_dummy/__ref_register @@ -180,27 +177,27 @@ if i32.const 0 i32.const 120 - i32.const 11 + i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count if i32.const 0 i32.const 120 - i32.const 12 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count if i32.const 0 i32.const 120 - i32.const 13 + i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $~lib/util/runtime/allocate @@ -212,27 +209,27 @@ if i32.const 0 i32.const 120 - i32.const 18 + i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count if i32.const 0 i32.const 120 - i32.const 19 + i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count if i32.const 0 i32.const 120 - i32.const 20 + i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/gc/global-assign.ts b/tests/compiler/gc/global-assign.ts index 06b3cf7d..3240387d 100644 --- a/tests/compiler/gc/global-assign.ts +++ b/tests/compiler/gc/global-assign.ts @@ -1,3 +1,4 @@ +import "allocator/arena"; import { register_count, link_count, unlink_count } from "./_dummy"; @start export function main(): void {} diff --git a/tests/compiler/gc/global-assign.untouched.wat b/tests/compiler/gc/global-assign.untouched.wat index 7abc9c7a..7204ebc4 100644 --- a/tests/compiler/gc/global-assign.untouched.wat +++ b/tests/compiler/gc/global-assign.untouched.wat @@ -5,12 +5,12 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 64) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") - (data (i32.const 104) "\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\10\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\10\00\00\00&\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -35,7 +35,6 @@ (global $~lib/memory/HEAP_BASE i32 (i32.const 160)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/global-assign/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -165,7 +164,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/register_count i32.const 1 i32.add @@ -182,9 +181,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -199,9 +198,9 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -217,7 +216,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -246,9 +245,9 @@ if i32.const 0 i32.const 120 - i32.const 11 + i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count @@ -258,9 +257,9 @@ if i32.const 0 i32.const 120 - i32.const 12 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count @@ -270,9 +269,9 @@ if i32.const 0 i32.const 120 - i32.const 13 + i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -285,9 +284,9 @@ if i32.const 0 i32.const 120 - i32.const 18 + i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count @@ -297,9 +296,9 @@ if i32.const 0 i32.const 120 - i32.const 19 + i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count @@ -309,9 +308,9 @@ if i32.const 0 i32.const 120 - i32.const 20 + i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/gc/global-init.json b/tests/compiler/gc/global-init.json index 85b9ce0f..b1da366f 100644 --- a/tests/compiler/gc/global-init.json +++ b/tests/compiler/gc/global-init.json @@ -1,5 +1,5 @@ { "asc_flags": [ - "--runtime arena" + "--runtime none" ] } \ No newline at end of file diff --git a/tests/compiler/gc/global-init.optimized.wat b/tests/compiler/gc/global-init.optimized.wat index 1356e330..f95cc5db 100644 --- a/tests/compiler/gc/global-init.optimized.wat +++ b/tests/compiler/gc/global-init.optimized.wat @@ -5,17 +5,15 @@ (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 8) "\10\00\00\00(") (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 64) "\02\00\00\00\16") + (data (i32.const 64) "\10\00\00\00\16") (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 104) "\02\00\00\00\"") + (data (i32.const 104) "\10\00\00\00\"") (data (i32.const 120) "g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $gc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_ref (mut i32) (i32.const 0)) (global $gc/_dummy/link_count (mut i32) (i32.const 0)) @@ -26,7 +24,6 @@ (global $~lib/started (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/global-init/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -120,7 +117,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/register_count i32.const 1 i32.add @@ -136,9 +133,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -151,13 +148,13 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 - i32.const 1 + i32.const 17 i32.store local.get $0 call $gc/_dummy/__ref_register @@ -177,27 +174,27 @@ if i32.const 0 i32.const 120 - i32.const 10 + i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count if i32.const 0 i32.const 120 - i32.const 11 + i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count if i32.const 0 i32.const 120 - i32.const 12 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $~lib/util/runtime/allocate @@ -209,27 +206,27 @@ if i32.const 0 i32.const 120 - i32.const 15 + i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count if i32.const 0 i32.const 120 - i32.const 16 + i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count if i32.const 0 i32.const 120 - i32.const 17 + i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/gc/global-init.ts b/tests/compiler/gc/global-init.ts index d4857d00..9f89bc7a 100644 --- a/tests/compiler/gc/global-init.ts +++ b/tests/compiler/gc/global-init.ts @@ -1,3 +1,4 @@ +import "allocator/arena"; import { register_count, link_count, unlink_count } from "./_dummy"; @start export function main(): void {} diff --git a/tests/compiler/gc/global-init.untouched.wat b/tests/compiler/gc/global-init.untouched.wat index 12382a1e..27c57d88 100644 --- a/tests/compiler/gc/global-init.untouched.wat +++ b/tests/compiler/gc/global-init.untouched.wat @@ -5,12 +5,12 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 64) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") - (data (i32.const 104) "\02\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\10\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\10\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -34,7 +34,6 @@ (global $~lib/memory/HEAP_BASE i32 (i32.const 156)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/global-init/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -164,7 +163,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/register_count i32.const 1 i32.add @@ -181,9 +180,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -198,9 +197,9 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -216,7 +215,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -243,9 +242,9 @@ if i32.const 0 i32.const 120 - i32.const 10 + i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count @@ -255,9 +254,9 @@ if i32.const 0 i32.const 120 - i32.const 11 + i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count @@ -267,9 +266,9 @@ if i32.const 0 i32.const 120 - i32.const 12 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -282,9 +281,9 @@ if i32.const 0 i32.const 120 - i32.const 15 + i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/link_count @@ -294,9 +293,9 @@ if i32.const 0 i32.const 120 - i32.const 16 + i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/_dummy/unlink_count @@ -306,9 +305,9 @@ if i32.const 0 i32.const 120 - i32.const 17 + i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/gc/itcm/trace.json b/tests/compiler/gc/itcm/trace.json index 85b9ce0f..b1da366f 100644 --- a/tests/compiler/gc/itcm/trace.json +++ b/tests/compiler/gc/itcm/trace.json @@ -1,5 +1,5 @@ { "asc_flags": [ - "--runtime arena" + "--runtime none" ] } \ No newline at end of file diff --git a/tests/compiler/gc/itcm/trace.optimized.wat b/tests/compiler/gc/itcm/trace.optimized.wat index f1f6a1f5..c28cf99b 100644 --- a/tests/compiler/gc/itcm/trace.optimized.wat +++ b/tests/compiler/gc/itcm/trace.optimized.wat @@ -8,67 +8,65 @@ (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00 ") + (data (i32.const 8) "\10\00\00\00 ") (data (i32.const 24) "g\00c\00/\00i\00t\00c\00m\00/\00t\00r\00a\00c\00e\00.\00t\00s") - (data (i32.const 56) "\01\00\00\00\"") + (data (i32.const 56) "\10\00\00\00\"") (data (i32.const 72) "#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)") - (data (i32.const 112) "\01\00\00\00(") + (data (i32.const 112) "\10\00\00\00(") (data (i32.const 128) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 168) "\01\00\00\00\1a") + (data (i32.const 168) "\10\00\00\00\1a") (data (i32.const 184) "i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 216) "\01\00\00\00\12") + (data (i32.const 216) "\10\00\00\00\12") (data (i32.const 232) "i\00t\00c\00m\00~\00i\00n\00i\00t") - (data (i32.const 256) "\01\00\00\00 ") + (data (i32.const 256) "\10\00\00\00 ") (data (i32.const 272) " \00 \00 \00 \00 \00f\00r\00o\00m\00S\00p\00a\00c\00e\00 \00=") - (data (i32.const 304) "\01\00\00\00\14") + (data (i32.const 304) "\10\00\00\00\14") (data (i32.const 320) " \00 \00 \00 \00 \00c\00l\00e\00a\00r") - (data (i32.const 344) "\01\00\00\00\1c") + (data (i32.const 344) "\10\00\00\00\1c") (data (i32.const 360) " \00 \00 \00 \00 \00t\00o\00S\00p\00a\00c\00e\00 \00=") - (data (i32.const 392) "\01\00\00\00\"") + (data (i32.const 392) "\10\00\00\00\"") (data (i32.const 408) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00I\00D\00L\00E") - (data (i32.const 448) "\01\00\00\006") + (data (i32.const 448) "\10\00\00\006") (data (i32.const 464) " \00 \00 \00 \00 \00p\00u\00s\00h\00 \00[\00p\00r\00e\00v\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]") - (data (i32.const 520) "\01\00\00\00(") + (data (i32.const 520) "\10\00\00\00(") (data (i32.const 536) "#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)") - (data (i32.const 576) "\01\00\00\00&") + (data (i32.const 576) "\10\00\00\00&") (data (i32.const 592) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 632) "\01\00\00\00\12") + (data (i32.const 632) "\10\00\00\00\12") (data (i32.const 648) "i\00t\00c\00m\00.\00l\00i\00n\00k") - (data (i32.const 672) "\01\00\00\00\1a") + (data (i32.const 672) "\10\00\00\00\1a") (data (i32.const 688) " \00 \00 \00 \00 \00m\00a\00k\00e\00G\00r\00a\00y") - (data (i32.const 720) "\01\00\00\00:") + (data (i32.const 720) "\10\00\00\00:") (data (i32.const 736) " \00 \00 \00 \00 \00u\00n\00l\00i\00n\00k\00 \00[\00p\00r\00e\00f\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]") - (data (i32.const 800) "\01\00\00\00\1c") + (data (i32.const 800) "\10\00\00\00\1c") (data (i32.const 816) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f") - (data (i32.const 848) "\01\00\00\00\1a") + (data (i32.const 848) "\10\00\00\00\1a") (data (i32.const 864) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 896) "\01\00\00\00\1e") + (data (i32.const 896) "\10\00\00\00\1e") (data (i32.const 912) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l") - (data (i32.const 944) "\01\00\00\00\16") + (data (i32.const 944) "\10\00\00\00\16") (data (i32.const 960) "#\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)") - (data (i32.const 984) "\01\00\00\00\18") + (data (i32.const 984) "\10\00\00\00\18") (data (i32.const 1000) "i\00t\00c\00m\00.\00c\00o\00l\00l\00e\00c\00t") - (data (i32.const 1024) "\01\00\00\00\1c") + (data (i32.const 1024) "\10\00\00\00\1c") (data (i32.const 1040) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00I\00D\00L\00E") - (data (i32.const 1072) "\01\00\00\00\"") + (data (i32.const 1072) "\10\00\00\00\"") (data (i32.const 1088) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00M\00A\00R\00K") - (data (i32.const 1128) "\01\00\00\00\1c") + (data (i32.const 1128) "\10\00\00\00\1c") (data (i32.const 1144) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K") - (data (i32.const 1176) "\01\00\00\00*") + (data (i32.const 1176) "\10\00\00\00*") (data (i32.const 1192) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h") - (data (i32.const 1240) "\01\00\00\00$") + (data (i32.const 1240) "\10\00\00\00$") (data (i32.const 1256) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P") - (data (i32.const 1296) "\01\00\00\00(") + (data (i32.const 1296) "\10\00\00\00(") (data (i32.const 1312) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e") - (data (i32.const 1352) "\01\00\00\00,") + (data (i32.const 1352) "\10\00\00\00,") (data (i32.const 1368) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00i\00n\00i\00s\00h") - (data (i32.const 1416) "\01\00\00\00\12") + (data (i32.const 1416) "\10\00\00\00\12") (data (i32.const 1432) "i\00t\00c\00m\00.\00m\00a\00r\00k") - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) @@ -79,7 +77,6 @@ (global $~lib/started (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/itcm/trace/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -182,7 +179,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $0 local.get $0 i32.store offset=8 @@ -202,7 +199,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 16 call $~lib/allocator/arena/__mem_allocate global.set $~lib/collector/itcm/fromSpace @@ -216,7 +213,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $~lib/collector/itcm/fromSpace local.tee $0 i32.const -1 @@ -239,7 +236,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $~lib/collector/itcm/toSpace local.tee $0 i32.const -1 @@ -260,7 +257,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace end ) (func $~lib/collector/itcm/ManagedObjectList#push (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -283,7 +280,7 @@ f64.convert_i32_u f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $1 local.get $1 i32.load offset=8 @@ -316,7 +313,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $~lib/collector/itcm/maybeInit local.get $0 i32.const 16 @@ -341,9 +338,9 @@ if i32.const 0 i32.const 128 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -356,9 +353,9 @@ if i32.const 0 i32.const 128 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -372,7 +369,7 @@ (local $0 i32) i32.const 4 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 17 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -614,7 +611,7 @@ f64.convert_i32_u f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $0 local.get $1 i32.store offset=12 @@ -638,7 +635,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $~lib/collector/itcm/iter local.get $0 i32.eq @@ -672,7 +669,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $~lib/collector/itcm/maybeInit global.get $~lib/collector/itcm/white i32.eqz @@ -710,7 +707,7 @@ i32.const 4 call $~lib/memory/memory.fill local.get $1 - i32.const 3 + i32.const 15 call $~lib/util/runtime/register local.set $1 local.get $0 @@ -718,7 +715,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 14 call $~lib/util/runtime/register local.set $0 end @@ -989,9 +986,9 @@ if i32.const 0 i32.const 128 - i32.const 88 + i32.const 91 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end else @@ -1106,7 +1103,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $gc/itcm/trace/Ref#constructor local.set $1 i32.const 536 @@ -1116,10 +1113,10 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 16 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 18 call $~lib/util/runtime/register call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 @@ -1135,7 +1132,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $0 local.get $1 call $~lib/array/Array#__set @@ -1146,7 +1143,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $0 i32.const 0 call $~lib/array/Array#__set @@ -1157,7 +1154,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $gc/itcm/trace/Ref#constructor drop ) @@ -1185,7 +1182,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 2 global.set $~lib/collector/itcm/state i32.const 1088 @@ -1195,7 +1192,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace br $break|0 end global.get $~lib/collector/itcm/iter @@ -1217,7 +1214,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $0 global.set $~lib/collector/itcm/iter local.get $0 @@ -1241,7 +1238,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $~lib/collector/itcm/toSpace global.get $~lib/collector/itcm/iter i32.load offset=8 @@ -1272,7 +1269,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace end end br $break|0 @@ -1292,7 +1289,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $0 i32.load offset=8 i32.const -4 @@ -1306,7 +1303,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $~lib/collector/itcm/toSpace call $~lib/collector/itcm/ManagedObjectList#clear i32.const 1 @@ -1318,7 +1315,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace end end ) @@ -1330,7 +1327,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $~lib/collector/itcm/maybeInit loop $continue|0 global.get $~lib/collector/itcm/state @@ -1372,7 +1369,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $~lib/collector/itcm/maybeInit global.get $~lib/collector/itcm/white local.get $0 @@ -1412,7 +1409,7 @@ if local.get $0 call $~lib/collector/itcm/__ref_mark - i32.const 2 + i32.const 17 local.get $0 call $~lib/runtime/__gc_mark_members end @@ -1427,27 +1424,66 @@ (func $~lib/runtime/__gc_mark_members (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) block $invalid block $~lib/array/Array - block $~lib/arraybuffer/ArrayBufferView - block $~lib/arraybuffer/ArrayBuffer - block $gc/itcm/trace/Ref - block $~lib/string/String + block $gc/itcm/trace/Ref + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/arraybuffer/ArrayBufferView + block $~lib/number/F64 + block $~lib/number/F32 + block $~lib/number/Bool + block $~lib/number/Usize + block $~lib/number/U64 + block $~lib/number/U32 + block $~lib/number/U16 + block $~lib/number/U8 + block $~lib/number/Isize + block $~lib/number/I64 + block $~lib/number/I32 + block $~lib/number/I16 + block $~lib/number/I8 + local.get $0 + i32.const 1 + i32.sub + br_table $~lib/number/I8 $~lib/number/I16 $~lib/number/I32 $~lib/number/I64 $~lib/number/Isize $~lib/number/U8 $~lib/number/U16 $~lib/number/U32 $~lib/number/U64 $~lib/number/Usize $~lib/number/Bool $~lib/number/F32 $~lib/number/F64 $~lib/arraybuffer/ArrayBufferView $~lib/arraybuffer/ArrayBuffer $~lib/string/String $gc/itcm/trace/Ref $~lib/array/Array $invalid + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + local.get $1 + i32.load + local.tee $0 + if local.get $0 - i32.const 1 - i32.sub - br_table $~lib/string/String $gc/itcm/trace/Ref $~lib/arraybuffer/ArrayBuffer $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $invalid + call $~lib/collector/itcm/__ref_mark + i32.const 15 + local.get $0 + call $~lib/runtime/__gc_mark_members end return end - local.get $1 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/collector/itcm/__ref_mark - i32.const 2 - local.get $0 - call $~lib/runtime/__gc_mark_members - end return end return @@ -1458,7 +1494,7 @@ if local.get $0 call $~lib/collector/itcm/__ref_mark - i32.const 3 + i32.const 17 local.get $0 call $~lib/runtime/__gc_mark_members end diff --git a/tests/compiler/gc/itcm/trace.ts b/tests/compiler/gc/itcm/trace.ts index 95969563..72857f6b 100644 --- a/tests/compiler/gc/itcm/trace.ts +++ b/tests/compiler/gc/itcm/trace.ts @@ -1,4 +1,5 @@ @global const GC_TRACE = true; +import "allocator/arena"; import "collector/itcm"; import { HEADER_SIZE } from "util/runtime"; diff --git a/tests/compiler/gc/itcm/trace.untouched.wat b/tests/compiler/gc/itcm/trace.untouched.wat index a9e42ed9..3e9d32a2 100644 --- a/tests/compiler/gc/itcm/trace.untouched.wat +++ b/tests/compiler/gc/itcm/trace.untouched.wat @@ -8,37 +8,37 @@ (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00 \00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00i\00t\00c\00m\00/\00t\00r\00a\00c\00e\00.\00t\00s\00") - (data (i32.const 56) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)\00") - (data (i32.const 112) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 168) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") - (data (i32.const 216) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00i\00n\00i\00t\00") - (data (i32.const 256) "\01\00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00f\00r\00o\00m\00S\00p\00a\00c\00e\00 \00=\00") - (data (i32.const 304) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00c\00l\00e\00a\00r\00") - (data (i32.const 344) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00t\00o\00S\00p\00a\00c\00e\00 \00=\00") - (data (i32.const 392) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00I\00D\00L\00E\00") - (data (i32.const 448) "\01\00\00\006\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00p\00u\00s\00h\00 \00[\00p\00r\00e\00v\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]\00") - (data (i32.const 520) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)\00") - (data (i32.const 576) "\01\00\00\00&\00\00\00\00\00\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 632) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00l\00i\00n\00k\00") - (data (i32.const 672) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00m\00a\00k\00e\00G\00r\00a\00y\00") - (data (i32.const 720) "\01\00\00\00:\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00u\00n\00l\00i\00n\00k\00 \00[\00p\00r\00e\00f\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]\00") - (data (i32.const 800) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f\00") - (data (i32.const 848) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 896) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l\00") - (data (i32.const 944) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00#\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)\00") - (data (i32.const 984) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00c\00o\00l\00l\00e\00c\00t\00") - (data (i32.const 1024) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00I\00D\00L\00E\00") - (data (i32.const 1072) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00M\00A\00R\00K\00") - (data (i32.const 1128) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00") - (data (i32.const 1176) "\01\00\00\00*\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h\00") - (data (i32.const 1240) "\01\00\00\00$\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P\00") - (data (i32.const 1296) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e\00") - (data (i32.const 1352) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00i\00n\00i\00s\00h\00") - (data (i32.const 1416) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00m\00a\00r\00k\00") + (data (i32.const 8) "\10\00\00\00 \00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00i\00t\00c\00m\00/\00t\00r\00a\00c\00e\00.\00t\00s\00") + (data (i32.const 56) "\10\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)\00") + (data (i32.const 112) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 168) "\10\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 216) "\10\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00i\00n\00i\00t\00") + (data (i32.const 256) "\10\00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00f\00r\00o\00m\00S\00p\00a\00c\00e\00 \00=\00") + (data (i32.const 304) "\10\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00c\00l\00e\00a\00r\00") + (data (i32.const 344) "\10\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00t\00o\00S\00p\00a\00c\00e\00 \00=\00") + (data (i32.const 392) "\10\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00I\00D\00L\00E\00") + (data (i32.const 448) "\10\00\00\006\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00p\00u\00s\00h\00 \00[\00p\00r\00e\00v\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]\00") + (data (i32.const 520) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)\00") + (data (i32.const 576) "\10\00\00\00&\00\00\00\00\00\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 632) "\10\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00l\00i\00n\00k\00") + (data (i32.const 672) "\10\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00m\00a\00k\00e\00G\00r\00a\00y\00") + (data (i32.const 720) "\10\00\00\00:\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00u\00n\00l\00i\00n\00k\00 \00[\00p\00r\00e\00f\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]\00") + (data (i32.const 800) "\10\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f\00") + (data (i32.const 848) "\10\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 896) "\10\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l\00") + (data (i32.const 944) "\10\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00#\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)\00") + (data (i32.const 984) "\10\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00c\00o\00l\00l\00e\00c\00t\00") + (data (i32.const 1024) "\10\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00I\00D\00L\00E\00") + (data (i32.const 1072) "\10\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00M\00A\00R\00K\00") + (data (i32.const 1128) "\10\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00") + (data (i32.const 1176) "\10\00\00\00*\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h\00") + (data (i32.const 1240) "\10\00\00\00$\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P\00") + (data (i32.const 1296) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e\00") + (data (i32.const 1352) "\10\00\00\00,\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00i\00n\00i\00s\00h\00") + (data (i32.const 1416) "\10\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00m\00a\00r\00k\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/itcm/trace/GC_TRACE i32 (i32.const 1)) @@ -57,7 +57,6 @@ (global $~lib/memory/HEAP_BASE i32 (i32.const 1452)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/itcm/trace/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -194,7 +193,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $0 local.get $0 i32.store offset=8 @@ -215,7 +214,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $~lib/util/runtime/HEADER_SIZE call $~lib/memory/memory.allocate global.set $~lib/collector/itcm/fromSpace @@ -233,7 +232,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $~lib/collector/itcm/fromSpace i32.const -1 i32.store @@ -259,7 +258,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $~lib/collector/itcm/toSpace i32.const -1 i32.store @@ -279,7 +278,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace end ) (func $~lib/collector/itcm/ManagedObject#set:color (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -338,7 +337,7 @@ f64.convert_i32_u f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $1 local.get $0 call $~lib/collector/itcm/ManagedObject#set:next @@ -363,7 +362,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $~lib/collector/itcm/maybeInit block $~lib/collector/itcm/refToObj|inlined.0 (result i32) local.get $0 @@ -389,9 +388,9 @@ if i32.const 0 i32.const 128 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -406,9 +405,9 @@ if i32.const 0 i32.const 128 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -424,7 +423,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -700,7 +699,7 @@ i32.const 592 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -711,7 +710,7 @@ local.get $1 call $~lib/memory/memory.fill local.get $2 - i32.const 3 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/collector/itcm/ManagedObject#get:color (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -766,7 +765,7 @@ f64.convert_i32_u f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $1 local.get $2 i32.store offset=12 @@ -790,7 +789,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $0 global.get $~lib/collector/itcm/iter i32.eq @@ -827,7 +826,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $~lib/collector/itcm/maybeInit block $~lib/collector/itcm/refToObj|inlined.1 (result i32) local.get $1 @@ -877,7 +876,7 @@ i32.const 592 i32.const 12 i32.const 57 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -893,7 +892,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 14 call $~lib/util/runtime/register local.set $0 end @@ -940,7 +939,7 @@ else i32.const 16 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 18 call $~lib/util/runtime/register end local.get $1 @@ -1242,9 +1241,9 @@ if i32.const 0 i32.const 128 - i32.const 88 + i32.const 91 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1299,7 +1298,7 @@ i32.const 864 i32.const 14 i32.const 64 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1410,7 +1409,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 0 call $gc/itcm/trace/Ref#constructor local.set $0 @@ -1421,7 +1420,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 0 i32.const 1 call $~lib/array/Array#constructor @@ -1433,7 +1432,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $1 i32.const 0 local.get $0 @@ -1445,7 +1444,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $1 i32.const 0 i32.const 0 @@ -1457,7 +1456,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 0 call $gc/itcm/trace/Ref#constructor drop @@ -1500,7 +1499,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $~lib/runtime/__gc_mark_roots i32.const 2 global.set $~lib/collector/itcm/state @@ -1511,7 +1510,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace br $break|0 unreachable end @@ -1539,7 +1538,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $0 global.set $~lib/collector/itcm/iter local.get $0 @@ -1565,7 +1564,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $~lib/collector/itcm/iter call $~lib/collector/itcm/ManagedObject#get:next local.set $0 @@ -1594,7 +1593,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace end end br $break|0 @@ -1623,7 +1622,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace local.get $0 call $~lib/collector/itcm/ManagedObject#get:next global.set $~lib/collector/itcm/iter @@ -1642,7 +1641,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $~lib/collector/itcm/toSpace call $~lib/collector/itcm/ManagedObjectList#clear i32.const 1 @@ -1654,7 +1653,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace end br $break|0 unreachable @@ -1670,7 +1669,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $~lib/collector/itcm/maybeInit block $break|0 loop $continue|0 @@ -1704,9 +1703,9 @@ if i32.const 0 i32.const 24 - i32.const 6 + i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/memory/HEAP_BASE @@ -1745,7 +1744,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace call $~lib/collector/itcm/maybeInit block $~lib/collector/itcm/refToObj|inlined.4 (result i32) local.get $0 @@ -1797,7 +1796,7 @@ if local.get $3 call $~lib/collector/itcm/__ref_mark - i32.const 2 + i32.const 17 local.get $3 call $~lib/runtime/__gc_mark_members end @@ -1815,25 +1814,64 @@ (local $2 i32) block $invalid block $~lib/array/Array - block $~lib/arraybuffer/ArrayBufferView - block $~lib/arraybuffer/ArrayBuffer - block $gc/itcm/trace/Ref - block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $gc/itcm/trace/Ref $~lib/arraybuffer/ArrayBuffer $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $invalid + block $gc/itcm/trace/Ref + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/arraybuffer/ArrayBufferView + block $~lib/number/F64 + block $~lib/number/F32 + block $~lib/number/Bool + block $~lib/number/Usize + block $~lib/number/U64 + block $~lib/number/U32 + block $~lib/number/U16 + block $~lib/number/U8 + block $~lib/number/Isize + block $~lib/number/I64 + block $~lib/number/I32 + block $~lib/number/I16 + block $~lib/number/I8 + local.get $0 + br_table $invalid $~lib/number/I8 $~lib/number/I16 $~lib/number/I32 $~lib/number/I64 $~lib/number/Isize $~lib/number/U8 $~lib/number/U16 $~lib/number/U32 $~lib/number/U64 $~lib/number/Usize $~lib/number/Bool $~lib/number/F32 $~lib/number/F64 $~lib/arraybuffer/ArrayBufferView $~lib/arraybuffer/ArrayBuffer $~lib/string/String $gc/itcm/trace/Ref $~lib/array/Array $invalid + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + local.get $1 + i32.load + local.tee $2 + if + local.get $2 + call $~lib/collector/itcm/__ref_mark + i32.const 15 + local.get $2 + call $~lib/runtime/__gc_mark_members end return end - local.get $1 - i32.load - local.tee $2 - if - local.get $2 - call $~lib/collector/itcm/__ref_mark - i32.const 2 - local.get $2 - call $~lib/runtime/__gc_mark_members - end return end return @@ -1844,7 +1882,7 @@ if local.get $2 call $~lib/collector/itcm/__ref_mark - i32.const 3 + i32.const 17 local.get $2 call $~lib/runtime/__gc_mark_members end diff --git a/tests/compiler/gc/rc/global-assign.json b/tests/compiler/gc/rc/global-assign.json index 85b9ce0f..b1da366f 100644 --- a/tests/compiler/gc/rc/global-assign.json +++ b/tests/compiler/gc/rc/global-assign.json @@ -1,5 +1,5 @@ { "asc_flags": [ - "--runtime arena" + "--runtime none" ] } \ No newline at end of file diff --git a/tests/compiler/gc/rc/global-assign.optimized.wat b/tests/compiler/gc/rc/global-assign.optimized.wat index 3b0256a7..7b5857ed 100644 --- a/tests/compiler/gc/rc/global-assign.optimized.wat +++ b/tests/compiler/gc/rc/global-assign.optimized.wat @@ -5,21 +5,19 @@ (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 8) "\10\00\00\00(") (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 64) "\02\00\00\00\16") + (data (i32.const 64) "\10\00\00\00\16") (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 104) "\02\00\00\00\12") + (data (i32.const 104) "\10\00\00\00\12") (data (i32.const 120) "g\00c\00.\00r\00e\00t\00a\00i\00n") - (data (i32.const 144) "\02\00\00\00,") + (data (i32.const 144) "\10\00\00\00,") (data (i32.const 160) "g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s") - (data (i32.const 208) "\02\00\00\00\14") + (data (i32.const 208) "\10\00\00\00\14") (data (i32.const 224) "g\00c\00.\00r\00e\00l\00e\00a\00s\00e") - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $gc/rc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/rc/_dummy/register_ref (mut i32) (i32.const 0)) (global $gc/rc/_dummy/retain_count (mut i32) (i32.const 0)) @@ -33,7 +31,6 @@ (global $~lib/started (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/rc/global-assign/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -127,7 +124,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/rc/_dummy/register_count i32.const 1 i32.add @@ -143,9 +140,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -158,13 +155,13 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 - i32.const 1 + i32.const 17 i32.store local.get $0 call $gc/rc/_dummy/__ref_register @@ -179,7 +176,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/rc/_dummy/retain_count i32.const 1 i32.add @@ -196,7 +193,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/rc/_dummy/release_count i32.const 1 i32.add @@ -225,9 +222,9 @@ if i32.const 0 i32.const 160 - i32.const 11 + i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_count @@ -236,9 +233,9 @@ if i32.const 0 i32.const 160 - i32.const 12 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_ref @@ -247,18 +244,18 @@ if i32.const 0 i32.const 160 - i32.const 13 + i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/release_count if i32.const 0 i32.const 160 - i32.const 14 + i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $~lib/util/runtime/allocate @@ -285,9 +282,9 @@ if i32.const 0 i32.const 160 - i32.const 19 + i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_count @@ -296,9 +293,9 @@ if i32.const 0 i32.const 160 - i32.const 20 + i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_ref @@ -307,9 +304,9 @@ if i32.const 0 i32.const 160 - i32.const 21 + i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/release_count @@ -318,9 +315,9 @@ if i32.const 0 i32.const 160 - i32.const 22 + i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/release_ref @@ -329,9 +326,9 @@ if i32.const 0 i32.const 160 - i32.const 23 + i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/gc/rc/global-assign.ts b/tests/compiler/gc/rc/global-assign.ts index 8102b2cf..6fb0bb40 100644 --- a/tests/compiler/gc/rc/global-assign.ts +++ b/tests/compiler/gc/rc/global-assign.ts @@ -1,3 +1,4 @@ +import "allocator/arena"; import { register_count, retain_count, retain_ref, release_count, release_ref } from "./_dummy"; @start export function main(): void {} diff --git a/tests/compiler/gc/rc/global-assign.untouched.wat b/tests/compiler/gc/rc/global-assign.untouched.wat index c6256f40..fd255524 100644 --- a/tests/compiler/gc/rc/global-assign.untouched.wat +++ b/tests/compiler/gc/rc/global-assign.untouched.wat @@ -5,14 +5,14 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 64) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") - (data (i32.const 104) "\02\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00t\00a\00i\00n\00") - (data (i32.const 144) "\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s\00") - (data (i32.const 208) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00l\00e\00a\00s\00e\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\10\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\10\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00t\00a\00i\00n\00") + (data (i32.const 144) "\10\00\00\00,\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s\00") + (data (i32.const 208) "\10\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00l\00e\00a\00s\00e\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/rc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -33,7 +33,6 @@ (global $~lib/memory/HEAP_BASE i32 (i32.const 244)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/rc/global-assign/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -163,7 +162,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/rc/_dummy/register_count i32.const 1 i32.add @@ -180,9 +179,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -197,9 +196,9 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -215,7 +214,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -230,7 +229,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/rc/_dummy/retain_count i32.const 1 i32.add @@ -247,7 +246,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/rc/_dummy/release_count i32.const 1 i32.add @@ -286,9 +285,9 @@ if i32.const 0 i32.const 160 - i32.const 11 + i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_count @@ -298,9 +297,9 @@ if i32.const 0 i32.const 160 - i32.const 12 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_ref @@ -310,9 +309,9 @@ if i32.const 0 i32.const 160 - i32.const 13 + i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/release_count @@ -322,9 +321,9 @@ if i32.const 0 i32.const 160 - i32.const 14 + i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -353,9 +352,9 @@ if i32.const 0 i32.const 160 - i32.const 19 + i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_count @@ -365,9 +364,9 @@ if i32.const 0 i32.const 160 - i32.const 20 + i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_ref @@ -377,9 +376,9 @@ if i32.const 0 i32.const 160 - i32.const 21 + i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/release_count @@ -389,9 +388,9 @@ if i32.const 0 i32.const 160 - i32.const 22 + i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/release_ref @@ -401,9 +400,9 @@ if i32.const 0 i32.const 160 - i32.const 23 + i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/gc/rc/global-init.json b/tests/compiler/gc/rc/global-init.json index 85b9ce0f..b1da366f 100644 --- a/tests/compiler/gc/rc/global-init.json +++ b/tests/compiler/gc/rc/global-init.json @@ -1,5 +1,5 @@ { "asc_flags": [ - "--runtime arena" + "--runtime none" ] } \ No newline at end of file diff --git a/tests/compiler/gc/rc/global-init.optimized.wat b/tests/compiler/gc/rc/global-init.optimized.wat index 0eb4ffcc..416f9d1e 100644 --- a/tests/compiler/gc/rc/global-init.optimized.wat +++ b/tests/compiler/gc/rc/global-init.optimized.wat @@ -5,19 +5,17 @@ (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 8) "\10\00\00\00(") (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 64) "\02\00\00\00\16") + (data (i32.const 64) "\10\00\00\00\16") (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 104) "\02\00\00\00\12") + (data (i32.const 104) "\10\00\00\00\12") (data (i32.const 120) "g\00c\00.\00r\00e\00t\00a\00i\00n") - (data (i32.const 144) "\02\00\00\00(") + (data (i32.const 144) "\10\00\00\00(") (data (i32.const 160) "g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $gc/rc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/rc/_dummy/register_ref (mut i32) (i32.const 0)) (global $gc/rc/_dummy/retain_count (mut i32) (i32.const 0)) @@ -29,7 +27,6 @@ (global $~lib/started (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/rc/global-init/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -123,7 +120,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/rc/_dummy/register_count i32.const 1 i32.add @@ -139,9 +136,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -154,13 +151,13 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 - i32.const 1 + i32.const 17 i32.store local.get $0 call $gc/rc/_dummy/__ref_register @@ -175,7 +172,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/rc/_dummy/retain_count i32.const 1 i32.add @@ -201,9 +198,9 @@ if i32.const 0 i32.const 160 - i32.const 10 + i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_count @@ -212,9 +209,9 @@ if i32.const 0 i32.const 160 - i32.const 11 + i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_ref @@ -223,18 +220,18 @@ if i32.const 0 i32.const 160 - i32.const 12 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/release_count if i32.const 0 i32.const 160 - i32.const 13 + i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/gc/rc/global-init.ts b/tests/compiler/gc/rc/global-init.ts index faa6a1e0..46c36ba5 100644 --- a/tests/compiler/gc/rc/global-init.ts +++ b/tests/compiler/gc/rc/global-init.ts @@ -1,3 +1,4 @@ +import "allocator/arena"; import { register_count, retain_count, retain_ref, release_count } from "./_dummy"; @start export function main(): void {} diff --git a/tests/compiler/gc/rc/global-init.untouched.wat b/tests/compiler/gc/rc/global-init.untouched.wat index e39ae50e..e5bd8825 100644 --- a/tests/compiler/gc/rc/global-init.untouched.wat +++ b/tests/compiler/gc/rc/global-init.untouched.wat @@ -5,13 +5,13 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 64) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") - (data (i32.const 104) "\02\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00t\00a\00i\00n\00") - (data (i32.const 144) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\10\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\10\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00t\00a\00i\00n\00") + (data (i32.const 144) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/rc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -31,7 +31,6 @@ (global $~lib/memory/HEAP_BASE i32 (i32.const 200)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $gc/rc/global-init/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -161,7 +160,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/rc/_dummy/register_count i32.const 1 i32.add @@ -178,9 +177,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -195,9 +194,9 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -213,7 +212,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -228,7 +227,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/rc/_dummy/retain_count i32.const 1 i32.add @@ -264,9 +263,9 @@ if i32.const 0 i32.const 160 - i32.const 10 + i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_count @@ -276,9 +275,9 @@ if i32.const 0 i32.const 160 - i32.const 11 + i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/retain_ref @@ -288,9 +287,9 @@ if i32.const 0 i32.const 160 - i32.const 12 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $gc/rc/_dummy/release_count @@ -300,9 +299,9 @@ if i32.const 0 i32.const 160 - i32.const 13 + i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/getter-call.optimized.wat b/tests/compiler/getter-call.optimized.wat index 480d871d..9988295b 100644 --- a/tests/compiler/getter-call.optimized.wat +++ b/tests/compiler/getter-call.optimized.wat @@ -3,16 +3,15 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 2 funcref) (elem (i32.const 0) $null $getter-call/C#get:x~anonymous|0) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $getter-call/test)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -85,9 +84,9 @@ if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -100,13 +99,13 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 - i32.const 1 + i32.const 17 i32.store local.get $0 ) diff --git a/tests/compiler/getter-call.untouched.wat b/tests/compiler/getter-call.untouched.wat index 08c98f90..32c2a69d 100644 --- a/tests/compiler/getter-call.untouched.wat +++ b/tests/compiler/getter-call.untouched.wat @@ -4,9 +4,9 @@ (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 2 funcref) (elem (i32.const 0) $null $getter-call/C#get:x~anonymous|0) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -17,7 +17,6 @@ (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/memory/HEAP_BASE i32 (i32.const 56)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $getter-call/test)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -141,9 +140,9 @@ if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -158,9 +157,9 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -174,7 +173,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end diff --git a/tests/compiler/getter-setter.optimized.wat b/tests/compiler/getter-setter.optimized.wat index ca02235a..d9e77d97 100644 --- a/tests/compiler/getter-setter.optimized.wat +++ b/tests/compiler/getter-setter.optimized.wat @@ -1,14 +1,11 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s") (global $getter-setter/Foo._bar (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:getter-setter (; 1 ;) (type $FUNCSIG$v) global.get $getter-setter/Foo._bar @@ -17,7 +14,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -30,7 +27,7 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -43,7 +40,7 @@ i32.const 16 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/getter-setter.untouched.wat b/tests/compiler/getter-setter.untouched.wat index e82b9ab3..5d1df0ec 100644 --- a/tests/compiler/getter-setter.untouched.wat +++ b/tests/compiler/getter-setter.untouched.wat @@ -3,15 +3,13 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $getter-setter/Foo._bar (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 48)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $getter-setter/Foo.bar.get:bar (; 1 ;) (type $FUNCSIG$i) (result i32) global.get $getter-setter/Foo._bar @@ -30,7 +28,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -44,7 +42,7 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -60,7 +58,7 @@ i32.const 16 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/i64-polyfill.optimized.wat b/tests/compiler/i64-polyfill.optimized.wat index 4a46ba16..ebf36e83 100644 --- a/tests/compiler/i64-polyfill.optimized.wat +++ b/tests/compiler/i64-polyfill.optimized.wat @@ -4,12 +4,9 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $../../examples/i64-polyfill/assembly/i64/lo (mut i32) (i32.const 0)) (global $../../examples/i64-polyfill/assembly/i64/hi (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "getHi" (func $../../examples/i64-polyfill/assembly/i64/getHi)) (export "getLo" (func $../../examples/i64-polyfill/assembly/i64/getLo)) (export "clz" (func $../../examples/i64-polyfill/assembly/i64/clz)) diff --git a/tests/compiler/i64-polyfill.untouched.wat b/tests/compiler/i64-polyfill.untouched.wat index 429af491..f1c2ca58 100644 --- a/tests/compiler/i64-polyfill.untouched.wat +++ b/tests/compiler/i64-polyfill.untouched.wat @@ -8,9 +8,7 @@ (elem (i32.const 0) $null) (global $../../examples/i64-polyfill/assembly/i64/lo (mut i32) (i32.const 0)) (global $../../examples/i64-polyfill/assembly/i64/hi (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "getHi" (func $../../examples/i64-polyfill/assembly/i64/getHi)) (export "getLo" (func $../../examples/i64-polyfill/assembly/i64/getLo)) (export "clz" (func $../../examples/i64-polyfill/assembly/i64/clz)) diff --git a/tests/compiler/if.optimized.wat b/tests/compiler/if.optimized.wat index 8415b7ea..3f1f4a97 100644 --- a/tests/compiler/if.optimized.wat +++ b/tests/compiler/if.optimized.wat @@ -2,13 +2,10 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\n\00\00\00i\00f\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $start) + (data (i32.const 8) "\10\00\00\00\n\00\00\00i\00f\00.\00t\00s") (export "memory" (memory $0)) - (export "table" (table $0)) (export "ifThenElse" (func $if/ifThenElse)) (export "ifThen" (func $if/ifThen)) (export "ifThenElseBlock" (func $if/ifThenElse)) @@ -36,7 +33,7 @@ i32.const 16 i32.const 37 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/if.untouched.wat b/tests/compiler/if.untouched.wat index 6ed4a226..2db3f63e 100644 --- a/tests/compiler/if.untouched.wat +++ b/tests/compiler/if.untouched.wat @@ -2,14 +2,12 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\n\00\00\00i\00f\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\n\00\00\00i\00f\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 28)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "ifThenElse" (func $if/ifThenElse)) (export "ifThen" (func $if/ifThen)) (export "ifThenElseBlock" (func $if/ifThenElseBlock)) @@ -58,7 +56,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -71,7 +69,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -84,7 +82,7 @@ i32.const 16 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -97,7 +95,7 @@ i32.const 16 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -110,7 +108,7 @@ i32.const 16 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -123,7 +121,7 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -137,7 +135,7 @@ i32.const 16 i32.const 37 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable diff --git a/tests/compiler/import.optimized.wat b/tests/compiler/import.optimized.wat index 86b388ad..e2acb0a3 100644 --- a/tests/compiler/import.optimized.wat +++ b/tests/compiler/import.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/import.untouched.wat b/tests/compiler/import.untouched.wat index ddade6db..58a39afa 100644 --- a/tests/compiler/import.untouched.wat +++ b/tests/compiler/import.untouched.wat @@ -7,9 +7,7 @@ (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $export/add (; 0 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 diff --git a/tests/compiler/infer-type.optimized.wat b/tests/compiler/infer-type.optimized.wat index 6237556e..0d76d221 100644 --- a/tests/compiler/infer-type.optimized.wat +++ b/tests/compiler/infer-type.optimized.wat @@ -1,15 +1,12 @@ (module (type $FUNCSIG$v (func)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00i\00n\00f\00e\00r\00-\00t\00y\00p\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\1a\00\00\00i\00n\00f\00e\00r\00-\00t\00y\00p\00e\00.\00t\00s") (global $infer-type/ri (mut i32) (i32.const 0)) (global $infer-type/rI (mut i64) (i64.const 0)) (global $infer-type/rf (mut f32) (f32.const 0)) (global $infer-type/rF (mut f64) (f64.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:infer-type (; 0 ;) (type $FUNCSIG$v) (local $0 i32) diff --git a/tests/compiler/infer-type.untouched.wat b/tests/compiler/infer-type.untouched.wat index 8c89b18b..2fd7c456 100644 --- a/tests/compiler/infer-type.untouched.wat +++ b/tests/compiler/infer-type.untouched.wat @@ -5,9 +5,9 @@ (type $FUNCSIG$f (func (result f32))) (type $FUNCSIG$d (func (result f64))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00i\00n\00f\00e\00r\00-\00t\00y\00p\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $infer-type/i i32 (i32.const 10)) @@ -19,9 +19,7 @@ (global $infer-type/rF (mut f64) (f64.const 0)) (global $infer-type/inferi (mut i32) (i32.const -2147483648)) (global $infer-type/inferu (mut i32) (i32.const 2147483647)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 44)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $infer-type/locals (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -112,7 +110,7 @@ i32.const 16 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -122,7 +120,7 @@ i32.const 16 i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/inlining-blocklocals.optimized.wat b/tests/compiler/inlining-blocklocals.optimized.wat index ce8a09fd..54e6d336 100644 --- a/tests/compiler/inlining-blocklocals.optimized.wat +++ b/tests/compiler/inlining-blocklocals.optimized.wat @@ -1,16 +1,13 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\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") (global $inlining-blocklocals/b (mut i32) (i32.const 2)) (global $inlining-blocklocals/theCall_a (mut i32) (i32.const 0)) (global $inlining-blocklocals/theCall_b (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $inlining-blocklocals/test (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -31,7 +28,7 @@ i32.const 16 i32.const 16 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $inlining-blocklocals/theCall_b @@ -42,7 +39,7 @@ i32.const 16 i32.const 17 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/inlining-blocklocals.untouched.wat b/tests/compiler/inlining-blocklocals.untouched.wat index 9d3b327f..7c784ef8 100644 --- a/tests/compiler/inlining-blocklocals.untouched.wat +++ b/tests/compiler/inlining-blocklocals.untouched.wat @@ -1,17 +1,15 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $inlining-blocklocals/b (mut i32) (i32.const 2)) (global $inlining-blocklocals/theCall_a (mut i32) (i32.const 0)) (global $inlining-blocklocals/theCall_b (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 64)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $inlining-blocklocals/test (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -46,7 +44,7 @@ i32.const 16 i32.const 16 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $inlining-blocklocals/theCall_b @@ -58,7 +56,7 @@ i32.const 16 i32.const 17 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/inlining-recursive.optimized.wat b/tests/compiler/inlining-recursive.optimized.wat index ae83157f..d75cc7c9 100644 --- a/tests/compiler/inlining-recursive.optimized.wat +++ b/tests/compiler/inlining-recursive.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (export "foo" (func $inlining-recursive/foo)) (export "bar" (func $inlining-recursive/baz)) (export "baz" (func $inlining-recursive/baz)) diff --git a/tests/compiler/inlining-recursive.untouched.wat b/tests/compiler/inlining-recursive.untouched.wat index 89e67195..c8f5c4fa 100644 --- a/tests/compiler/inlining-recursive.untouched.wat +++ b/tests/compiler/inlining-recursive.untouched.wat @@ -3,9 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "foo" (func $inlining-recursive/foo)) (export "bar" (func $inlining-recursive/bar)) (export "baz" (func $inlining-recursive/baz)) diff --git a/tests/compiler/inlining.optimized.wat b/tests/compiler/inlining.optimized.wat index a3381170..2e896e63 100644 --- a/tests/compiler/inlining.optimized.wat +++ b/tests/compiler/inlining.optimized.wat @@ -4,17 +4,16 @@ (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s") - (data (i32.const 40) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 8) "\10\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s") + (data (i32.const 40) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 2 funcref) (elem (i32.const 0) $null $inlining/func_fe~anonymous|0) (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $inlining/test)) (start $start) (func $inlining/test (; 1 ;) (type $FUNCSIG$i) (result i32) @@ -36,7 +35,7 @@ i32.const 16 i32.const 68 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -131,9 +130,9 @@ if i32.const 0 i32.const 48 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -146,9 +145,9 @@ if i32.const 0 i32.const 48 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -160,14 +159,14 @@ (local $0 i32) i32.const 16 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 19 call $~lib/util/runtime/register local.tee $0 i32.eqz if i32.const 8 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -198,7 +197,7 @@ i32.const 16 i32.const 97 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -210,7 +209,7 @@ i32.const 16 i32.const 98 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -222,7 +221,7 @@ i32.const 16 i32.const 99 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -234,7 +233,7 @@ i32.const 16 i32.const 100 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/inlining.untouched.wat b/tests/compiler/inlining.untouched.wat index eefe1e82..015ff4dc 100644 --- a/tests/compiler/inlining.untouched.wat +++ b/tests/compiler/inlining.untouched.wat @@ -4,10 +4,10 @@ (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 40) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 40) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 2 funcref) (elem (i32.const 0) $null $inlining/func_fe~anonymous|0) (global $inlining/constantGlobal i32 (i32.const 1)) @@ -19,7 +19,6 @@ (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/memory/HEAP_BASE i32 (i32.const 88)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "test" (func $inlining/test)) (start $start) (func $inlining/test (; 1 ;) (type $FUNCSIG$i) (result i32) @@ -70,7 +69,7 @@ i32.const 16 i32.const 60 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $inlining/func_ii|inlined.1 (result i32) @@ -100,7 +99,7 @@ i32.const 16 i32.const 61 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $inlining/func_ii|inlined.2 (result i32) @@ -130,7 +129,7 @@ i32.const 16 i32.const 62 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $inlining/func_ii_opt|inlined.0 (result i32) @@ -146,7 +145,7 @@ i32.const 16 i32.const 63 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $inlining/func_ii_opt|inlined.1 (result i32) @@ -162,7 +161,7 @@ i32.const 16 i32.const 64 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $inlining/func_ii_loc|inlined.0 (result i32) @@ -188,7 +187,7 @@ i32.const 16 i32.const 65 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $inlining/func_ii_loc|inlined.1 (result i32) @@ -214,7 +213,7 @@ i32.const 16 i32.const 66 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $inlining/func_iv|inlined.0 @@ -238,7 +237,7 @@ i32.const 16 i32.const 68 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $inlining/Foo.method_static|inlined.0 (result i32) @@ -258,7 +257,7 @@ i32.const 16 i32.const 69 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 123 @@ -280,7 +279,7 @@ i32.const 16 i32.const 71 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -405,9 +404,9 @@ if i32.const 0 i32.const 48 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -422,9 +421,9 @@ if i32.const 0 i32.const 48 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -450,7 +449,7 @@ else i32.const 16 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 19 call $~lib/util/runtime/register end local.set $3 @@ -462,7 +461,7 @@ if i32.const 8 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $3 end @@ -501,7 +500,7 @@ i32.const 16 i32.const 97 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -514,7 +513,7 @@ i32.const 16 i32.const 98 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -527,7 +526,7 @@ i32.const 16 i32.const 99 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -540,7 +539,7 @@ i32.const 16 i32.const 100 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -554,7 +553,7 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $inlining/test_funcs diff --git a/tests/compiler/instanceof.optimized.wat b/tests/compiler/instanceof.optimized.wat index dd62dccf..65f4112a 100644 --- a/tests/compiler/instanceof.optimized.wat +++ b/tests/compiler/instanceof.optimized.wat @@ -1,14 +1,11 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") (global $instanceof/an (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:instanceof (; 1 ;) (type $FUNCSIG$v) global.get $instanceof/an @@ -17,7 +14,7 @@ i32.const 16 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -29,7 +26,7 @@ i32.const 16 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/instanceof.untouched.wat b/tests/compiler/instanceof.untouched.wat index 65e10c40..938ce330 100644 --- a/tests/compiler/instanceof.untouched.wat +++ b/tests/compiler/instanceof.untouched.wat @@ -3,9 +3,9 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$id (func (param f64) (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $instanceof/a (mut i32) (i32.const 0)) @@ -15,9 +15,7 @@ (global $instanceof/f (mut f32) (f32.const 0)) (global $instanceof/F (mut f64) (f64.const 0)) (global $instanceof/an (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 44)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $instanceof/isI32 (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) @@ -95,7 +93,7 @@ i32.const 16 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -109,7 +107,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -124,7 +122,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -139,7 +137,7 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -154,7 +152,7 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -169,7 +167,7 @@ i32.const 16 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -183,7 +181,7 @@ i32.const 16 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -198,7 +196,7 @@ i32.const 16 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -213,7 +211,7 @@ i32.const 16 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -228,7 +226,7 @@ i32.const 16 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -243,7 +241,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -258,7 +256,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -273,7 +271,7 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -287,7 +285,7 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -302,7 +300,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -317,7 +315,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -332,7 +330,7 @@ i32.const 16 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -347,7 +345,7 @@ i32.const 16 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -362,7 +360,7 @@ i32.const 16 i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -377,7 +375,7 @@ i32.const 16 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -391,7 +389,7 @@ i32.const 16 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -406,7 +404,7 @@ i32.const 16 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -421,7 +419,7 @@ i32.const 16 i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -436,7 +434,7 @@ i32.const 16 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -451,7 +449,7 @@ i32.const 16 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -466,7 +464,7 @@ i32.const 16 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -481,7 +479,7 @@ i32.const 16 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -495,7 +493,7 @@ i32.const 16 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -510,7 +508,7 @@ i32.const 16 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -525,7 +523,7 @@ i32.const 16 i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -540,7 +538,7 @@ i32.const 16 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -555,7 +553,7 @@ i32.const 16 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -570,7 +568,7 @@ i32.const 16 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -585,7 +583,7 @@ i32.const 16 i32.const 50 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -599,7 +597,7 @@ i32.const 16 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -610,7 +608,7 @@ i32.const 16 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -622,7 +620,7 @@ i32.const 16 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -634,7 +632,7 @@ i32.const 16 i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -646,7 +644,7 @@ i32.const 16 i32.const 65 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $instanceof/an @@ -659,7 +657,7 @@ i32.const 16 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -673,7 +671,7 @@ i32.const 16 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -687,7 +685,7 @@ i32.const 16 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -701,7 +699,7 @@ i32.const 16 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/limits.optimized.wat b/tests/compiler/limits.optimized.wat index 86b388ad..e2acb0a3 100644 --- a/tests/compiler/limits.optimized.wat +++ b/tests/compiler/limits.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/limits.untouched.wat b/tests/compiler/limits.untouched.wat index 16d076f1..73017341 100644 --- a/tests/compiler/limits.untouched.wat +++ b/tests/compiler/limits.untouched.wat @@ -29,9 +29,7 @@ (global $~lib/builtins/f32.MAX_SAFE_INTEGER f32 (f32.const 16777215)) (global $~lib/builtins/f64.MIN_SAFE_INTEGER f64 (f64.const -9007199254740991)) (global $~lib/builtins/f64.MAX_SAFE_INTEGER f64 (f64.const 9007199254740991)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:limits (; 0 ;) (type $FUNCSIG$v) global.get $~lib/builtins/i8.MIN_VALUE diff --git a/tests/compiler/literals.optimized.wat b/tests/compiler/literals.optimized.wat index 86b388ad..e2acb0a3 100644 --- a/tests/compiler/literals.optimized.wat +++ b/tests/compiler/literals.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/literals.untouched.wat b/tests/compiler/literals.untouched.wat index c4032495..947b4482 100644 --- a/tests/compiler/literals.untouched.wat +++ b/tests/compiler/literals.untouched.wat @@ -3,9 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:literals (; 0 ;) (type $FUNCSIG$v) i32.const 0 diff --git a/tests/compiler/logical.optimized.wat b/tests/compiler/logical.optimized.wat index d9c5e50c..8fa227a9 100644 --- a/tests/compiler/logical.optimized.wat +++ b/tests/compiler/logical.optimized.wat @@ -1,17 +1,14 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s") (global $logical/i (mut i32) (i32.const 0)) (global $logical/I (mut i64) (i64.const 0)) (global $logical/f (mut f32) (f32.const 0)) (global $logical/F (mut f64) (f64.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:logical (; 1 ;) (type $FUNCSIG$v) i32.const 2 @@ -24,7 +21,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -37,7 +34,7 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 2 @@ -50,7 +47,7 @@ i32.const 16 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -63,7 +60,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -76,7 +73,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -89,7 +86,7 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -102,7 +99,7 @@ i32.const 16 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -115,7 +112,7 @@ i32.const 16 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/logical.untouched.wat b/tests/compiler/logical.untouched.wat index 64494942..0020b706 100644 --- a/tests/compiler/logical.untouched.wat +++ b/tests/compiler/logical.untouched.wat @@ -1,18 +1,16 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $logical/i (mut i32) (i32.const 0)) (global $logical/I (mut i64) (i64.const 0)) (global $logical/f (mut f32) (f32.const 0)) (global $logical/F (mut f64) (f64.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 36)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:logical (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -95,7 +93,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -114,7 +112,7 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -135,7 +133,7 @@ i32.const 16 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -156,7 +154,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -177,7 +175,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -198,7 +196,7 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -219,7 +217,7 @@ i32.const 16 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -240,7 +238,7 @@ i32.const 16 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/main.optimized.wat b/tests/compiler/main.optimized.wat index 43167551..069143d9 100644 --- a/tests/compiler/main.optimized.wat +++ b/tests/compiler/main.optimized.wat @@ -2,12 +2,9 @@ (type $FUNCSIG$v (func)) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $main/code (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $main/main)) (func $main/main (; 0 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) global.get $~lib/started diff --git a/tests/compiler/main.untouched.wat b/tests/compiler/main.untouched.wat index 1483eb58..b232da54 100644 --- a/tests/compiler/main.untouched.wat +++ b/tests/compiler/main.untouched.wat @@ -6,9 +6,7 @@ (elem (i32.const 0) $null) (global $main/code (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $main/main)) (func $start:main (; 0 ;) (type $FUNCSIG$v) i32.const 1 diff --git a/tests/compiler/mandelbrot.optimized.wat b/tests/compiler/mandelbrot.optimized.wat index b94c86ea..9288c535 100644 --- a/tests/compiler/mandelbrot.optimized.wat +++ b/tests/compiler/mandelbrot.optimized.wat @@ -3,10 +3,7 @@ (type $FUNCSIG$dd (func (param f64) (result f64))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (export "computeLine" (func $../../examples/mandelbrot/assembly/index/computeLine)) (func $~lib/math/NativeMath.log (; 0 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) (local $1 i32) diff --git a/tests/compiler/mandelbrot.untouched.wat b/tests/compiler/mandelbrot.untouched.wat index 6ba4f0f2..d9af864b 100644 --- a/tests/compiler/mandelbrot.untouched.wat +++ b/tests/compiler/mandelbrot.untouched.wat @@ -7,9 +7,7 @@ (table $0 1 funcref) (elem (i32.const 0) $null) (global $../../examples/mandelbrot/assembly/index/NUM_COLORS i32 (i32.const 2048)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "computeLine" (func $../../examples/mandelbrot/assembly/index/computeLine)) (func $~lib/math/NativeMath.log (; 0 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) (local $1 i64) diff --git a/tests/compiler/many-locals.optimized.wat b/tests/compiler/many-locals.optimized.wat index 3769196f..c25c037f 100644 --- a/tests/compiler/many-locals.optimized.wat +++ b/tests/compiler/many-locals.optimized.wat @@ -2,11 +2,8 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$v (func)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $start) + (data (i32.const 8) "\10\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s") (export "memory" (memory $0)) - (export "table" (table $0)) (export "testI32" (func $many-locals/testI32)) (export "testI8" (func $many-locals/testI8)) (func $many-locals/testI32 (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) diff --git a/tests/compiler/many-locals.untouched.wat b/tests/compiler/many-locals.untouched.wat index 881677bd..6e272160 100644 --- a/tests/compiler/many-locals.untouched.wat +++ b/tests/compiler/many-locals.untouched.wat @@ -2,14 +2,12 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s\00") + (data (i32.const 8) "\10\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/memory/HEAP_BASE i32 (i32.const 44)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "testI32" (func $many-locals/testI32)) (export "testI8" (func $many-locals/testI8)) (start $start) @@ -802,7 +800,7 @@ i32.const 16 i32.const 133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 42 @@ -815,7 +813,7 @@ i32.const 16 i32.const 267 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/memcpy.optimized.wat b/tests/compiler/memcpy.optimized.wat index 47bfe1eb..2237d7a4 100644 --- a/tests/compiler/memcpy.optimized.wat +++ b/tests/compiler/memcpy.optimized.wat @@ -2,14 +2,11 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s") (global $memcpy/dest (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "memcpy" (func $memcpy/memcpy)) (start $start) (func $memcpy/memcpy (; 1 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -890,7 +887,7 @@ i32.const 16 i32.const 151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -902,7 +899,7 @@ i32.const 16 i32.const 152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -918,7 +915,7 @@ i32.const 16 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -930,7 +927,7 @@ i32.const 16 i32.const 156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 16 @@ -942,7 +939,7 @@ i32.const 16 i32.const 157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 24 @@ -954,7 +951,7 @@ i32.const 16 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 32 @@ -966,7 +963,7 @@ i32.const 16 i32.const 159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 13 @@ -983,7 +980,7 @@ i32.const 16 i32.const 162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 16 @@ -1000,7 +997,7 @@ i32.const 16 i32.const 165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 16 @@ -1012,7 +1009,7 @@ i32.const 16 i32.const 166 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 24 @@ -1024,7 +1021,7 @@ i32.const 16 i32.const 167 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 32 @@ -1036,7 +1033,7 @@ i32.const 16 i32.const 168 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/memcpy.untouched.wat b/tests/compiler/memcpy.untouched.wat index 0da94f6d..98a17032 100644 --- a/tests/compiler/memcpy.untouched.wat +++ b/tests/compiler/memcpy.untouched.wat @@ -2,16 +2,14 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $memcpy/base i32 (i32.const 8)) (global $memcpy/dest (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 36)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "memcpy" (func $memcpy/memcpy)) (start $start) (func $memcpy/memcpy (; 1 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -1247,7 +1245,7 @@ i32.const 16 i32.const 151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1260,7 +1258,7 @@ i32.const 16 i32.const 152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1277,7 +1275,7 @@ i32.const 16 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1290,7 +1288,7 @@ i32.const 16 i32.const 156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1305,7 +1303,7 @@ i32.const 16 i32.const 157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1320,7 +1318,7 @@ i32.const 16 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1335,7 +1333,7 @@ i32.const 16 i32.const 159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1357,7 +1355,7 @@ i32.const 16 i32.const 162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1379,7 +1377,7 @@ i32.const 16 i32.const 165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1394,7 +1392,7 @@ i32.const 16 i32.const 166 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1409,7 +1407,7 @@ i32.const 16 i32.const 167 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memcpy/base @@ -1424,7 +1422,7 @@ i32.const 16 i32.const 168 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/memmove.optimized.wat b/tests/compiler/memmove.optimized.wat index 85d29306..ffd5a371 100644 --- a/tests/compiler/memmove.optimized.wat +++ b/tests/compiler/memmove.optimized.wat @@ -2,14 +2,11 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s") (global $memmove/dest (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $memmove/memmove (; 1 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -219,7 +216,7 @@ i32.const 16 i32.const 55 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -231,7 +228,7 @@ i32.const 16 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -247,7 +244,7 @@ i32.const 16 i32.const 59 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -259,7 +256,7 @@ i32.const 16 i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 16 @@ -271,7 +268,7 @@ i32.const 16 i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 24 @@ -283,7 +280,7 @@ i32.const 16 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 32 @@ -295,7 +292,7 @@ i32.const 16 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 13 @@ -312,7 +309,7 @@ i32.const 16 i32.const 66 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 16 @@ -329,7 +326,7 @@ i32.const 16 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 16 @@ -341,7 +338,7 @@ i32.const 16 i32.const 70 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 24 @@ -353,7 +350,7 @@ i32.const 16 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 32 @@ -365,7 +362,7 @@ i32.const 16 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/memmove.untouched.wat b/tests/compiler/memmove.untouched.wat index c361df18..0880c124 100644 --- a/tests/compiler/memmove.untouched.wat +++ b/tests/compiler/memmove.untouched.wat @@ -2,16 +2,14 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $memmove/base i32 (i32.const 8)) (global $memmove/dest (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 36)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $memmove/memmove (; 1 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -264,7 +262,7 @@ i32.const 16 i32.const 55 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -277,7 +275,7 @@ i32.const 16 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -294,7 +292,7 @@ i32.const 16 i32.const 59 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -307,7 +305,7 @@ i32.const 16 i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -322,7 +320,7 @@ i32.const 16 i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -337,7 +335,7 @@ i32.const 16 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -352,7 +350,7 @@ i32.const 16 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -374,7 +372,7 @@ i32.const 16 i32.const 66 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -396,7 +394,7 @@ i32.const 16 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -411,7 +409,7 @@ i32.const 16 i32.const 70 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -426,7 +424,7 @@ i32.const 16 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memmove/base @@ -441,7 +439,7 @@ i32.const 16 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/memset.optimized.wat b/tests/compiler/memset.optimized.wat index 84dd1231..0eafaf82 100644 --- a/tests/compiler/memset.optimized.wat +++ b/tests/compiler/memset.optimized.wat @@ -2,14 +2,11 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s") (global $memset/dest (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $memset/memset (; 1 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -252,7 +249,7 @@ i32.const 16 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memset/dest @@ -266,7 +263,7 @@ i32.const 16 i32.const 73 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memset/dest @@ -284,7 +281,7 @@ i32.const 16 i32.const 77 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memset/dest @@ -298,7 +295,7 @@ i32.const 16 i32.const 78 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memset/dest @@ -312,7 +309,7 @@ i32.const 16 i32.const 79 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memset/dest @@ -326,7 +323,7 @@ i32.const 16 i32.const 80 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/memset.untouched.wat b/tests/compiler/memset.untouched.wat index 7b9653e5..b2787344 100644 --- a/tests/compiler/memset.untouched.wat +++ b/tests/compiler/memset.untouched.wat @@ -2,15 +2,14 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $memset/dest (mut i32) (i32.const 0)) (global $~lib/memory/HEAP_BASE i32 (i32.const 36)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $memset/memset (; 1 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -294,7 +293,7 @@ i32.const 16 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memset/dest @@ -309,7 +308,7 @@ i32.const 16 i32.const 73 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memset/dest @@ -329,7 +328,7 @@ i32.const 16 i32.const 77 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memset/dest @@ -344,7 +343,7 @@ i32.const 16 i32.const 78 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memset/dest @@ -359,7 +358,7 @@ i32.const 16 i32.const 79 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $memset/dest @@ -374,7 +373,7 @@ i32.const 16 i32.const 80 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/merge.optimized.wat b/tests/compiler/merge.optimized.wat index 86b388ad..e2acb0a3 100644 --- a/tests/compiler/merge.optimized.wat +++ b/tests/compiler/merge.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/merge.untouched.wat b/tests/compiler/merge.untouched.wat index b4d854ae..e1dceafa 100644 --- a/tests/compiler/merge.untouched.wat +++ b/tests/compiler/merge.untouched.wat @@ -13,9 +13,7 @@ (global $merge/typeFunction_test (mut i32) (i32.const 0)) (global $merge/enumNamespace.val i32 (i32.const 1)) (global $merge/namespaceEnum.val i32 (i32.const 2)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $merge/namespaceType.test (; 0 ;) (type $FUNCSIG$v) nop diff --git a/tests/compiler/named-export-default.optimized.wat b/tests/compiler/named-export-default.optimized.wat index 2249847b..0886d5cc 100644 --- a/tests/compiler/named-export-default.optimized.wat +++ b/tests/compiler/named-export-default.optimized.wat @@ -2,10 +2,7 @@ (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (export "default" (func $named-export-default/get3)) (func $named-export-default/get3 (; 0 ;) (type $FUNCSIG$i) (result i32) i32.const 3 diff --git a/tests/compiler/named-export-default.untouched.wat b/tests/compiler/named-export-default.untouched.wat index 4aae7011..3f1ff0ab 100644 --- a/tests/compiler/named-export-default.untouched.wat +++ b/tests/compiler/named-export-default.untouched.wat @@ -4,9 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "default" (func $named-export-default/get3)) (func $named-export-default/get3 (; 0 ;) (type $FUNCSIG$i) (result i32) i32.const 3 diff --git a/tests/compiler/named-import-default.optimized.wat b/tests/compiler/named-import-default.optimized.wat index 55fca5c1..e9b05938 100644 --- a/tests/compiler/named-import-default.optimized.wat +++ b/tests/compiler/named-import-default.optimized.wat @@ -2,10 +2,7 @@ (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (export "getValue" (func $named-import-default/getValue)) (func $named-import-default/getValue (; 0 ;) (type $FUNCSIG$i) (result i32) i32.const 3 diff --git a/tests/compiler/named-import-default.untouched.wat b/tests/compiler/named-import-default.untouched.wat index d54881d0..f24ee8a3 100644 --- a/tests/compiler/named-import-default.untouched.wat +++ b/tests/compiler/named-import-default.untouched.wat @@ -4,9 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "getValue" (func $named-import-default/getValue)) (func $named-export-default/get3 (; 0 ;) (type $FUNCSIG$i) (result i32) i32.const 3 diff --git a/tests/compiler/namespace.optimized.wat b/tests/compiler/namespace.optimized.wat index 86b388ad..e2acb0a3 100644 --- a/tests/compiler/namespace.optimized.wat +++ b/tests/compiler/namespace.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/namespace.untouched.wat b/tests/compiler/namespace.untouched.wat index 13bbb9ab..39966a5e 100644 --- a/tests/compiler/namespace.untouched.wat +++ b/tests/compiler/namespace.untouched.wat @@ -7,9 +7,7 @@ (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)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $namespace/Outer.Inner.aFunc (; 0 ;) (type $FUNCSIG$i) (result i32) global.get $namespace/Outer.Inner.aVar diff --git a/tests/compiler/number.json b/tests/compiler/number.json index 85b9ce0f..b1da366f 100644 --- a/tests/compiler/number.json +++ b/tests/compiler/number.json @@ -1,5 +1,5 @@ { "asc_flags": [ - "--runtime arena" + "--runtime none" ] } \ No newline at end of file diff --git a/tests/compiler/number.optimized.wat b/tests/compiler/number.optimized.wat index de76f515..4a6aeaa6 100644 --- a/tests/compiler/number.optimized.wat +++ b/tests/compiler/number.optimized.wat @@ -7,35 +7,33 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$iijijij (func (param i32 i64 i32 i64 i32 i64) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\02\00\00\000") - (data (i32.const 24) "\02\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") - (data (i32.const 432) "\03\00\00\00\10\00\00\00 \00\00\00 \00\00\00\90\01\00\00d") - (data (i32.const 456) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 504) "\01\00\00\00\02\00\00\001") - (data (i32.const 520) "\01\00\00\00\12\00\00\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 552) "\01\00\00\00\06\00\00\000\00.\000") - (data (i32.const 568) "\01\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 584) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 616) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 640) "\02\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\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 (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -2195,7 +2194,7 @@ i32.const 1656 i32.const 203 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2292,7 +2291,7 @@ local.get $3 call $~lib/memory/memory.copy local.get $10 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/allocator/arena/__mem_free (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) @@ -2311,9 +2310,9 @@ if i32.const 0 i32.const 464 - i32.const 114 + i32.const 117 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2328,9 +2327,9 @@ if i32.const 0 i32.const 464 - i32.const 116 + i32.const 119 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2489,9 +2488,9 @@ if i32.const 0 i32.const 528 - i32.const 5 + i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -2502,9 +2501,9 @@ if i32.const 0 i32.const 528 - i32.const 7 + i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -2515,9 +2514,9 @@ if i32.const 0 i32.const 528 - i32.const 8 + i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -5 @@ -2528,9 +2527,9 @@ if i32.const 0 i32.const 528 - i32.const 10 + i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -2541,9 +2540,9 @@ if i32.const 0 i32.const 528 - i32.const 11 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -2561,9 +2560,9 @@ if i32.const 0 i32.const 528 - i32.const 12 + i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -2581,9 +2580,9 @@ if i32.const 0 i32.const 528 - i32.const 13 + i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2595,9 +2594,9 @@ if i32.const 0 i32.const 528 - i32.const 14 + i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -2609,9 +2608,9 @@ if i32.const 0 i32.const 528 - i32.const 15 + i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -2629,9 +2628,9 @@ if i32.const 0 i32.const 528 - i32.const 18 + i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -2649,9 +2648,9 @@ if i32.const 0 i32.const 528 - i32.const 19 + i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/number/F32.NaN @@ -2660,9 +2659,9 @@ if i32.const 0 i32.const 528 - i32.const 23 + i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MIN_SAFE_INTEGER @@ -2675,9 +2674,9 @@ if i32.const 0 i32.const 528 - i32.const 25 + i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MIN_SAFE_INTEGER @@ -2688,9 +2687,9 @@ if i32.const 0 i32.const 528 - i32.const 26 + i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -2701,9 +2700,9 @@ if i32.const 0 i32.const 528 - i32.const 27 + i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -2714,9 +2713,9 @@ if i32.const 0 i32.const 528 - i32.const 28 + i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2727,9 +2726,9 @@ if i32.const 0 i32.const 528 - i32.const 29 + i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2740,9 +2739,9 @@ if i32.const 0 i32.const 528 - i32.const 30 + i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_SAFE_INTEGER @@ -2753,9 +2752,9 @@ if i32.const 0 i32.const 528 - i32.const 31 + i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_SAFE_INTEGER @@ -2768,9 +2767,9 @@ if i32.const 0 i32.const 528 - i32.const 32 + i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -2781,9 +2780,9 @@ if i32.const 0 i32.const 528 - i32.const 33 + i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -2794,9 +2793,9 @@ if i32.const 0 i32.const 528 - i32.const 34 + i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -2807,9 +2806,9 @@ if i32.const 0 i32.const 528 - i32.const 35 + i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2820,9 +2819,9 @@ if i32.const 0 i32.const 528 - i32.const 36 + i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2833,9 +2832,9 @@ if i32.const 0 i32.const 528 - i32.const 37 + i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.EPSILON @@ -2846,9 +2845,9 @@ if i32.const 0 i32.const 528 - i32.const 38 + i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -2859,9 +2858,9 @@ if i32.const 0 i32.const 528 - i32.const 39 + i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -2872,9 +2871,9 @@ if i32.const 0 i32.const 528 - i32.const 40 + i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MIN_SAFE_INTEGER @@ -2885,9 +2884,9 @@ if i32.const 0 i32.const 528 - i32.const 41 + i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_SAFE_INTEGER @@ -2898,9 +2897,9 @@ if i32.const 0 i32.const 528 - i32.const 42 + i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -2911,9 +2910,9 @@ if i32.const 0 i32.const 528 - i32.const 43 + i32.const 45 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -2924,9 +2923,9 @@ if i32.const 0 i32.const 528 - i32.const 44 + i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/number/F64.NaN @@ -2935,9 +2934,9 @@ if i32.const 0 i32.const 528 - i32.const 46 + i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_SAFE_INTEGER @@ -2950,9 +2949,9 @@ if i32.const 0 i32.const 528 - i32.const 48 + i32.const 50 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_SAFE_INTEGER @@ -2963,9 +2962,9 @@ if i32.const 0 i32.const 528 - i32.const 49 + i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -2976,9 +2975,9 @@ if i32.const 0 i32.const 528 - i32.const 50 + i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -2989,9 +2988,9 @@ if i32.const 0 i32.const 528 - i32.const 51 + i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -3002,9 +3001,9 @@ if i32.const 0 i32.const 528 - i32.const 52 + i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -3015,9 +3014,9 @@ if i32.const 0 i32.const 528 - i32.const 53 + i32.const 55 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_SAFE_INTEGER @@ -3028,9 +3027,9 @@ if i32.const 0 i32.const 528 - i32.const 54 + i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_SAFE_INTEGER @@ -3043,9 +3042,9 @@ if i32.const 0 i32.const 528 - i32.const 55 + i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -3056,9 +3055,9 @@ if i32.const 0 i32.const 528 - i32.const 56 + i32.const 58 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -3069,9 +3068,9 @@ if i32.const 0 i32.const 528 - i32.const 57 + i32.const 59 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -3082,9 +3081,9 @@ if i32.const 0 i32.const 528 - i32.const 58 + i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -3095,9 +3094,9 @@ if i32.const 0 i32.const 528 - i32.const 59 + i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -3108,9 +3107,9 @@ if i32.const 0 i32.const 528 - i32.const 60 + i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.EPSILON @@ -3121,9 +3120,9 @@ if i32.const 0 i32.const 528 - i32.const 61 + i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -3134,9 +3133,9 @@ if i32.const 0 i32.const 528 - i32.const 62 + i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -3147,9 +3146,9 @@ if i32.const 0 i32.const 528 - i32.const 63 + i32.const 65 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_SAFE_INTEGER @@ -3160,9 +3159,9 @@ if i32.const 0 i32.const 528 - i32.const 64 + i32.const 66 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_SAFE_INTEGER @@ -3173,9 +3172,9 @@ if i32.const 0 i32.const 528 - i32.const 65 + i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -3186,9 +3185,9 @@ if i32.const 0 i32.const 528 - i32.const 66 + i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -3199,9 +3198,9 @@ if i32.const 0 i32.const 528 - i32.const 67 + i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/optional-typeparameters.optimized.wat b/tests/compiler/optional-typeparameters.optimized.wat index 47217642..7334a789 100644 --- a/tests/compiler/optional-typeparameters.optimized.wat +++ b/tests/compiler/optional-typeparameters.optimized.wat @@ -4,17 +4,14 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $optional-typeparameters/tConcrete (mut i32) (i32.const 0)) (global $optional-typeparameters/tDerived (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -100,9 +97,9 @@ if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -115,9 +112,9 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -131,11 +128,11 @@ global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register global.set $optional-typeparameters/tConcrete call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register global.set $optional-typeparameters/tDerived ) diff --git a/tests/compiler/optional-typeparameters.untouched.wat b/tests/compiler/optional-typeparameters.untouched.wat index c2029bf2..fae84532 100644 --- a/tests/compiler/optional-typeparameters.untouched.wat +++ b/tests/compiler/optional-typeparameters.untouched.wat @@ -5,9 +5,9 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$didd (func (param i32 f64 f64) (result f64))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -19,7 +19,6 @@ (global $optional-typeparameters/tDerived (mut i32) (i32.const 0)) (global $~lib/memory/HEAP_BASE i32 (i32.const 56)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $optional-typeparameters/testConcrete (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -148,9 +147,9 @@ if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -165,9 +164,9 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -181,7 +180,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -198,7 +197,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $0 end diff --git a/tests/compiler/overflow.optimized.wat b/tests/compiler/overflow.optimized.wat index 601e9600..10510005 100644 --- a/tests/compiler/overflow.optimized.wat +++ b/tests/compiler/overflow.optimized.wat @@ -1,11 +1,8 @@ (module (type $FUNCSIG$v (func)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $start) + (data (i32.const 8) "\10\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s") (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/overflow.untouched.wat b/tests/compiler/overflow.untouched.wat index 73c44a2f..c5233b0d 100644 --- a/tests/compiler/overflow.untouched.wat +++ b/tests/compiler/overflow.untouched.wat @@ -1,14 +1,12 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s\00") + (data (i32.const 8) "\10\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/memory/HEAP_BASE i32 (i32.const 40)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:overflow (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -34,7 +32,7 @@ i32.const 16 i32.const 10 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -54,7 +52,7 @@ i32.const 16 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -79,7 +77,7 @@ i32.const 16 i32.const 16 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -104,7 +102,7 @@ i32.const 16 i32.const 19 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -124,7 +122,7 @@ i32.const 16 i32.const 22 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -144,7 +142,7 @@ i32.const 16 i32.const 25 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -165,7 +163,7 @@ i32.const 16 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -186,7 +184,7 @@ i32.const 16 i32.const 31 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -204,7 +202,7 @@ i32.const 16 i32.const 33 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -228,7 +226,7 @@ i32.const 16 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -248,7 +246,7 @@ i32.const 16 i32.const 45 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -273,7 +271,7 @@ i32.const 16 i32.const 48 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -298,7 +296,7 @@ i32.const 16 i32.const 51 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -318,7 +316,7 @@ i32.const 16 i32.const 54 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -338,7 +336,7 @@ i32.const 16 i32.const 57 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -359,7 +357,7 @@ i32.const 16 i32.const 60 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -380,7 +378,7 @@ i32.const 16 i32.const 63 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -398,7 +396,7 @@ i32.const 16 i32.const 65 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -420,7 +418,7 @@ i32.const 16 i32.const 74 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -438,7 +436,7 @@ i32.const 16 i32.const 77 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -461,7 +459,7 @@ i32.const 16 i32.const 80 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -484,7 +482,7 @@ i32.const 16 i32.const 83 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -502,7 +500,7 @@ i32.const 16 i32.const 86 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -520,7 +518,7 @@ i32.const 16 i32.const 89 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -539,7 +537,7 @@ i32.const 16 i32.const 92 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -558,7 +556,7 @@ i32.const 16 i32.const 95 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -574,7 +572,7 @@ i32.const 16 i32.const 97 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -596,7 +594,7 @@ i32.const 16 i32.const 106 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -614,7 +612,7 @@ i32.const 16 i32.const 109 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -637,7 +635,7 @@ i32.const 16 i32.const 112 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -660,7 +658,7 @@ i32.const 16 i32.const 115 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -678,7 +676,7 @@ i32.const 16 i32.const 118 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -696,7 +694,7 @@ i32.const 16 i32.const 121 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -715,7 +713,7 @@ i32.const 16 i32.const 124 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -734,7 +732,7 @@ i32.const 16 i32.const 127 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -750,7 +748,7 @@ i32.const 16 i32.const 129 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end diff --git a/tests/compiler/portable-conversions.optimized.wat b/tests/compiler/portable-conversions.optimized.wat index ae142dfe..fd0ec7e5 100644 --- a/tests/compiler/portable-conversions.optimized.wat +++ b/tests/compiler/portable-conversions.optimized.wat @@ -1,17 +1,14 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\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") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\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") (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)) (global $portable-conversions/F (mut f64) (f64.const 1)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:portable-conversions (; 1 ;) (type $FUNCSIG$v) global.get $portable-conversions/i @@ -23,7 +20,7 @@ i32.const 16 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -36,7 +33,7 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -49,7 +46,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -62,7 +59,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -74,7 +71,7 @@ i32.const 16 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -87,7 +84,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -100,7 +97,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -113,7 +110,7 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -123,7 +120,7 @@ i32.const 16 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -134,7 +131,7 @@ i32.const 16 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -145,7 +142,7 @@ i32.const 16 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -156,7 +153,7 @@ i32.const 16 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -167,7 +164,7 @@ i32.const 16 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -177,7 +174,7 @@ i32.const 16 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -188,7 +185,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -199,7 +196,7 @@ i32.const 16 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -209,7 +206,7 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -220,7 +217,7 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -231,7 +228,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -242,7 +239,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -254,7 +251,7 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -267,7 +264,7 @@ i32.const 16 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -280,7 +277,7 @@ i32.const 16 i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -293,7 +290,7 @@ i32.const 16 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -305,7 +302,7 @@ i32.const 16 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -318,7 +315,7 @@ i32.const 16 i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -331,7 +328,7 @@ i32.const 16 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -344,7 +341,7 @@ i32.const 16 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -354,7 +351,7 @@ i32.const 16 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -365,7 +362,7 @@ i32.const 16 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -376,7 +373,7 @@ i32.const 16 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -387,7 +384,7 @@ i32.const 16 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -398,7 +395,7 @@ i32.const 16 i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -408,7 +405,7 @@ i32.const 16 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -419,7 +416,7 @@ i32.const 16 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -430,7 +427,7 @@ i32.const 16 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -440,7 +437,7 @@ i32.const 16 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -451,7 +448,7 @@ i32.const 16 i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -462,7 +459,7 @@ i32.const 16 i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -473,7 +470,7 @@ i32.const 16 i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -483,7 +480,7 @@ i32.const 16 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -494,7 +491,7 @@ i32.const 16 i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -505,7 +502,7 @@ i32.const 16 i32.const 58 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -516,7 +513,7 @@ i32.const 16 i32.const 59 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -528,7 +525,7 @@ i32.const 16 i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -540,7 +537,7 @@ i32.const 16 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -551,7 +548,7 @@ i32.const 16 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -563,7 +560,7 @@ i32.const 16 i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -575,7 +572,7 @@ i32.const 16 i32.const 66 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -587,7 +584,7 @@ i32.const 16 i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -599,7 +596,7 @@ i32.const 16 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -610,7 +607,7 @@ i32.const 16 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/portable-conversions.untouched.wat b/tests/compiler/portable-conversions.untouched.wat index 35eaeafd..adcd1f6e 100644 --- a/tests/compiler/portable-conversions.untouched.wat +++ b/tests/compiler/portable-conversions.untouched.wat @@ -1,18 +1,16 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\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") + (data (i32.const 8) "\10\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 $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)) (global $portable-conversions/F (mut f64) (f64.const 1)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 64)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:portable-conversions (; 1 ;) (type $FUNCSIG$v) global.get $portable-conversions/i @@ -26,7 +24,7 @@ i32.const 16 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -41,7 +39,7 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -56,7 +54,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -71,7 +69,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -85,7 +83,7 @@ i32.const 16 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -100,7 +98,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -115,7 +113,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -130,7 +128,7 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -140,7 +138,7 @@ i32.const 16 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -151,7 +149,7 @@ i32.const 16 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -162,7 +160,7 @@ i32.const 16 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -173,7 +171,7 @@ i32.const 16 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -184,7 +182,7 @@ i32.const 16 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -194,7 +192,7 @@ i32.const 16 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -205,7 +203,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -216,7 +214,7 @@ i32.const 16 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -226,7 +224,7 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -237,7 +235,7 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -248,7 +246,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -259,7 +257,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -271,7 +269,7 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -284,7 +282,7 @@ i32.const 16 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -297,7 +295,7 @@ i32.const 16 i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -310,7 +308,7 @@ i32.const 16 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -322,7 +320,7 @@ i32.const 16 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -335,7 +333,7 @@ i32.const 16 i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -348,7 +346,7 @@ i32.const 16 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -361,7 +359,7 @@ i32.const 16 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -371,7 +369,7 @@ i32.const 16 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -382,7 +380,7 @@ i32.const 16 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -393,7 +391,7 @@ i32.const 16 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -404,7 +402,7 @@ i32.const 16 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -415,7 +413,7 @@ i32.const 16 i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -425,7 +423,7 @@ i32.const 16 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -436,7 +434,7 @@ i32.const 16 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -447,7 +445,7 @@ i32.const 16 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -457,7 +455,7 @@ i32.const 16 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -468,7 +466,7 @@ i32.const 16 i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -479,7 +477,7 @@ i32.const 16 i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -490,7 +488,7 @@ i32.const 16 i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -502,7 +500,7 @@ i32.const 16 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -514,7 +512,7 @@ i32.const 16 i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -526,7 +524,7 @@ i32.const 16 i32.const 58 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -538,7 +536,7 @@ i32.const 16 i32.const 59 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -550,7 +548,7 @@ i32.const 16 i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -562,7 +560,7 @@ i32.const 16 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -573,7 +571,7 @@ i32.const 16 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -585,7 +583,7 @@ i32.const 16 i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/i @@ -597,7 +595,7 @@ i32.const 16 i32.const 66 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/I @@ -609,7 +607,7 @@ i32.const 16 i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/f @@ -621,7 +619,7 @@ i32.const 16 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $portable-conversions/F @@ -632,7 +630,7 @@ i32.const 16 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/recursive.optimized.wat b/tests/compiler/recursive.optimized.wat index 70374ac5..8be16999 100644 --- a/tests/compiler/recursive.optimized.wat +++ b/tests/compiler/recursive.optimized.wat @@ -2,10 +2,7 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (export "fib" (func $recursive/fib)) (func $recursive/fib (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 diff --git a/tests/compiler/recursive.untouched.wat b/tests/compiler/recursive.untouched.wat index 432e9ee8..daf56987 100644 --- a/tests/compiler/recursive.untouched.wat +++ b/tests/compiler/recursive.untouched.wat @@ -4,9 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "fib" (func $recursive/fib)) (func $recursive/fib (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 diff --git a/tests/compiler/reexport.optimized.wat b/tests/compiler/reexport.optimized.wat index 5246631d..5496139f 100644 --- a/tests/compiler/reexport.optimized.wat +++ b/tests/compiler/reexport.optimized.wat @@ -2,13 +2,10 @@ (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $export/ns.one) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "add" (func $export/add)) (export "renamed_sub" (func $export/sub)) (export "renamed_mul" (func $export/mul)) diff --git a/tests/compiler/reexport.untouched.wat b/tests/compiler/reexport.untouched.wat index 057ad25d..662fe579 100644 --- a/tests/compiler/reexport.untouched.wat +++ b/tests/compiler/reexport.untouched.wat @@ -7,9 +7,7 @@ (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "add" (func $export/add)) (export "renamed_sub" (func $export/sub)) (export "renamed_mul" (func $export/mul)) diff --git a/tests/compiler/rereexport.optimized.wat b/tests/compiler/rereexport.optimized.wat index 1139e552..306f12df 100644 --- a/tests/compiler/rereexport.optimized.wat +++ b/tests/compiler/rereexport.optimized.wat @@ -1,12 +1,9 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "a" (global $export/a)) (export "renamed_a" (global $export/a)) (export "renamed_b" (global $export/b)) diff --git a/tests/compiler/rereexport.untouched.wat b/tests/compiler/rereexport.untouched.wat index a8dee375..7f469d6e 100644 --- a/tests/compiler/rereexport.untouched.wat +++ b/tests/compiler/rereexport.untouched.wat @@ -7,9 +7,7 @@ (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "a" (global $export/a)) (export "renamed_a" (global $export/a)) (export "renamed_b" (global $export/b)) diff --git a/tests/compiler/resolve-nested.optimized.wat b/tests/compiler/resolve-nested.optimized.wat index 9bf204a7..b351045e 100644 --- a/tests/compiler/resolve-nested.optimized.wat +++ b/tests/compiler/resolve-nested.optimized.wat @@ -4,12 +4,9 @@ (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) - (global $resolve-nested/Outer.InnerClass i32 (i32.const 1)) - (global $resolve-nested/Outer.Inner.EvenInnerClass i32 (i32.const 2)) + (global $resolve-nested/Outer.InnerClass i32 (i32.const 18)) + (global $resolve-nested/Outer.Inner.EvenInnerClass i32 (i32.const 19)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "Outer.InnerClass" (global $resolve-nested/Outer.InnerClass)) (export "Outer.Inner.EvenInnerClass" (global $resolve-nested/Outer.Inner.EvenInnerClass)) (export "Outer.Inner.evenInner" (func $resolve-nested/Outer.Inner.evenInner)) diff --git a/tests/compiler/resolve-nested.untouched.wat b/tests/compiler/resolve-nested.untouched.wat index 00b7ed83..72b4edb3 100644 --- a/tests/compiler/resolve-nested.untouched.wat +++ b/tests/compiler/resolve-nested.untouched.wat @@ -20,11 +20,9 @@ (global $resolve-nested/a (mut i32) (i32.const 0)) (global $resolve-nested/b (mut i32) (i32.const 0)) (global $resolve-nested/c (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) - (global $resolve-nested/Outer.InnerClass i32 (i32.const 1)) - (global $resolve-nested/Outer.Inner.EvenInnerClass i32 (i32.const 2)) + (global $resolve-nested/Outer.InnerClass i32 (i32.const 18)) + (global $resolve-nested/Outer.Inner.EvenInnerClass i32 (i32.const 19)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "Outer.InnerClass" (global $resolve-nested/Outer.InnerClass)) (export "Outer.Inner.EvenInnerClass" (global $resolve-nested/Outer.Inner.EvenInnerClass)) (export "Outer.Inner.evenInner" (func $resolve-nested/Outer.Inner.evenInner)) diff --git a/tests/compiler/retain-i32.optimized.wat b/tests/compiler/retain-i32.optimized.wat index 93280cc9..fd5d3685 100644 --- a/tests/compiler/retain-i32.optimized.wat +++ b/tests/compiler/retain-i32.optimized.wat @@ -1,15 +1,12 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s") (global $retain-i32/si (mut i32) (i32.const 0)) (global $retain-i32/ui (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:retain-i32 (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -37,7 +34,7 @@ i32.const 16 i32.const 78 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1 @@ -50,7 +47,7 @@ i32.const 16 i32.const 81 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -2 @@ -63,7 +60,7 @@ i32.const 16 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -128 @@ -76,7 +73,7 @@ i32.const 16 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -128 @@ -89,7 +86,7 @@ i32.const 16 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -127 @@ -102,7 +99,7 @@ i32.const 16 i32.const 93 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -128 @@ -115,7 +112,7 @@ i32.const 16 i32.const 96 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -128,7 +125,7 @@ i32.const 16 i32.const 99 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -141,7 +138,7 @@ i32.const 16 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -152,7 +149,7 @@ i32.const 16 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -165,7 +162,7 @@ i32.const 16 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -178,7 +175,7 @@ i32.const 16 i32.const 113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -191,7 +188,7 @@ i32.const 16 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 254 @@ -204,7 +201,7 @@ i32.const 16 i32.const 119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -217,7 +214,7 @@ i32.const 16 i32.const 122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -230,7 +227,7 @@ i32.const 16 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -243,7 +240,7 @@ i32.const 16 i32.const 128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -254,7 +251,7 @@ i32.const 16 i32.const 131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/retain-i32.untouched.wat b/tests/compiler/retain-i32.untouched.wat index fa0b4896..90e4952e 100644 --- a/tests/compiler/retain-i32.untouched.wat +++ b/tests/compiler/retain-i32.untouched.wat @@ -2,9 +2,9 @@ (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s\00") + (data (i32.const 8) "\10\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/builtins/i8.MAX_VALUE i32 (i32.const 127)) @@ -18,9 +18,7 @@ (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $retain-i32/si (mut i32) (i32.const 0)) (global $retain-i32/ui (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 44)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $retain-i32/test (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 @@ -44,7 +42,7 @@ i32.const 16 i32.const 4 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -68,7 +66,7 @@ i32.const 16 i32.const 5 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -92,7 +90,7 @@ i32.const 16 i32.const 6 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -116,7 +114,7 @@ i32.const 16 i32.const 7 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -140,7 +138,7 @@ i32.const 16 i32.const 8 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -164,7 +162,7 @@ i32.const 16 i32.const 9 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -188,7 +186,7 @@ i32.const 16 i32.const 10 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -208,7 +206,7 @@ i32.const 16 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -228,7 +226,7 @@ i32.const 16 i32.const 14 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -248,7 +246,7 @@ i32.const 16 i32.const 15 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -268,7 +266,7 @@ i32.const 16 i32.const 16 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -288,7 +286,7 @@ i32.const 16 i32.const 17 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -308,7 +306,7 @@ i32.const 16 i32.const 18 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -328,7 +326,7 @@ i32.const 16 i32.const 19 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -478,7 +476,7 @@ i32.const 16 i32.const 78 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 127 @@ -500,7 +498,7 @@ i32.const 16 i32.const 81 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 127 @@ -520,7 +518,7 @@ i32.const 16 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -540,7 +538,7 @@ i32.const 16 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -128 @@ -560,7 +558,7 @@ i32.const 16 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 127 @@ -580,7 +578,7 @@ i32.const 16 i32.const 93 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -128 @@ -600,7 +598,7 @@ i32.const 16 i32.const 96 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 127 @@ -616,7 +614,7 @@ i32.const 16 i32.const 99 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -632,7 +630,7 @@ i32.const 16 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -128 @@ -648,7 +646,7 @@ i32.const 16 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -664,7 +662,7 @@ i32.const 16 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -684,7 +682,7 @@ i32.const 16 i32.const 113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -704,7 +702,7 @@ i32.const 16 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -722,7 +720,7 @@ i32.const 16 i32.const 119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -740,7 +738,7 @@ i32.const 16 i32.const 122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -756,7 +754,7 @@ i32.const 16 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -772,7 +770,7 @@ i32.const 16 i32.const 128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -788,7 +786,7 @@ i32.const 16 i32.const 131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/runtime-arena.optimized.wat b/tests/compiler/runtime-arena.optimized.wat index 587c7142..ef8780ac 100644 --- a/tests/compiler/runtime-arena.optimized.wat +++ b/tests/compiler/runtime-arena.optimized.wat @@ -1,11 +1,336 @@ (module + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (memory $0 1) + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 56) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 96) "\11") + (data (i32.const 232) "!\00\00\00\0e") + (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) + (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) - (func $null (; 0 ;) (type $FUNCSIG$v) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (start $start) + (func $~lib/runtime/runtime.instanceof (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 96 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 96 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 96 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 96 + i32.add + i32.load + end + ) + (func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.const 1073741824 + i32.gt_u + if + unreachable + end + global.get $~lib/allocator/arena/offset + local.tee $1 + local.get $0 + i32.const 1 + local.get $0 + i32.const 1 + i32.gt_u + select + i32.add + i32.const 7 + i32.add + i32.const -8 + i32.and + local.tee $0 + current_memory + 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 + grow_memory + i32.const 0 + i32.lt_s + if + local.get $3 + grow_memory + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $0 + global.set $~lib/allocator/arena/offset + local.get $1 + ) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + i32.const 1 + i32.const 32 + local.get $0 + i32.const 7 + i32.add + i32.clz + i32.sub + i32.shl + call $~lib/allocator/arena/__mem_allocate + local.tee $1 + i32.const -1520547049 + i32.store + local.get $1 + local.get $0 + i32.store offset=4 + local.get $1 + i32.const 8 + i32.add + ) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + i32.const 240 + i32.le_u + if + i32.const 0 + i32.const 16 + i32.const 131 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 8 + i32.sub + local.tee $2 + i32.load + i32.const -1520547049 + i32.ne + if + i32.const 0 + i32.const 16 + i32.const 133 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + i32.store + local.get $0 + ) + (func $~lib/runtime/runtime.newObject (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + block (result i32) + local.get $0 + call $~lib/util/runtime/allocate + end + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + i32.const 96 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 96 + i32.add + i32.load + end + local.tee $3 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 8 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $2 + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $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 $0 + local.get $2 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $3 + i32.const 512 + i32.and + if + local.get $1 + local.get $2 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + if + i32.const 0 + i32.const 64 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 11 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 64 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 12 ;) (type $FUNCSIG$v) + i32.const 240 + global.set $~lib/allocator/arena/startOffset + global.get $~lib/allocator/arena/startOffset + global.set $~lib/allocator/arena/offset + ) + (func $null (; 13 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/runtime-arena.untouched.wat b/tests/compiler/runtime-arena.untouched.wat index 4560a6a1..cdcc6943 100644 --- a/tests/compiler/runtime-arena.untouched.wat +++ b/tests/compiler/runtime-arena.untouched.wat @@ -1,11 +1,394 @@ (module + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (memory $0 0) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (memory $0 1) + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 56) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 96) "\11\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) + (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) + (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) + (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) + (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) + (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 96)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 240)) (export "memory" (memory $0)) - (export "table" (table $0)) - (func $null (; 0 ;) (type $FUNCSIG$v) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (start $start) + (func $~lib/runtime/runtime.instanceof (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/util/runtime/adjust (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 1 + i32.const 32 + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.add + i32.const 1 + i32.sub + i32.clz + i32.sub + i32.shl + ) + (func $~lib/allocator/arena/__mem_allocate (; 4 ;) (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 + i32.const 1073741824 + i32.gt_u + if + unreachable + end + global.get $~lib/allocator/arena/offset + local.set $1 + local.get $1 + local.get $0 + local.tee $2 + i32.const 1 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.add + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + local.set $4 + current_memory + local.set $5 + local.get $4 + local.get $5 + i32.const 16 + i32.shl + i32.gt_u + if + local.get $4 + local.get $1 + 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 $2 + local.get $5 + local.tee $3 + local.get $2 + local.tee $6 + local.get $3 + local.get $6 + i32.gt_s + select + local.set $3 + local.get $3 + grow_memory + i32.const 0 + i32.lt_s + if + local.get $2 + grow_memory + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $4 + global.set $~lib/allocator/arena/offset + local.get $1 + ) + (func $~lib/memory/memory.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/allocator/arena/__mem_allocate + return + ) + (func $~lib/util/runtime/allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/util/runtime/adjust + call $~lib/memory/memory.allocate + local.set $1 + local.get $1 + global.get $~lib/util/runtime/HEADER_MAGIC + i32.store + local.get $1 + local.get $0 + i32.store offset=4 + local.get $1 + global.get $~lib/util/runtime/HEADER_SIZE + i32.add + ) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + global.get $~lib/memory/HEAP_BASE + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 131 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + local.set $2 + local.get $2 + i32.load + global.get $~lib/util/runtime/HEADER_MAGIC + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 133 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + i32.store + local.get $0 + ) + (func $~lib/runtime/runtime.newObject (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 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.get $0 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.get $1 + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $7 + block $break|0 + loop $continue|0 + local.get $6 + local.get $7 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $8 + local.get $8 + if + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/runtime.retain (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.release (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 15 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 64 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/runtime/runtime#constructor (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 17 ;) (type $FUNCSIG$v) + global.get $~lib/memory/HEAP_BASE + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + global.set $~lib/allocator/arena/startOffset + global.get $~lib/allocator/arena/startOffset + global.set $~lib/allocator/arena/offset + ) + (func $null (; 18 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/runtime-default.optimized.wat b/tests/compiler/runtime-default.optimized.wat index 5c190147..29ef9228 100644 --- a/tests/compiler/runtime-default.optimized.wat +++ b/tests/compiler/runtime-default.optimized.wat @@ -7,15 +7,14 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00,") + (data (i32.const 8) "\10\00\00\00,") (data (i32.const 24) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 72) "\01\00\00\00(") + (data (i32.const 72) "\10\00\00\00(") (data (i32.const 88) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 128) "\12") + (data (i32.const 264) "!\00\00\00\0e") (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) @@ -23,17 +22,14 @@ (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) (export "$.flags" (func $~lib/runtime/runtime.flags)) (export "$.newObject" (func $~lib/runtime/runtime.newObject)) (export "$.newString" (func $~lib/runtime/runtime.newString)) (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) (export "$.retain" (func $~lib/runtime/runtime.retain)) (export "$.release" (func $~lib/runtime/runtime.release)) (export "$.collect" (func $~lib/runtime/runtime.collect)) @@ -41,29 +37,64 @@ (start $start) (func $~lib/runtime/runtime.instanceof (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 + i32.const 16 + i32.sub + i32.load + local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub + i32.const 128 i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof + i32.le_u else - i32.const 0 + local.get $0 end - ) - (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $__inlined_func$~lib/runtime/__runtime_flags - block $invalid + if + loop $continue|0 local.get $0 - i32.const 1 - i32.sub - br_table $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $invalid + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 128 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 end - unreachable end i32.const 0 ) + (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 128 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 128 + i32.add + i32.load + end + ) (func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.const 22 @@ -73,7 +104,7 @@ i32.const 24 i32.const 159 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -93,7 +124,7 @@ i32.const 24 i32.const 184 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -104,7 +135,7 @@ i32.const 24 i32.const 185 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -130,7 +161,7 @@ i32.const 24 i32.const 104 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -148,7 +179,7 @@ i32.const 24 i32.const 105 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -161,7 +192,7 @@ i32.const 24 i32.const 447 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 31 @@ -178,7 +209,7 @@ i32.const 24 i32.const 175 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -189,7 +220,7 @@ i32.const 24 i32.const 176 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -212,7 +243,7 @@ i32.const 24 i32.const 153 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -238,7 +269,7 @@ i32.const 24 i32.const 277 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -261,7 +292,7 @@ i32.const 24 i32.const 279 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -362,7 +393,7 @@ i32.const 24 i32.const 96 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -376,7 +407,7 @@ i32.const 24 i32.const 97 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -392,7 +423,7 @@ i32.const 24 i32.const 353 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -404,7 +435,7 @@ i32.const 24 i32.const 354 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -417,7 +448,7 @@ i32.const 24 i32.const 355 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -438,7 +469,7 @@ i32.const 24 i32.const 208 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -452,7 +483,7 @@ i32.const 24 i32.const 210 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -476,7 +507,7 @@ i32.const 24 i32.const 212 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -488,7 +519,7 @@ i32.const 24 i32.const 216 i32.const 23 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -529,7 +560,7 @@ i32.const 24 i32.const 230 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -543,7 +574,7 @@ i32.const 24 i32.const 232 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -588,7 +619,7 @@ i32.const 24 i32.const 245 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -667,7 +698,7 @@ i32.const 24 i32.const 396 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -678,7 +709,7 @@ i32.const 24 i32.const 397 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -689,7 +720,7 @@ i32.const 24 i32.const 398 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2912 @@ -706,7 +737,7 @@ i32.const 24 i32.const 403 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -734,7 +765,7 @@ i32.const 24 i32.const 412 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -787,7 +818,7 @@ i32.const 24 i32.const 441 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -813,7 +844,7 @@ i32.const 24 i32.const 315 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -892,7 +923,7 @@ i32.const 24 i32.const 342 i32.const 16 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -919,7 +950,7 @@ i32.const 24 i32.const 367 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -939,7 +970,7 @@ i32.const 24 i32.const 368 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -950,7 +981,7 @@ i32.const 24 i32.const 369 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1002,7 +1033,7 @@ i32.const 24 i32.const 387 i32.const 25 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1042,14 +1073,14 @@ if unreachable end - i32.const 128 + i32.const 280 local.set $2 - i32.const 128 + i32.const 280 global.set $~lib/allocator/tlsf/ROOT i32.const 2912 i32.const 0 i32.store - i32.const 128 + i32.const 280 i32.const 0 i32.store i32.const 0 @@ -1059,7 +1090,7 @@ i32.const 22 i32.lt_u if - i32.const 128 + i32.const 280 local.get $1 i32.const 0 call $~lib/allocator/tlsf/Root#setSLMap @@ -1070,7 +1101,7 @@ i32.const 32 i32.lt_u if - i32.const 128 + i32.const 280 local.get $1 local.get $3 i32.const 0 @@ -1089,8 +1120,8 @@ br $repeat|0 end end - i32.const 128 - i32.const 3048 + i32.const 280 + i32.const 3200 current_memory i32.const 16 i32.shl @@ -1163,7 +1194,7 @@ i32.const 24 i32.const 502 i32.const 12 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1178,7 +1209,7 @@ i32.const 24 i32.const 505 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1304,14 +1335,14 @@ (func $~lib/util/runtime/register (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 128 + i32.const 280 i32.le_u if i32.const 0 i32.const 88 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1324,9 +1355,9 @@ if i32.const 0 i32.const 88 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1348,12 +1379,12 @@ local.get $0 i32.const 1 i32.shl - i32.const 1 + i32.const 16 call $~lib/runtime/runtime.newObject ) (func $~lib/runtime/runtime.newArrayBuffer (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 2 + i32.const 15 call $~lib/runtime/runtime.newObject ) (func $~lib/collector/itcm/ManagedObject#makeGray (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) @@ -1427,234 +1458,120 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/memory/memory.copy (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/runtime/runtime.newArray (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - 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 $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - br $continue|0 - end - end - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - 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 $2 - if - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - 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 $2 - i32.add - i32.const 7 - i32.and - if - local.get $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - end - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - br $continue|4 - end - end - end - loop $continue|5 - local.get $2 - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 29 ;) (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 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.tee $2 - local.set $6 local.get $0 + local.tee $3 + i32.eqz + local.tee $0 + if (result i32) + local.get $0 + else + local.get $3 + i32.const 128 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $3 + i32.const 3 + i32.shl + i32.const 128 + i32.add + i32.load + end + local.tee $0 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $5 local.get $1 - i32.shl - local.tee $4 - call $~lib/util/runtime/allocate - i32.const 2 - call $~lib/util/runtime/register - local.tee $5 - local.tee $1 + if (result i32) + local.get $1 + i32.const 16 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $4 + local.get $3 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $2 + local.set $3 local.get $2 i32.load + local.get $1 i32.ne if local.get $1 - local.get $6 + local.get $3 call $~lib/collector/itcm/__ref_link end local.get $2 local.get $1 i32.store local.get $2 - local.get $5 + local.get $1 i32.store offset=4 local.get $2 local.get $4 i32.store offset=8 local.get $2 - local.get $0 + local.get $4 + local.get $5 + i32.shr_u i32.store offset=12 - local.get $3 + local.get $0 + i32.const 512 + i32.and if - local.get $5 - local.get $3 + local.get $1 local.get $4 - call $~lib/memory/memory.copy + i32.add + local.set $4 + loop $continue|0 + local.get $1 + local.get $4 + i32.lt_u + if + local.get $1 + i32.load + local.tee $0 + if + local.get $0 + local.get $2 + call $~lib/collector/itcm/__ref_link + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end end local.get $2 ) - (func $~lib/runtime/runtime.retain (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.retain (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/runtime/ROOT call $~lib/collector/itcm/__ref_link ) - (func $~lib/runtime/runtime.release (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.release (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/allocator/tlsf/__mem_free (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/allocator/tlsf/__mem_free (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1676,7 +1593,7 @@ i32.const 24 i32.const 518 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1692,7 +1609,7 @@ end end ) - (func $~lib/collector/itcm/step (; 33 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/step (; 32 ;) (type $FUNCSIG$v) (local $0 i32) block $break|0 block $case3|0 @@ -1732,16 +1649,12 @@ i32.and i32.or i32.store offset=8 - block $__inlined_func$~lib/runtime/__gc_mark_members - block $invalid - local.get $0 - i32.load - i32.const 1 - i32.sub - br_table $__inlined_func$~lib/runtime/__gc_mark_members $__inlined_func$~lib/runtime/__gc_mark_members $__inlined_func$~lib/runtime/__gc_mark_members $invalid - end - unreachable - end + local.get $0 + i32.load + local.get $0 + i32.const 16 + i32.add + call $~lib/runtime/__gc_mark_members else call $~lib/runtime/__gc_mark_roots global.get $~lib/collector/itcm/toSpace @@ -1782,7 +1695,7 @@ i32.and global.set $~lib/collector/itcm/iter local.get $0 - i32.const 128 + i32.const 280 i32.ge_u if local.get $0 @@ -1801,7 +1714,7 @@ end end ) - (func $~lib/collector/itcm/__ref_collect (; 34 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 33 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit loop $continue|0 global.get $~lib/collector/itcm/state @@ -1820,89 +1733,118 @@ br_if $continue|1 end ) - (func $~lib/runtime/runtime.collect (; 35 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 34 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $start (; 36 ;) (type $FUNCSIG$v) + (func $start (; 35 ;) (type $FUNCSIG$v) i32.const 0 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register global.set $~lib/runtime/ROOT ) + (func $~lib/collector/itcm/__ref_mark (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) + call $~lib/collector/itcm/maybeInit + global.get $~lib/collector/itcm/white + local.get $0 + i32.const 16 + i32.sub + local.tee $0 + i32.load offset=8 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/collector/itcm/ManagedObject#makeGray + end + ) (func $~lib/runtime/__gc_mark_roots (; 37 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 if - call $~lib/collector/itcm/maybeInit - global.get $~lib/collector/itcm/white local.get $0 - i32.const 16 - i32.sub - local.tee $0 - i32.load offset=8 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - call $~lib/collector/itcm/ManagedObject#makeGray - end + call $~lib/collector/itcm/__ref_mark end ) - (func $~lib/runtime/__runtime_instanceof (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope + (func $~lib/runtime/__gc_mark_members (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + block $invalid block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer + block $~lib/array/Array block $~lib/string/String - local.get $0 - i32.const 1 - i32.sub - br_table $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $nope + block $~lib/arraybuffer/ArrayBuffer + block $~lib/arraybuffer/ArrayBufferView + block $~lib/number/F64 + block $~lib/number/F32 + block $~lib/number/Bool + block $~lib/number/Usize + block $~lib/number/U64 + block $~lib/number/U32 + block $~lib/number/U16 + block $~lib/number/U8 + block $~lib/number/Isize + block $~lib/number/I64 + block $~lib/number/I32 + block $~lib/number/I16 + block $~lib/number/I8 + local.get $0 + i32.const 1 + i32.sub + br_table $~lib/number/I8 $~lib/number/I16 $~lib/number/I32 $~lib/number/I64 $~lib/number/Isize $~lib/number/U8 $~lib/number/U16 $~lib/number/U32 $~lib/number/U64 $~lib/number/Usize $~lib/number/Bool $~lib/number/F32 $~lib/number/F64 $~lib/arraybuffer/ArrayBufferView $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/array/Array $~lib/runtime/Root $invalid + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + local.get $1 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/collector/itcm/__ref_mark + i32.const 15 + local.get $0 + call $~lib/runtime/__gc_mark_members + end + return + end + return end - local.get $1 - i32.const 1 - i32.eq return end local.get $1 - i32.const 2 - i32.eq + i32.load + call $~lib/collector/itcm/__ref_mark return end - local.get $1 - i32.const 3 - i32.eq return end - i32.const 0 + unreachable ) (func $null (; 39 ;) (type $FUNCSIG$v) nop ) - (func $~lib/runtime/runtime.newArray|trampoline (; 40 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc - ) ) diff --git a/tests/compiler/runtime-default.untouched.wat b/tests/compiler/runtime-default.untouched.wat index c54dc003..0259d404 100644 --- a/tests/compiler/runtime-default.untouched.wat +++ b/tests/compiler/runtime-default.untouched.wat @@ -7,11 +7,11 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 72) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 72) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 128) "\12\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -40,39 +40,87 @@ (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 128)) - (global $~lib/argc (mut i32) (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 128)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 280)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) (export "$.flags" (func $~lib/runtime/runtime.flags)) (export "$.newObject" (func $~lib/runtime/runtime.newObject)) (export "$.newString" (func $~lib/runtime/runtime.newString)) (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) (export "$.retain" (func $~lib/runtime/runtime.retain)) (export "$.release" (func $~lib/runtime/runtime.release)) (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/runtime/runtime.instanceof (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 if (result i32) - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub + local.get $2 + local.get $3 i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof + i32.le_u else - i32.const 0 + local.get $2 end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 ) (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 local.get $0 - call $~lib/runtime/__runtime_flags + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end ) (func $~lib/util/runtime/adjust (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -101,7 +149,7 @@ i32.const 24 i32.const 159 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -122,7 +170,7 @@ i32.const 24 i32.const 184 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -134,7 +182,7 @@ i32.const 24 i32.const 185 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -167,7 +215,7 @@ i32.const 24 i32.const 104 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -187,7 +235,7 @@ i32.const 24 i32.const 105 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $1 @@ -203,7 +251,7 @@ i32.const 24 i32.const 447 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 31 @@ -221,7 +269,7 @@ i32.const 24 i32.const 175 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -233,7 +281,7 @@ i32.const 24 i32.const 176 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -257,7 +305,7 @@ i32.const 24 i32.const 153 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -287,7 +335,7 @@ i32.const 24 i32.const 277 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -313,7 +361,7 @@ i32.const 24 i32.const 279 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -424,7 +472,7 @@ i32.const 24 i32.const 96 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -438,7 +486,7 @@ i32.const 24 i32.const 97 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $1 @@ -455,7 +503,7 @@ i32.const 24 i32.const 353 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -468,7 +516,7 @@ i32.const 24 i32.const 354 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -481,7 +529,7 @@ i32.const 24 i32.const 355 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -507,7 +555,7 @@ i32.const 24 i32.const 208 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -522,7 +570,7 @@ i32.const 24 i32.const 210 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -548,7 +596,7 @@ i32.const 24 i32.const 212 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -560,7 +608,7 @@ i32.const 24 i32.const 216 i32.const 23 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $4 @@ -608,7 +656,7 @@ i32.const 24 i32.const 230 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $4 @@ -626,7 +674,7 @@ i32.const 24 i32.const 232 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -681,7 +729,7 @@ i32.const 24 i32.const 245 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -772,7 +820,7 @@ i32.const 24 i32.const 396 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -785,7 +833,7 @@ i32.const 24 i32.const 397 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -798,7 +846,7 @@ i32.const 24 i32.const 398 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -819,7 +867,7 @@ i32.const 24 i32.const 403 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -848,7 +896,7 @@ i32.const 24 i32.const 412 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -919,7 +967,7 @@ i32.const 24 i32.const 441 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -935,7 +983,7 @@ i32.const 24 i32.const 441 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -965,7 +1013,7 @@ i32.const 24 i32.const 315 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1061,7 +1109,7 @@ i32.const 24 i32.const 342 i32.const 16 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.set $5 @@ -1098,7 +1146,7 @@ i32.const 24 i32.const 367 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1118,7 +1166,7 @@ i32.const 24 i32.const 368 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1131,7 +1179,7 @@ i32.const 24 i32.const 369 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1191,7 +1239,7 @@ i32.const 24 i32.const 387 i32.const 25 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $4 @@ -1417,7 +1465,7 @@ i32.const 24 i32.const 502 i32.const 12 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $6 @@ -1438,7 +1486,7 @@ i32.const 24 i32.const 505 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1582,9 +1630,9 @@ if i32.const 0 i32.const 88 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1599,9 +1647,9 @@ if i32.const 0 i32.const 88 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1621,21 +1669,27 @@ local.get $0 i32.const 1 i32.shl - i32.const 1 + i32.const 16 call $~lib/runtime/runtime.newObject ) (func $~lib/runtime/runtime.newArrayBuffer (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 2 + i32.const 15 call $~lib/runtime/runtime.newObject ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/collector/itcm/ManagedObject#get:color (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 i32.and ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:next (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 @@ -1643,7 +1697,7 @@ i32.xor i32.and ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#unlink (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -1659,7 +1713,7 @@ local.get $1 call $~lib/collector/itcm/ManagedObject#set:next ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/collector/itcm/iter i32.eq @@ -1684,7 +1738,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/__ref_link (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/__ref_link (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) call $~lib/collector/itcm/maybeInit @@ -1721,271 +1775,105 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/memory/memory.copy (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/runtime/runtime.newArray (; 40 ;) (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/util/memory/memmove|inlined.0 - local.get $0 - local.get $1 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - 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 - block $break|0 - loop $continue|0 - local.get $0 - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - end - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - br $continue|1 - end - end - end - end - block $break|2 - loop $continue|2 - local.get $2 - if - block - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - end - br $continue|2 - end - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $0 - local.get $2 - i32.add - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - end - br $continue|3 - end - end - end - block $break|4 - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - end - br $continue|4 - end - end - end - end - block $break|5 - loop $continue|5 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 40 ;) (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) (local $8 i32) - (local $9 i32) - i32.const 16 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.set $4 local.get $0 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 local.get $1 - i32.shl + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject local.set $5 local.get $5 - call $~lib/util/runtime/allocate - i32.const 2 - call $~lib/util/runtime/register - local.set $6 - local.get $4 + local.tee $6 + local.get $1 local.tee $7 local.get $6 - local.tee $8 - local.get $7 i32.load - local.tee $9 + local.tee $8 i32.ne if (result i32) nop - local.get $8 local.get $7 + local.get $6 call $~lib/collector/itcm/__ref_link - local.get $8 + local.get $7 else - local.get $8 + local.get $7 end i32.store - local.get $4 - local.get $6 - i32.store offset=4 - local.get $4 local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 i32.store offset=8 + local.get $5 local.get $4 - local.get $0 - i32.store offset=12 local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and if + local.get $1 + local.set $6 local.get $6 - local.get $3 - local.get $5 - call $~lib/memory/memory.copy + local.get $4 + i32.add + local.set $8 + block $break|0 + loop $continue|0 + local.get $6 + local.get $8 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $7 + local.get $7 + if + local.get $7 + local.get $5 + call $~lib/collector/itcm/__ref_link + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end end - local.get $4 + local.get $5 ) (func $~lib/runtime/Root#constructor (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -1993,7 +1881,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -2034,7 +1922,7 @@ i32.const 24 i32.const 518 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2240,92 +2128,85 @@ call $~lib/collector/itcm/__ref_mark end ) - (func $~lib/runtime/__gc_mark_members (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__traverse (; 53 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/runtime/__gc_mark_members (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $invalid block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer + block $~lib/array/Array block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid + block $~lib/arraybuffer/ArrayBuffer + block $~lib/arraybuffer/ArrayBufferView + block $~lib/number/F64 + block $~lib/number/F32 + block $~lib/number/Bool + block $~lib/number/Usize + block $~lib/number/U64 + block $~lib/number/U32 + block $~lib/number/U16 + block $~lib/number/U8 + block $~lib/number/Isize + block $~lib/number/I64 + block $~lib/number/I32 + block $~lib/number/I16 + block $~lib/number/I8 + local.get $0 + br_table $invalid $~lib/number/I8 $~lib/number/I16 $~lib/number/I32 $~lib/number/I64 $~lib/number/Isize $~lib/number/U8 $~lib/number/U16 $~lib/number/U32 $~lib/number/U64 $~lib/number/Usize $~lib/number/Bool $~lib/number/F32 $~lib/number/F64 $~lib/arraybuffer/ArrayBufferView $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/array/Array $~lib/runtime/Root $invalid + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + local.get $1 + i32.load + local.tee $2 + if + local.get $2 + call $~lib/collector/itcm/__ref_mark + i32.const 15 + local.get $2 + call $~lib/runtime/__gc_mark_members + end + return + end + return end return end - return - end - return - end - unreachable - ) - (func $~lib/runtime/__runtime_instanceof (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $nope $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end local.get $1 - i32.const 2 - i32.eq + call $~lib/array/Array#__traverse return end - local.get $1 - i32.const 3 - i32.eq - return - end - i32.const 0 - return - ) - (func $~lib/runtime/__runtime_flags (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $invalid - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/string/String - local.get $0 - br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 return end unreachable ) - (func $null (; 56 ;) (type $FUNCSIG$v) - ) - (func $~lib/runtime/runtime.newArray|trampoline (; 57 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 58 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc + (func $null (; 55 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/runtime-none.optimized.wat b/tests/compiler/runtime-none.optimized.wat index 587c7142..bb456a11 100644 --- a/tests/compiler/runtime-none.optimized.wat +++ b/tests/compiler/runtime-none.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (func $null (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/runtime-none.untouched.wat b/tests/compiler/runtime-none.untouched.wat index 4560a6a1..29ee81b8 100644 --- a/tests/compiler/runtime-none.untouched.wat +++ b/tests/compiler/runtime-none.untouched.wat @@ -3,9 +3,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (func $null (; 0 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/runtime/flags.optimized.wat b/tests/compiler/runtime/flags.optimized.wat index f8f06975..ed72b507 100644 --- a/tests/compiler/runtime/flags.optimized.wat +++ b/tests/compiler/runtime/flags.optimized.wat @@ -1,23 +1,23 @@ (module (type $FUNCSIG$vi (func (param i32))) + (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$ii (func (param i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00 ") + (data (i32.const 8) "\11\00\00\00 ") (data (i32.const 24) "r\00u\00n\00t\00i\00m\00e\00/\00f\00l\00a\00g\00s\00.\00t\00s") - (data (i32.const 56) "\02\00\00\00,") + (data (i32.const 56) "\11\00\00\00,") (data (i32.const 72) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 120) "\02\00\00\00(") + (data (i32.const 120) "\11\00\00\00(") (data (i32.const 136) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 176) "+") + (data (i32.const 320) "\t\00\00\00\0f\00\00\00\11\00\00\00\0f\00\00\00!\00\00\00\0f\00\00\00A\00\00\00\0f\00\00\00\81\00\00\00\0f") + (data (i32.const 368) "!\02\00\00\0f\00\00\00!\03\00\00\0f\00\00\00\n\00\00\00\00\00\00\00\12\00\00\00\00\00\00\00\"\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\82\00\00\00\00\00\00\00\"\02\00\00\00\00\00\00\"\03\00\00\00\00\00\00\0c@\00\00\00\00\00\00\14 \00\00\00\00\00\00$\10\00\00\00\00\00\00D\08\00\00\00\00\00\00\84\04\00\00\00\00\00\00\0c\10\01\00\00\00\00\00\0c\90\01\00\00\00\00\00$\06\00\00\00\00\00\00$\07\00\00\00\00\00\00$\93\01") (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) @@ -25,219 +25,682 @@ (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) (export "$.flags" (func $~lib/runtime/runtime.flags)) (export "$.newObject" (func $~lib/runtime/runtime.newObject)) (export "$.newString" (func $~lib/runtime/runtime.newString)) (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) (export "$.retain" (func $~lib/runtime/runtime.retain)) (export "$.release" (func $~lib/runtime/runtime.release)) (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) - (func $start:runtime/flags (; 1 ;) (type $FUNCSIG$v) - block $folding-inner0 - i32.const 1 - call $~lib/runtime/__runtime_flags - i32.const 9 - i32.ne - if - br $folding-inner0 - end - i32.const 3 - call $~lib/runtime/__runtime_flags - i32.const 17 - i32.ne - if - br $folding-inner0 - end - i32.const 4 - call $~lib/runtime/__runtime_flags - i32.const 33 - i32.ne - if - br $folding-inner0 - end - i32.const 5 - call $~lib/runtime/__runtime_flags - i32.const 65 - i32.ne - if - br $folding-inner0 - end - i32.const 6 - call $~lib/runtime/__runtime_flags - i32.const 129 - i32.ne - if - br $folding-inner0 - end - i32.const 7 - call $~lib/runtime/__runtime_flags - i32.const 545 - i32.ne - if - br $folding-inner0 - end - i32.const 8 - call $~lib/runtime/__runtime_flags - i32.const 801 - i32.ne - if - br $folding-inner0 - end - i32.const 9 - call $~lib/runtime/__runtime_flags - i32.const 10 - i32.ne - if - br $folding-inner0 - end - i32.const 10 - call $~lib/runtime/__runtime_flags - i32.const 18 - i32.ne - if - br $folding-inner0 - end - i32.const 11 - call $~lib/runtime/__runtime_flags - i32.const 34 - i32.ne - if - br $folding-inner0 - end - i32.const 12 - call $~lib/runtime/__runtime_flags - i32.const 66 - i32.ne - if - br $folding-inner0 - end - i32.const 13 - call $~lib/runtime/__runtime_flags - i32.const 130 - i32.ne - if - br $folding-inner0 - end - i32.const 14 - call $~lib/runtime/__runtime_flags - i32.const 546 - i32.ne - if - br $folding-inner0 - end - i32.const 15 - call $~lib/runtime/__runtime_flags - i32.const 802 - i32.ne - if - br $folding-inner0 - end - i32.const 16 - call $~lib/runtime/__runtime_flags - i32.const 16396 - i32.ne - if - br $folding-inner0 - end - i32.const 17 - call $~lib/runtime/__runtime_flags - i32.const 8212 - i32.ne - if - br $folding-inner0 - end - i32.const 18 - call $~lib/runtime/__runtime_flags - i32.const 4132 - i32.ne - if - br $folding-inner0 - end - i32.const 19 - call $~lib/runtime/__runtime_flags - i32.const 2116 - i32.ne - if - br $folding-inner0 - end - i32.const 20 - call $~lib/runtime/__runtime_flags - i32.const 1156 - i32.ne - if - br $folding-inner0 - end - i32.const 21 - call $~lib/runtime/__runtime_flags - i32.const 69644 - i32.ne - if - br $folding-inner0 - end - i32.const 22 - call $~lib/runtime/__runtime_flags - i32.const 102412 - i32.ne - if - br $folding-inner0 - end - i32.const 23 - call $~lib/runtime/__runtime_flags - i32.const 1572 - i32.ne - if - br $folding-inner0 - end - i32.const 24 - call $~lib/runtime/__runtime_flags - i32.const 1828 - i32.ne - if - br $folding-inner0 - end - i32.const 25 - call $~lib/runtime/__runtime_flags - i32.const 103204 - i32.ne - if - br $folding-inner0 - end - return - end - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - ) - (func $~lib/runtime/runtime.instanceof (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/runtime.flags (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 176 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 176 + i32.add + i32.load + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 2 ;) (type $FUNCSIG$v) + i32.const 18 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 320 + i32.load + end + i32.const 9 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 3 ;) (type $FUNCSIG$v) + i32.const 19 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 328 + i32.load + end + i32.const 17 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 4 ;) (type $FUNCSIG$v) + i32.const 20 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 336 + i32.load + end + i32.const 33 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 5 ;) (type $FUNCSIG$v) + i32.const 21 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 344 + i32.load + end + i32.const 65 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 6 ;) (type $FUNCSIG$v) + i32.const 22 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 352 + i32.load + end + i32.const 129 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 7 ;) (type $FUNCSIG$v) + i32.const 24 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 368 + i32.load + end + i32.const 545 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 8 ;) (type $FUNCSIG$v) + i32.const 25 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 376 + i32.load + end + i32.const 801 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 9 ;) (type $FUNCSIG$v) + i32.const 26 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 384 + i32.load + end + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 10 ;) (type $FUNCSIG$v) + i32.const 27 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 392 + i32.load + end + i32.const 18 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 11 ;) (type $FUNCSIG$v) + i32.const 28 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 400 + i32.load + end + i32.const 34 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 12 ;) (type $FUNCSIG$v) + i32.const 29 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 408 + i32.load + end + i32.const 66 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 13 ;) (type $FUNCSIG$v) + i32.const 30 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 416 + i32.load + end + i32.const 130 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 14 ;) (type $FUNCSIG$v) + i32.const 31 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 424 + i32.load + end + i32.const 546 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 15 ;) (type $FUNCSIG$v) + i32.const 32 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 432 + i32.load + end + i32.const 802 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 16 ;) (type $FUNCSIG$v) + i32.const 33 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 440 + i32.load + end + i32.const 16396 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 17 ;) (type $FUNCSIG$v) + i32.const 34 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 448 + i32.load + end + i32.const 8212 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 18 ;) (type $FUNCSIG$v) + i32.const 35 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 456 + i32.load + end + i32.const 4132 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 19 ;) (type $FUNCSIG$v) + i32.const 36 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 464 + i32.load + end + i32.const 2116 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 20 ;) (type $FUNCSIG$v) + i32.const 37 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 472 + i32.load + end + i32.const 1156 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 21 ;) (type $FUNCSIG$v) + i32.const 38 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 480 + i32.load + end + i32.const 69644 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 22 ;) (type $FUNCSIG$v) + i32.const 39 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 488 + i32.load + end + i32.const 102412 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 23 ;) (type $FUNCSIG$v) + i32.const 40 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 496 + i32.load + end + i32.const 1572 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 24 ;) (type $FUNCSIG$v) + i32.const 41 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 504 + i32.load + end + i32.const 1828 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 25 ;) (type $FUNCSIG$v) + i32.const 42 + i32.const 176 + i32.load + i32.gt_u + if (result i32) + unreachable + else + i32.const 512 + i32.load + end + i32.const 103204 + i32.ne + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $start:runtime/flags (; 26 ;) (type $FUNCSIG$v) + block + call $runtime/flags/test<~lib/array/Array> + end + block + call $runtime/flags/test<~lib/array/Array> + end + block + call $runtime/flags/test<~lib/array/Array> + end + block + call $runtime/flags/test<~lib/array/Array> + end + block + call $runtime/flags/test<~lib/array/Array> + end + block + call $runtime/flags/test<~lib/array/Array> + end + block + call $runtime/flags/test<~lib/array/Array> + end + block + call $runtime/flags/test<~lib/set/Set> + end + block + call $runtime/flags/test<~lib/set/Set> + end + block + call $runtime/flags/test<~lib/set/Set> + end + block + call $runtime/flags/test<~lib/set/Set> + end + block + call $runtime/flags/test<~lib/set/Set> + end + block + call $runtime/flags/test<~lib/set/Set> + end + block + call $runtime/flags/test<~lib/set/Set> + end + block + call $runtime/flags/test<~lib/map/Map> + end + block + call $runtime/flags/test<~lib/map/Map> + end + block + call $runtime/flags/test<~lib/map/Map> + end + block + call $runtime/flags/test<~lib/map/Map> + end + block + call $runtime/flags/test<~lib/map/Map> + end + block + call $runtime/flags/test<~lib/map/Map> + end + block + call $runtime/flags/test<~lib/map/Map> + end + block + call $runtime/flags/test<~lib/map/Map> + end + block + call $runtime/flags/test<~lib/map/Map> + end + block + call $runtime/flags/test<~lib/map/Map> + end + ) + (func $~lib/runtime/runtime.instanceof (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load + local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub + i32.const 176 i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof + i32.le_u else - i32.const 0 + local.get $0 end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 176 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 ) - (func $~lib/runtime/runtime.flags (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/runtime/__runtime_flags - ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#setSLMap (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.const 22 i32.ge_u @@ -246,7 +709,7 @@ i32.const 72 i32.const 159 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -257,7 +720,7 @@ local.get $2 i32.store offset=4 ) - (func $~lib/allocator/tlsf/Root#setHead (; 5 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/allocator/tlsf/Root#setHead (; 29 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 i32.const 22 i32.ge_u @@ -266,7 +729,7 @@ i32.const 72 i32.const 184 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -277,7 +740,7 @@ i32.const 72 i32.const 185 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -292,7 +755,7 @@ local.get $3 i32.store offset=96 ) - (func $~lib/allocator/tlsf/Block#get:right (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:right (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load i32.const -4 @@ -303,7 +766,7 @@ i32.const 72 i32.const 104 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -321,12 +784,12 @@ i32.const 72 i32.const 105 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 ) - (func $~lib/allocator/tlsf/fls (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/fls (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -334,7 +797,7 @@ i32.const 72 i32.const 447 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 31 @@ -342,7 +805,7 @@ i32.clz i32.sub ) - (func $~lib/allocator/tlsf/Root#getHead (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getHead (; 32 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 22 i32.ge_u @@ -351,7 +814,7 @@ i32.const 72 i32.const 175 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -362,7 +825,7 @@ i32.const 72 i32.const 176 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -376,7 +839,7 @@ i32.add i32.load offset=96 ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getSLMap (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 i32.const 22 i32.ge_u @@ -385,7 +848,7 @@ i32.const 72 i32.const 153 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -395,7 +858,7 @@ i32.add i32.load offset=4 ) - (func $~lib/allocator/tlsf/Root#remove (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#remove (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -411,7 +874,7 @@ i32.const 72 i32.const 277 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -434,7 +897,7 @@ i32.const 72 i32.const 279 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -524,7 +987,7 @@ end end ) - (func $~lib/allocator/tlsf/Block#get:left (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:left (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load i32.const 2 @@ -535,7 +998,7 @@ i32.const 72 i32.const 96 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -549,12 +1012,12 @@ i32.const 72 i32.const 97 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 ) - (func $~lib/allocator/tlsf/Root#setJump (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#setJump (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i32.load i32.const 1 @@ -565,7 +1028,7 @@ i32.const 72 i32.const 353 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -577,7 +1040,7 @@ i32.const 72 i32.const 354 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -590,7 +1053,7 @@ i32.const 72 i32.const 355 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -599,7 +1062,7 @@ local.get $0 i32.store ) - (func $~lib/allocator/tlsf/Root#insert (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#insert (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -611,7 +1074,7 @@ i32.const 72 i32.const 208 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -625,7 +1088,7 @@ i32.const 72 i32.const 210 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -649,7 +1112,7 @@ i32.const 72 i32.const 212 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -661,7 +1124,7 @@ i32.const 72 i32.const 216 i32.const 23 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -702,7 +1165,7 @@ i32.const 72 i32.const 230 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -716,7 +1179,7 @@ i32.const 72 i32.const 232 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -761,7 +1224,7 @@ i32.const 72 i32.const 245 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -829,7 +1292,7 @@ i32.or call $~lib/allocator/tlsf/Root#setSLMap ) - (func $~lib/allocator/tlsf/Root#addMemory (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#addMemory (; 38 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -840,7 +1303,7 @@ i32.const 72 i32.const 396 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -851,7 +1314,7 @@ i32.const 72 i32.const 397 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -862,7 +1325,7 @@ i32.const 72 i32.const 398 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2912 @@ -879,7 +1342,7 @@ i32.const 72 i32.const 403 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -907,7 +1370,7 @@ i32.const 72 i32.const 412 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -952,7 +1415,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#insert ) - (func $~lib/allocator/tlsf/ffs (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -960,13 +1423,13 @@ i32.const 72 i32.const 441 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/Root#search (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#search (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -986,7 +1449,7 @@ i32.const 72 i32.const 315 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1065,7 +1528,7 @@ i32.const 72 i32.const 342 i32.const 16 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1078,7 +1541,7 @@ end end ) - (func $~lib/allocator/tlsf/Root#use (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#use (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $1 @@ -1092,7 +1555,7 @@ i32.const 72 i32.const 367 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1112,7 +1575,7 @@ i32.const 72 i32.const 368 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1123,7 +1586,7 @@ i32.const 72 i32.const 369 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1175,7 +1638,7 @@ i32.const 72 i32.const 387 i32.const 25 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1189,7 +1652,7 @@ i32.const 8 i32.add ) - (func $~lib/allocator/tlsf/__mem_allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/__mem_allocate (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1215,14 +1678,14 @@ if unreachable end - i32.const 176 + i32.const 528 local.set $2 - i32.const 176 + i32.const 528 global.set $~lib/allocator/tlsf/ROOT i32.const 2912 i32.const 0 i32.store - i32.const 176 + i32.const 528 i32.const 0 i32.store i32.const 0 @@ -1232,7 +1695,7 @@ i32.const 22 i32.lt_u if - i32.const 176 + i32.const 528 local.get $1 i32.const 0 call $~lib/allocator/tlsf/Root#setSLMap @@ -1243,7 +1706,7 @@ i32.const 32 i32.lt_u if - i32.const 176 + i32.const 528 local.get $1 local.get $3 i32.const 0 @@ -1262,8 +1725,8 @@ br $repeat|0 end end - i32.const 176 - i32.const 3096 + i32.const 528 + i32.const 3448 current_memory i32.const 16 i32.shl @@ -1336,7 +1799,7 @@ i32.const 72 i32.const 502 i32.const 12 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1351,7 +1814,7 @@ i32.const 72 i32.const 505 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1359,7 +1822,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/util/runtime/allocate (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -1386,7 +1849,7 @@ i32.const 16 i32.add ) - (func $~lib/collector/itcm/maybeInit (; 20 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/maybeInit (; 44 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/collector/itcm/state i32.eqz @@ -1429,7 +1892,7 @@ global.set $~lib/collector/itcm/state end ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -1457,7 +1920,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/__ref_register (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_register (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) call $~lib/collector/itcm/maybeInit local.get $0 i32.const 16 @@ -1474,17 +1937,17 @@ local.get $0 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/util/runtime/register (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 176 + i32.const 528 i32.le_u if i32.const 0 i32.const 136 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1497,9 +1960,9 @@ if i32.const 0 i32.const 136 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1511,25 +1974,25 @@ end local.get $0 ) - (func $~lib/runtime/runtime.newObject (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/runtime.newObject (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 call $~lib/util/runtime/allocate local.get $1 call $~lib/util/runtime/register ) - (func $~lib/runtime/runtime.newString (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newString (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - i32.const 2 + i32.const 17 call $~lib/runtime/runtime.newObject ) - (func $~lib/runtime/runtime.newArrayBuffer (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newArrayBuffer (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 26 + i32.const 16 call $~lib/runtime/runtime.newObject ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 51 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) global.get $~lib/collector/itcm/iter @@ -1569,7 +2032,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/__ref_link (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/__ref_link (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit global.get $~lib/collector/itcm/white @@ -1600,234 +2063,120 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/memory/memory.copy (; 29 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/runtime/runtime.newArray (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - 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 $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - br $continue|0 - end - end - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - 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 $2 - if - local.get $0 - local.tee $3 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $4 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $4 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - 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 $2 - i32.add - i32.const 7 - i32.and - if - local.get $2 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|3 - end - end - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - local.get $2 - i32.const 8 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - br $continue|4 - end - end - end - loop $continue|5 - local.get $2 - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - local.get $0 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 30 ;) (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 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.tee $2 - local.set $6 local.get $0 + local.tee $3 + i32.eqz + local.tee $0 + if (result i32) + local.get $0 + else + local.get $3 + i32.const 176 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $3 + i32.const 3 + i32.shl + i32.const 176 + i32.add + i32.load + end + local.tee $0 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $5 local.get $1 - i32.shl - local.tee $4 - call $~lib/util/runtime/allocate - i32.const 26 - call $~lib/util/runtime/register - local.tee $5 - local.tee $1 + if (result i32) + local.get $1 + i32.const 16 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $4 + local.get $3 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $2 + local.set $3 local.get $2 i32.load + local.get $1 i32.ne if local.get $1 - local.get $6 + local.get $3 call $~lib/collector/itcm/__ref_link end local.get $2 local.get $1 i32.store local.get $2 - local.get $5 + local.get $1 i32.store offset=4 local.get $2 local.get $4 i32.store offset=8 local.get $2 - local.get $0 + local.get $4 + local.get $5 + i32.shr_u i32.store offset=12 - local.get $3 + local.get $0 + i32.const 512 + i32.and if - local.get $5 - local.get $3 + local.get $1 local.get $4 - call $~lib/memory/memory.copy + i32.add + local.set $4 + loop $continue|0 + local.get $1 + local.get $4 + i32.lt_u + if + local.get $1 + i32.load + local.tee $0 + if + local.get $0 + local.get $2 + call $~lib/collector/itcm/__ref_link + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end end local.get $2 ) - (func $~lib/runtime/runtime.retain (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.retain (; 54 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/runtime/ROOT call $~lib/collector/itcm/__ref_link ) - (func $~lib/runtime/runtime.release (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.release (; 55 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/allocator/tlsf/__mem_free (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/allocator/tlsf/__mem_free (; 56 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1849,7 +2198,7 @@ i32.const 72 i32.const 518 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1865,7 +2214,7 @@ end end ) - (func $~lib/collector/itcm/step (; 34 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/step (; 57 ;) (type $FUNCSIG$v) (local $0 i32) block $break|0 block $case3|0 @@ -1951,7 +2300,7 @@ i32.and global.set $~lib/collector/itcm/iter local.get $0 - i32.const 176 + i32.const 528 i32.ge_u if local.get $0 @@ -1970,7 +2319,7 @@ end end ) - (func $~lib/collector/itcm/__ref_collect (; 35 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 58 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit loop $continue|0 global.get $~lib/collector/itcm/state @@ -1989,18 +2338,18 @@ br_if $continue|1 end ) - (func $~lib/runtime/runtime.collect (; 36 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 59 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $start (; 37 ;) (type $FUNCSIG$v) + (func $start (; 60 ;) (type $FUNCSIG$v) call $start:runtime/flags i32.const 0 call $~lib/util/runtime/allocate - i32.const 27 + i32.const 43 call $~lib/util/runtime/register global.set $~lib/runtime/ROOT ) - (func $~lib/collector/itcm/__ref_mark (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_mark (; 61 ;) (type $FUNCSIG$vi) (param $0 i32) call $~lib/collector/itcm/maybeInit global.get $~lib/collector/itcm/white local.get $0 @@ -2016,7 +2365,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/runtime/__gc_mark_roots (; 39 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 62 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -2025,7 +2374,7 @@ call $~lib/collector/itcm/__ref_mark end ) - (func $~lib/array/Array#__traverse (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/array/Array#__traverse (; 63 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2047,7 +2396,7 @@ i32.load local.tee $2 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $2 call $~lib/runtime/__gc_mark_members local.get $1 @@ -2058,7 +2407,7 @@ end end ) - (func $~lib/array/Array#__traverse (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/array/Array#__traverse (; 64 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2082,7 +2431,7 @@ if local.get $0 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $0 call $~lib/runtime/__gc_mark_members end @@ -2094,7 +2443,7 @@ end end ) - (func $~lib/set/Set#__traverse (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#__traverse (; 65 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2126,7 +2475,7 @@ i32.load local.tee $2 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $2 call $~lib/runtime/__gc_mark_members end @@ -2138,7 +2487,7 @@ end end ) - (func $~lib/set/Set#__traverse (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#__traverse (; 66 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2172,7 +2521,7 @@ if local.get $0 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $0 call $~lib/runtime/__gc_mark_members end @@ -2185,7 +2534,7 @@ end end ) - (func $~lib/map/Map#__traverse (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#__traverse (; 67 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2217,7 +2566,7 @@ i32.load local.tee $2 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $2 call $~lib/runtime/__gc_mark_members end @@ -2229,7 +2578,7 @@ end end ) - (func $~lib/map/Map#__traverse (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#__traverse (; 68 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2263,7 +2612,7 @@ if local.get $0 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $0 call $~lib/runtime/__gc_mark_members end @@ -2276,7 +2625,7 @@ end end ) - (func $~lib/map/Map#__traverse (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#__traverse (; 69 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2308,7 +2657,7 @@ i32.load offset=4 local.tee $2 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $2 call $~lib/runtime/__gc_mark_members end @@ -2320,7 +2669,7 @@ end end ) - (func $~lib/map/Map#__traverse (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#__traverse (; 70 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2354,7 +2703,7 @@ if local.get $0 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $0 call $~lib/runtime/__gc_mark_members end @@ -2367,7 +2716,7 @@ end end ) - (func $~lib/map/Map#__traverse (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#__traverse (; 71 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2401,7 +2750,7 @@ if local.get $0 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $0 call $~lib/runtime/__gc_mark_members end @@ -2411,7 +2760,7 @@ if local.get $0 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $0 call $~lib/runtime/__gc_mark_members end @@ -2424,68 +2773,123 @@ end end ) - (func $~lib/runtime/__gc_mark_members (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/runtime/__gc_mark_members (; 72 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) block $folding-inner1 block $folding-inner0 block $invalid - block $runtime/flags/Ref - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/set/Set - block $~lib/set/Set - block $~lib/array/Array - block $~lib/array/Array - block $~lib/string/String - local.get $0 - i32.const 1 - i32.sub - br_table $folding-inner0 $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $~lib/array/Array $~lib/array/Array $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $~lib/set/Set $~lib/set/Set $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $invalid + block $~lib/runtime/Root + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/set/Set + block $~lib/set/Set + block $~lib/array/Array + block $~lib/array/Array + block $runtime/flags/Ref + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/arraybuffer/ArrayBufferView + block $~lib/vector/V128 + block $~lib/number/F64 + block $~lib/number/F32 + block $~lib/number/Bool + block $~lib/number/Usize + block $~lib/number/U64 + block $~lib/number/U32 + block $~lib/number/U16 + block $~lib/number/U8 + block $~lib/number/Isize + block $~lib/number/I64 + block $~lib/number/I32 + block $~lib/number/I16 + block $~lib/number/I8 + local.get $0 + i32.const 1 + i32.sub + br_table $~lib/number/I8 $~lib/number/I16 $~lib/number/I32 $~lib/number/I64 $~lib/number/Isize $~lib/number/U8 $~lib/number/U16 $~lib/number/U32 $~lib/number/U64 $~lib/number/Usize $~lib/number/Bool $~lib/number/F32 $~lib/number/F64 $~lib/vector/V128 $~lib/arraybuffer/ArrayBufferView $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $runtime/flags/Ref $~lib/array/Array $~lib/array/Array $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $~lib/set/Set $~lib/set/Set $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/runtime/Root $invalid + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + local.get $1 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/collector/itcm/__ref_mark + i32.const 16 + local.get $0 + call $~lib/runtime/__gc_mark_members + end + return end return end - local.get $1 - call $~lib/array/Array#__traverse return end - local.get $1 - call $~lib/array/Array#__traverse return end local.get $1 - call $~lib/set/Set#__traverse + call $~lib/array/Array#__traverse return end local.get $1 - call $~lib/set/Set#__traverse + call $~lib/array/Array#__traverse return end local.get $1 - call $~lib/map/Map#__traverse + call $~lib/set/Set#__traverse return end local.get $1 - call $~lib/map/Map#__traverse + call $~lib/set/Set#__traverse return end local.get $1 - call $~lib/map/Map#__traverse + call $~lib/map/Map#__traverse return end local.get $1 - call $~lib/map/Map#__traverse + call $~lib/map/Map#__traverse return end local.get $1 - call $~lib/map/Map#__traverse + call $~lib/map/Map#__traverse return end + local.get $1 + call $~lib/map/Map#__traverse return end + local.get $1 + call $~lib/map/Map#__traverse return end return @@ -2504,367 +2908,7 @@ i32.load offset=8 call $~lib/collector/itcm/__ref_mark ) - (func $~lib/runtime/__runtime_instanceof (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/arraybuffer/ArrayBufferView - block $runtime/flags/Ref - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/string/String - block $~lib/array/Array - local.get $0 - i32.const 1 - i32.sub - br_table $~lib/array/Array $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $~lib/arraybuffer/ArrayBufferView $nope - end - local.get $1 - i32.const 1 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or - return - end - local.get $1 - i32.const 4 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or - return - end - local.get $1 - i32.const 5 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or - return - end - local.get $1 - i32.const 6 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or - return - end - local.get $1 - i32.const 7 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or - return - end - local.get $1 - i32.const 8 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or - return - end - local.get $1 - i32.const 9 - i32.eq - return - end - local.get $1 - i32.const 10 - i32.eq - return - end - local.get $1 - i32.const 11 - i32.eq - return - end - local.get $1 - i32.const 12 - i32.eq - return - end - local.get $1 - i32.const 13 - i32.eq - return - end - local.get $1 - i32.const 14 - i32.eq - return - end - local.get $1 - i32.const 15 - i32.eq - return - end - local.get $1 - i32.const 16 - i32.eq - return - end - local.get $1 - i32.const 17 - i32.eq - return - end - local.get $1 - i32.const 18 - i32.eq - return - end - local.get $1 - i32.const 19 - i32.eq - return - end - local.get $1 - i32.const 20 - i32.eq - return - end - local.get $1 - i32.const 21 - i32.eq - return - end - local.get $1 - i32.const 22 - i32.eq - return - end - local.get $1 - i32.const 23 - i32.eq - return - end - local.get $1 - i32.const 24 - i32.eq - return - end - local.get $1 - i32.const 25 - i32.eq - return - end - local.get $1 - i32.const 26 - i32.eq - return - end - local.get $1 - i32.const 27 - i32.eq - return - end - local.get $1 - i32.const 28 - i32.eq - return - end - local.get $1 - i32.const 29 - i32.eq - return - end - i32.const 0 - ) - (func $~lib/runtime/__runtime_flags (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $runtime/flags/Ref - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/string/String - block $~lib/array/Array - local.get $0 - i32.const 1 - i32.sub - br_table $~lib/array/Array $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $~lib/arraybuffer/ArrayBufferView $invalid - end - i32.const 9 - return - end - i32.const 0 - return - end - i32.const 17 - return - end - i32.const 33 - return - end - i32.const 65 - return - end - i32.const 129 - return - end - i32.const 545 - return - end - i32.const 801 - return - end - i32.const 10 - return - end - i32.const 18 - return - end - i32.const 34 - return - end - i32.const 66 - return - end - i32.const 130 - return - end - i32.const 546 - return - end - i32.const 802 - return - end - i32.const 16396 - return - end - i32.const 8212 - return - end - i32.const 4132 - return - end - i32.const 2116 - return - end - i32.const 1156 - return - end - i32.const 69644 - return - end - i32.const 102412 - return - end - i32.const 1572 - return - end - i32.const 1828 - return - end - i32.const 103204 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - unreachable - ) - (func $null (; 52 ;) (type $FUNCSIG$v) + (func $null (; 73 ;) (type $FUNCSIG$v) nop ) - (func $~lib/runtime/runtime.newArray|trampoline (; 53 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 54 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc - ) ) diff --git a/tests/compiler/runtime/flags.ts b/tests/compiler/runtime/flags.ts index 091996dc..7c0eed64 100644 --- a/tests/compiler/runtime/flags.ts +++ b/tests/compiler/runtime/flags.ts @@ -1,46 +1,9 @@ -import { __runtime_id, __runtime_flags } from "runtime"; +import { runtime, __runtime_id } from "runtime"; +import { RTTIFlags } from "common/rtti"; -const enum RuntimeFlags { // keep in sync with src/program.ts - NONE = 0, - /** Type is an `Array`. */ - ARRAY = 1 << 0, - /** Type is a `Set`. */ - SET = 1 << 1, - /** Type is a `Map`. */ - MAP = 1 << 2, - /** Value alignment of 1 byte. */ - VALUE_ALIGN_0 = 1 << 3, - /** Value alignment of 2 bytes. */ - VALUE_ALIGN_1 = 1 << 4, - /** Value alignment of 4 bytes. */ - VALUE_ALIGN_2 = 1 << 5, - /** Value alignment of 8 bytes. */ - VALUE_ALIGN_3 = 1 << 6, - /** Value alignment of 16 bytes. */ - VALUE_ALIGN_4 = 1 << 7, - /** Value type is nullable. */ - VALUE_NULLABLE = 1 << 8, - /** Value type is managed. */ - VALUE_MANAGED = 1 << 9, - /** Key alignment of 1 byte. */ - KEY_ALIGN_0 = 1 << 10, - /** Key alignment of 2 bytes. */ - KEY_ALIGN_1 = 1 << 11, - /** Key alignment of 4 bytes. */ - KEY_ALIGN_2 = 1 << 12, - /** Key alignment of 8 bytes. */ - KEY_ALIGN_3 = 1 << 13, - /** Key alignment of 16 bytes. */ - KEY_ALIGN_4 = 1 << 14, - /** Key type is nullable. */ - KEY_NULLABLE = 1 << 15, - /** Key type is managed. */ - KEY_MANAGED = 1 << 16 -} - -function test(flags: RuntimeFlags): void { +function test(flags: RTTIFlags): void { assert( - __runtime_flags(__runtime_id()) + runtime.flags(__runtime_id()) == flags ); @@ -48,34 +11,32 @@ function test(flags: RuntimeFlags): void { class Ref {} -const VALUE_ALIGN_REF = sizeof() == 4 ? RuntimeFlags.VALUE_ALIGN_2 : RuntimeFlags.VALUE_ALIGN_3; -const KEY_ALIGN_REF = sizeof() == 4 ? RuntimeFlags.KEY_ALIGN_2 : RuntimeFlags.KEY_ALIGN_3; +const VALUE_ALIGN_REF = sizeof() == 4 ? RTTIFlags.VALUE_ALIGN_2 : RTTIFlags.VALUE_ALIGN_3; +const KEY_ALIGN_REF = sizeof() == 4 ? RTTIFlags.KEY_ALIGN_2 : RTTIFlags.KEY_ALIGN_3; -test>(RuntimeFlags.ARRAY | RuntimeFlags.VALUE_ALIGN_0); -test>(RuntimeFlags.ARRAY | RuntimeFlags.VALUE_ALIGN_1); -test>(RuntimeFlags.ARRAY | RuntimeFlags.VALUE_ALIGN_2); -test>(RuntimeFlags.ARRAY | RuntimeFlags.VALUE_ALIGN_3); -test>(RuntimeFlags.ARRAY | RuntimeFlags.VALUE_ALIGN_4); -test>(RuntimeFlags.ARRAY | VALUE_ALIGN_REF | RuntimeFlags.VALUE_MANAGED); -test>(RuntimeFlags.ARRAY | VALUE_ALIGN_REF | RuntimeFlags.VALUE_NULLABLE | RuntimeFlags.VALUE_MANAGED); +test>(RTTIFlags.ARRAY | RTTIFlags.VALUE_ALIGN_0); +test>(RTTIFlags.ARRAY | RTTIFlags.VALUE_ALIGN_1); +test>(RTTIFlags.ARRAY | RTTIFlags.VALUE_ALIGN_2); +test>(RTTIFlags.ARRAY | RTTIFlags.VALUE_ALIGN_3); +test>(RTTIFlags.ARRAY | RTTIFlags.VALUE_ALIGN_4); +test>(RTTIFlags.ARRAY | VALUE_ALIGN_REF | RTTIFlags.VALUE_MANAGED); +test>(RTTIFlags.ARRAY | VALUE_ALIGN_REF | RTTIFlags.VALUE_NULLABLE | RTTIFlags.VALUE_MANAGED); -test>(RuntimeFlags.SET | RuntimeFlags.VALUE_ALIGN_0); -test>(RuntimeFlags.SET | RuntimeFlags.VALUE_ALIGN_1); -test>(RuntimeFlags.SET | RuntimeFlags.VALUE_ALIGN_2); -test>(RuntimeFlags.SET | RuntimeFlags.VALUE_ALIGN_3); -test>(RuntimeFlags.SET | RuntimeFlags.VALUE_ALIGN_4); -test>(RuntimeFlags.SET | VALUE_ALIGN_REF | RuntimeFlags.VALUE_MANAGED); -test>(RuntimeFlags.SET | VALUE_ALIGN_REF | RuntimeFlags.VALUE_NULLABLE | RuntimeFlags.VALUE_MANAGED); +test>(RTTIFlags.SET | RTTIFlags.VALUE_ALIGN_0); +test>(RTTIFlags.SET | RTTIFlags.VALUE_ALIGN_1); +test>(RTTIFlags.SET | RTTIFlags.VALUE_ALIGN_2); +test>(RTTIFlags.SET | RTTIFlags.VALUE_ALIGN_3); +test>(RTTIFlags.SET | RTTIFlags.VALUE_ALIGN_4); +test>(RTTIFlags.SET | VALUE_ALIGN_REF | RTTIFlags.VALUE_MANAGED); +test>(RTTIFlags.SET | VALUE_ALIGN_REF | RTTIFlags.VALUE_NULLABLE | RTTIFlags.VALUE_MANAGED); -test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_4 | RuntimeFlags.VALUE_ALIGN_0); -test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_3 | RuntimeFlags.VALUE_ALIGN_1); -test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_2 | RuntimeFlags.VALUE_ALIGN_2); -test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_1 | RuntimeFlags.VALUE_ALIGN_3); -test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_0 | RuntimeFlags.VALUE_ALIGN_4); -test>(RuntimeFlags.MAP | KEY_ALIGN_REF | RuntimeFlags.KEY_MANAGED | RuntimeFlags.VALUE_ALIGN_0); -test>(RuntimeFlags.MAP |KEY_ALIGN_REF | RuntimeFlags.KEY_NULLABLE | RuntimeFlags.KEY_MANAGED | RuntimeFlags.VALUE_ALIGN_0); -test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_0 | RuntimeFlags.VALUE_MANAGED | VALUE_ALIGN_REF); -test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_0 | RuntimeFlags.VALUE_NULLABLE | RuntimeFlags.VALUE_MANAGED | VALUE_ALIGN_REF); -test>(RuntimeFlags.MAP | RuntimeFlags.KEY_NULLABLE | RuntimeFlags.KEY_MANAGED | KEY_ALIGN_REF | RuntimeFlags.VALUE_NULLABLE | RuntimeFlags.VALUE_MANAGED | VALUE_ALIGN_REF); - -// TODO: WASM64 +test>(RTTIFlags.MAP | RTTIFlags.KEY_ALIGN_4 | RTTIFlags.VALUE_ALIGN_0); +test>(RTTIFlags.MAP | RTTIFlags.KEY_ALIGN_3 | RTTIFlags.VALUE_ALIGN_1); +test>(RTTIFlags.MAP | RTTIFlags.KEY_ALIGN_2 | RTTIFlags.VALUE_ALIGN_2); +test>(RTTIFlags.MAP | RTTIFlags.KEY_ALIGN_1 | RTTIFlags.VALUE_ALIGN_3); +test>(RTTIFlags.MAP | RTTIFlags.KEY_ALIGN_0 | RTTIFlags.VALUE_ALIGN_4); +test>(RTTIFlags.MAP | KEY_ALIGN_REF | RTTIFlags.KEY_MANAGED | RTTIFlags.VALUE_ALIGN_0); +test>(RTTIFlags.MAP |KEY_ALIGN_REF | RTTIFlags.KEY_NULLABLE | RTTIFlags.KEY_MANAGED | RTTIFlags.VALUE_ALIGN_0); +test>(RTTIFlags.MAP | RTTIFlags.KEY_ALIGN_0 | RTTIFlags.VALUE_MANAGED | VALUE_ALIGN_REF); +test>(RTTIFlags.MAP | RTTIFlags.KEY_ALIGN_0 | RTTIFlags.VALUE_NULLABLE | RTTIFlags.VALUE_MANAGED | VALUE_ALIGN_REF); +test>(RTTIFlags.MAP | RTTIFlags.KEY_NULLABLE | RTTIFlags.KEY_MANAGED | KEY_ALIGN_REF | RTTIFlags.VALUE_NULLABLE | RTTIFlags.VALUE_MANAGED | VALUE_ALIGN_REF); diff --git a/tests/compiler/runtime/flags.untouched.wat b/tests/compiler/runtime/flags.untouched.wat index 348e0c01..01061d0d 100644 --- a/tests/compiler/runtime/flags.untouched.wat +++ b/tests/compiler/runtime/flags.untouched.wat @@ -1,18 +1,18 @@ (module (type $FUNCSIG$vi (func (param i32))) + (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$ii (func (param i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00r\00u\00n\00t\00i\00m\00e\00/\00f\00l\00a\00g\00s\00.\00t\00s\00") - (data (i32.const 56) "\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 120) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\11\00\00\00 \00\00\00\00\00\00\00\00\00\00\00r\00u\00n\00t\00i\00m\00e\00/\00f\00l\00a\00g\00s\00.\00t\00s\00") + (data (i32.const 56) "\11\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 120) "\11\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 176) "+\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\t\00\00\00\0f\00\00\00\11\00\00\00\0f\00\00\00!\00\00\00\0f\00\00\00A\00\00\00\0f\00\00\00\81\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00!\02\00\00\0f\00\00\00!\03\00\00\0f\00\00\00\n\00\00\00\00\00\00\00\12\00\00\00\00\00\00\00\"\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\82\00\00\00\00\00\00\00\"\02\00\00\00\00\00\00\"\03\00\00\00\00\00\00\0c@\00\00\00\00\00\00\14 \00\00\00\00\00\00$\10\00\00\00\00\00\00D\08\00\00\00\00\00\00\84\04\00\00\00\00\00\00\0c\10\01\00\00\00\00\00\0c\90\01\00\00\00\00\00$\06\00\00\00\00\00\00$\07\00\00\00\00\00\00$\93\01\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $runtime/flags/VALUE_ALIGN_REF i32 (i32.const 32)) @@ -43,384 +43,409 @@ (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 176)) - (global $~lib/argc (mut i32) (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 176)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 528)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) (export "$.flags" (func $~lib/runtime/runtime.flags)) (export "$.newObject" (func $~lib/runtime/runtime.newObject)) (export "$.newString" (func $~lib/runtime/runtime.newString)) (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export "$.setArgc" (func $~lib/setargc)) - (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) (export "$.retain" (func $~lib/runtime/runtime.retain)) (export "$.release" (func $~lib/runtime/runtime.release)) (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) - (func $runtime/flags/test<~lib/array/Array> (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 1 - call $~lib/runtime/__runtime_flags + (func $~lib/runtime/runtime.flags (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 local.get $0 - i32.eq i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load end ) - (func $runtime/flags/test<~lib/array/Array> (; 2 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 3 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/array/Array> (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 4 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/array/Array> (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 5 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/array/Array> (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 6 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/array/Array> (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 7 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/array/Array> (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 8 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/set/Set> (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 9 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/set/Set> (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 10 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/set/Set> (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 11 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/set/Set> (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 12 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/set/Set> (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 13 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/set/Set> (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 14 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/set/Set> (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 15 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/map/Map> (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 16 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/map/Map> (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 17 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/map/Map> (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $runtime/flags/test<~lib/array/Array> (; 2 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 18 - call $~lib/runtime/__runtime_flags + call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 - i32.const 42 + i32.const 5 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $runtime/flags/test<~lib/map/Map> (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $runtime/flags/test<~lib/array/Array> (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 19 - call $~lib/runtime/__runtime_flags + call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 - i32.const 42 + i32.const 5 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $runtime/flags/test<~lib/map/Map> (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $runtime/flags/test<~lib/array/Array> (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 20 - call $~lib/runtime/__runtime_flags + call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 - i32.const 42 + i32.const 5 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $runtime/flags/test<~lib/map/Map> (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $runtime/flags/test<~lib/array/Array> (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 21 - call $~lib/runtime/__runtime_flags + call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 - i32.const 42 + i32.const 5 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $runtime/flags/test<~lib/map/Map> (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $runtime/flags/test<~lib/array/Array> (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 22 - call $~lib/runtime/__runtime_flags + call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 - i32.const 42 + i32.const 5 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $runtime/flags/test<~lib/map/Map> (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 23 - call $~lib/runtime/__runtime_flags - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 42 - i32.const 2 - call $~lib/env/abort - unreachable - end - ) - (func $runtime/flags/test<~lib/map/Map> (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $runtime/flags/test<~lib/array/Array> (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 24 - call $~lib/runtime/__runtime_flags + call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 - i32.const 42 + i32.const 5 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $runtime/flags/test<~lib/map/Map> (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $runtime/flags/test<~lib/array/Array> (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 25 - call $~lib/runtime/__runtime_flags + call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 - i32.const 42 + i32.const 5 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start:runtime/flags (; 25 ;) (type $FUNCSIG$v) + (func $runtime/flags/test<~lib/set/Set> (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 26 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 27 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 28 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 29 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 30 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 31 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 32 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 33 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 34 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 35 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 36 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 37 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 38 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 39 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 40 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 41 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 42 + call $~lib/runtime/runtime.flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 5 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + ) + (func $start:runtime/flags (; 26 ;) (type $FUNCSIG$v) i32.const 1 i32.const 8 i32.or @@ -570,22 +595,45 @@ i32.or call $runtime/flags/test<~lib/map/Map> ) - (func $~lib/runtime/runtime.instanceof (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/runtime.instanceof (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 if (result i32) - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub + local.get $2 + local.get $3 i32.load - local.get $1 - call $~lib/runtime/__runtime_instanceof + i32.le_u else - i32.const 0 + local.get $2 end - ) - (func $~lib/runtime/runtime.flags (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/runtime/__runtime_flags + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 ) (func $~lib/util/runtime/adjust (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -614,7 +662,7 @@ i32.const 72 i32.const 159 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -635,7 +683,7 @@ i32.const 72 i32.const 184 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -647,7 +695,7 @@ i32.const 72 i32.const 185 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -680,7 +728,7 @@ i32.const 72 i32.const 104 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -700,7 +748,7 @@ i32.const 72 i32.const 105 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $1 @@ -716,7 +764,7 @@ i32.const 72 i32.const 447 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 31 @@ -734,7 +782,7 @@ i32.const 72 i32.const 175 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -746,7 +794,7 @@ i32.const 72 i32.const 176 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -770,7 +818,7 @@ i32.const 72 i32.const 153 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -800,7 +848,7 @@ i32.const 72 i32.const 277 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -826,7 +874,7 @@ i32.const 72 i32.const 279 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -937,7 +985,7 @@ i32.const 72 i32.const 96 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -951,7 +999,7 @@ i32.const 72 i32.const 97 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $1 @@ -968,7 +1016,7 @@ i32.const 72 i32.const 353 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -981,7 +1029,7 @@ i32.const 72 i32.const 354 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -994,7 +1042,7 @@ i32.const 72 i32.const 355 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1020,7 +1068,7 @@ i32.const 72 i32.const 208 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1035,7 +1083,7 @@ i32.const 72 i32.const 210 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1061,7 +1109,7 @@ i32.const 72 i32.const 212 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1073,7 +1121,7 @@ i32.const 72 i32.const 216 i32.const 23 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $4 @@ -1121,7 +1169,7 @@ i32.const 72 i32.const 230 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $4 @@ -1139,7 +1187,7 @@ i32.const 72 i32.const 232 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1194,7 +1242,7 @@ i32.const 72 i32.const 245 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1285,7 +1333,7 @@ i32.const 72 i32.const 396 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1298,7 +1346,7 @@ i32.const 72 i32.const 397 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1311,7 +1359,7 @@ i32.const 72 i32.const 398 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1332,7 +1380,7 @@ i32.const 72 i32.const 403 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1361,7 +1409,7 @@ i32.const 72 i32.const 412 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1432,7 +1480,7 @@ i32.const 72 i32.const 441 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1448,7 +1496,7 @@ i32.const 72 i32.const 441 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1478,7 +1526,7 @@ i32.const 72 i32.const 315 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1574,7 +1622,7 @@ i32.const 72 i32.const 342 i32.const 16 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.set $5 @@ -1611,7 +1659,7 @@ i32.const 72 i32.const 367 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1631,7 +1679,7 @@ i32.const 72 i32.const 368 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1644,7 +1692,7 @@ i32.const 72 i32.const 369 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1704,7 +1752,7 @@ i32.const 72 i32.const 387 i32.const 25 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $4 @@ -1930,7 +1978,7 @@ i32.const 72 i32.const 502 i32.const 12 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $6 @@ -1951,7 +1999,7 @@ i32.const 72 i32.const 505 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2095,9 +2143,9 @@ if i32.const 0 i32.const 136 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2112,9 +2160,9 @@ if i32.const 0 i32.const 136 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2134,21 +2182,27 @@ local.get $0 i32.const 1 i32.shl - i32.const 2 + i32.const 17 call $~lib/runtime/runtime.newObject ) (func $~lib/runtime/runtime.newArrayBuffer (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 26 + i32.const 16 call $~lib/runtime/runtime.newObject ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/collector/itcm/ManagedObject#get:color (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 i32.and ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:next (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 @@ -2156,7 +2210,7 @@ i32.xor i32.and ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 61 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#unlink (; 62 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2172,7 +2226,7 @@ local.get $1 call $~lib/collector/itcm/ManagedObject#set:next ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 62 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 63 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/collector/itcm/iter i32.eq @@ -2197,7 +2251,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/__ref_link (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/__ref_link (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) call $~lib/collector/itcm/maybeInit @@ -2234,271 +2288,105 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/memory/memory.copy (; 64 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/runtime/runtime.newArray (; 65 ;) (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/util/memory/memmove|inlined.0 - local.get $0 - local.get $1 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - 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 - block $break|0 - loop $continue|0 - local.get $0 - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - end - br $continue|0 - end - end - end - block $break|1 - loop $continue|1 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $0 - local.get $1 - i64.load - i64.store - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - br $continue|1 - end - end - end - end - block $break|2 - loop $continue|2 - local.get $2 - if - block - block (result i32) - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - end - block (result i32) - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - end - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - end - br $continue|2 - end - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - block $break|3 - loop $continue|3 - local.get $0 - local.get $2 - i32.add - i32.const 7 - i32.and - if - block - local.get $2 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - end - br $continue|3 - end - end - end - block $break|4 - loop $continue|4 - local.get $2 - i32.const 8 - i32.ge_u - if - block - local.get $2 - i32.const 8 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load - i64.store - end - br $continue|4 - end - end - end - end - block $break|5 - loop $continue|5 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u - i32.store8 - br $continue|5 - end - end - end - end - end - ) - (func $~lib/runtime/runtime.newArray (; 65 ;) (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) (local $8 i32) - (local $9 i32) - i32.const 16 - call $~lib/util/runtime/allocate - local.get $2 - call $~lib/util/runtime/register - local.set $4 local.get $0 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 local.get $1 - i32.shl + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject local.set $5 local.get $5 - call $~lib/util/runtime/allocate - i32.const 26 - call $~lib/util/runtime/register - local.set $6 - local.get $4 + local.tee $6 + local.get $1 local.tee $7 local.get $6 - local.tee $8 - local.get $7 i32.load - local.tee $9 + local.tee $8 i32.ne if (result i32) nop - local.get $8 local.get $7 + local.get $6 call $~lib/collector/itcm/__ref_link - local.get $8 + local.get $7 else - local.get $8 + local.get $7 end i32.store - local.get $4 - local.get $6 - i32.store offset=4 - local.get $4 local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 i32.store offset=8 + local.get $5 local.get $4 - local.get $0 - i32.store offset=12 local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and if + local.get $1 + local.set $6 local.get $6 - local.get $3 - local.get $5 - call $~lib/memory/memory.copy + local.get $4 + i32.add + local.set $8 + block $break|0 + loop $continue|0 + local.get $6 + local.get $8 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $7 + local.get $7 + if + local.get $7 + local.get $5 + call $~lib/collector/itcm/__ref_link + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end end - local.get $4 + local.get $5 ) (func $~lib/runtime/Root#constructor (; 66 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -2506,7 +2394,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 27 + i32.const 43 call $~lib/util/runtime/register local.set $0 end @@ -2547,7 +2435,7 @@ i32.const 72 i32.const 518 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2806,7 +2694,7 @@ local.set $3 local.get $3 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $3 call $~lib/runtime/__gc_mark_members local.get $1 @@ -2848,7 +2736,7 @@ if local.get $3 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $3 call $~lib/runtime/__gc_mark_members end @@ -2962,7 +2850,7 @@ local.set $5 local.get $5 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end @@ -3025,7 +2913,7 @@ if local.get $5 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end @@ -3142,7 +3030,7 @@ local.set $5 local.get $5 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end @@ -3205,7 +3093,7 @@ if local.get $5 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end @@ -3267,7 +3155,7 @@ local.set $5 local.get $5 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end @@ -3330,7 +3218,7 @@ if local.get $5 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end @@ -3394,7 +3282,7 @@ if local.get $5 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end @@ -3405,7 +3293,7 @@ if local.get $5 call $~lib/collector/itcm/__ref_mark - i32.const 28 + i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end @@ -3425,500 +3313,198 @@ (func $~lib/runtime/__gc_mark_members (; 102 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $invalid - block $runtime/flags/Ref - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array + block $~lib/runtime/Root + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/array/Array + block $~lib/array/Array + block $runtime/flags/Ref + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array block $~lib/string/String - block $~lib/array/Array - local.get $0 - br_table $invalid $~lib/array/Array $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $invalid - end - local.get $1 - call $~lib/array/Array#__traverse - return - end - return - end - local.get $1 - call $~lib/array/Array#__traverse - return - end - local.get $1 - call $~lib/array/Array#__traverse - return - end - local.get $1 - call $~lib/array/Array#__traverse - return - end - local.get $1 - call $~lib/array/Array#__traverse - return - end - local.get $1 - call $~lib/array/Array#__traverse - return - end - local.get $1 - call $~lib/array/Array#__traverse - return - end - local.get $1 - call $~lib/set/Set#__traverse - return - end - local.get $1 - call $~lib/set/Set#__traverse - return - end - local.get $1 - call $~lib/set/Set#__traverse - return - end - local.get $1 - call $~lib/set/Set#__traverse - return - end - local.get $1 - call $~lib/set/Set#__traverse - return - end - local.get $1 - call $~lib/set/Set#__traverse - return - end - local.get $1 - call $~lib/set/Set#__traverse - return - end - local.get $1 - call $~lib/map/Map#__traverse - return - end - local.get $1 - call $~lib/map/Map#__traverse - return - end - local.get $1 - call $~lib/map/Map#__traverse - return - end - local.get $1 - call $~lib/map/Map#__traverse - return - end - local.get $1 - call $~lib/map/Map#__traverse - return - end - local.get $1 - call $~lib/map/Map#__traverse - return - end - local.get $1 - call $~lib/map/Map#__traverse - return - end - local.get $1 - call $~lib/map/Map#__traverse - return - end - local.get $1 - call $~lib/map/Map#__traverse - return - end - local.get $1 - call $~lib/map/Map#__traverse - return - end - return - end - return - end - return - end - unreachable - ) - (func $~lib/runtime/__runtime_instanceof (; 103 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $~lib/arraybuffer/ArrayBufferView - block $runtime/flags/Ref - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/string/String - block $~lib/array/Array - local.get $0 - br_table $nope $~lib/array/Array $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $~lib/arraybuffer/ArrayBufferView $nope + block $~lib/arraybuffer/ArrayBuffer + block $~lib/arraybuffer/ArrayBufferView + block $~lib/vector/V128 + block $~lib/number/F64 + block $~lib/number/F32 + block $~lib/number/Bool + block $~lib/number/Usize + block $~lib/number/U64 + block $~lib/number/U32 + block $~lib/number/U16 + block $~lib/number/U8 + block $~lib/number/Isize + block $~lib/number/I64 + block $~lib/number/I32 + block $~lib/number/I16 + block $~lib/number/I8 + local.get $0 + br_table $invalid $~lib/number/I8 $~lib/number/I16 $~lib/number/I32 $~lib/number/I64 $~lib/number/Isize $~lib/number/U8 $~lib/number/U16 $~lib/number/U32 $~lib/number/U64 $~lib/number/Usize $~lib/number/Bool $~lib/number/F32 $~lib/number/F64 $~lib/vector/V128 $~lib/arraybuffer/ArrayBufferView $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $runtime/flags/Ref $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/runtime/Root $invalid + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return end local.get $1 - i32.const 1 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or + i32.load + local.tee $2 + if + local.get $2 + call $~lib/collector/itcm/__ref_mark + i32.const 16 + local.get $2 + call $~lib/runtime/__gc_mark_members + end return end - local.get $1 - i32.const 2 - i32.eq return end - local.get $1 - i32.const 3 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or return end local.get $1 - i32.const 4 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or + call $~lib/array/Array#__traverse return end local.get $1 - i32.const 5 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or + call $~lib/array/Array#__traverse return end local.get $1 - i32.const 6 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or + call $~lib/array/Array#__traverse return end local.get $1 - i32.const 7 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or + call $~lib/array/Array#__traverse return end local.get $1 - i32.const 8 - i32.eq - local.get $1 - i32.const 29 - i32.eq - i32.or + call $~lib/array/Array#__traverse return end - local.get $1 - i32.const 9 - i32.eq return end local.get $1 - i32.const 10 - i32.eq + call $~lib/array/Array#__traverse return end local.get $1 - i32.const 11 - i32.eq + call $~lib/array/Array#__traverse return end local.get $1 - i32.const 12 - i32.eq + call $~lib/set/Set#__traverse return end local.get $1 - i32.const 13 - i32.eq + call $~lib/set/Set#__traverse return end local.get $1 - i32.const 14 - i32.eq + call $~lib/set/Set#__traverse return end local.get $1 - i32.const 15 - i32.eq + call $~lib/set/Set#__traverse return end local.get $1 - i32.const 16 - i32.eq + call $~lib/set/Set#__traverse return end local.get $1 - i32.const 17 - i32.eq + call $~lib/set/Set#__traverse return end local.get $1 - i32.const 18 - i32.eq + call $~lib/set/Set#__traverse return end local.get $1 - i32.const 19 - i32.eq + call $~lib/map/Map#__traverse return end local.get $1 - i32.const 20 - i32.eq + call $~lib/map/Map#__traverse return end local.get $1 - i32.const 21 - i32.eq + call $~lib/map/Map#__traverse return end local.get $1 - i32.const 22 - i32.eq + call $~lib/map/Map#__traverse return end local.get $1 - i32.const 23 - i32.eq + call $~lib/map/Map#__traverse return end local.get $1 - i32.const 24 - i32.eq + call $~lib/map/Map#__traverse return end local.get $1 - i32.const 25 - i32.eq + call $~lib/map/Map#__traverse return end local.get $1 - i32.const 26 - i32.eq + call $~lib/map/Map#__traverse return end local.get $1 - i32.const 27 - i32.eq + call $~lib/map/Map#__traverse return end local.get $1 - i32.const 28 - i32.eq + call $~lib/map/Map#__traverse return end - local.get $1 - i32.const 29 - i32.eq - return - end - i32.const 0 - return - ) - (func $~lib/runtime/__runtime_flags (; 104 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $runtime/flags/Ref - block $~lib/runtime/Root - block $~lib/arraybuffer/ArrayBuffer - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/set/Set - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/string/String - block $~lib/array/Array - local.get $0 - br_table $invalid $~lib/array/Array $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $~lib/arraybuffer/ArrayBufferView $invalid - end - i32.const 9 - return - end - i32.const 0 - return - end - i32.const 17 - return - end - i32.const 33 - return - end - i32.const 65 - return - end - i32.const 129 - return - end - i32.const 545 - return - end - i32.const 801 - return - end - i32.const 10 - return - end - i32.const 18 - return - end - i32.const 34 - return - end - i32.const 66 - return - end - i32.const 130 - return - end - i32.const 546 - return - end - i32.const 802 - return - end - i32.const 16396 - return - end - i32.const 8212 - return - end - i32.const 4132 - return - end - i32.const 2116 - return - end - i32.const 1156 - return - end - i32.const 69644 - return - end - i32.const 102412 - return - end - i32.const 1572 - return - end - i32.const 1828 - return - end - i32.const 103204 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 - return - end - i32.const 0 return end unreachable ) - (func $null (; 105 ;) (type $FUNCSIG$v) - ) - (func $~lib/runtime/runtime.newArray|trampoline (; 106 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~lib/argc - i32.const 3 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/runtime/runtime.newArray - ) - (func $~lib/setargc (; 107 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - global.set $~lib/argc + (func $null (; 103 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/runtime/instanceof.optimized.wat b/tests/compiler/runtime/instanceof.optimized.wat index acaa34bd..04530e36 100644 --- a/tests/compiler/runtime/instanceof.optimized.wat +++ b/tests/compiler/runtime/instanceof.optimized.wat @@ -1,24 +1,38 @@ (module - (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$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00*") - (data (i32.const 24) "r\00u\00n\00t\00i\00m\00e\00/\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") - (data (i32.const 72) "\02\00\00\00(") - (data (i32.const 88) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 128) "\02\00\00\00\16") - (data (i32.const 144) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00(") + (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 64) "\10\00\00\00\16") + (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") + (data (i32.const 104) "\10\00\00\00*") + (data (i32.const 120) "r\00u\00n\00t\00i\00m\00e\00/\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") + (data (i32.const 168) "\10\00\00\00\0e") + (data (i32.const 184) "g\00c\00.\00l\00i\00n\00k") + (data (i32.const 200) "\10\00\00\00\12") + (data (i32.const 216) "g\00c\00.\00u\00n\00l\00i\00n\00k") + (data (i32.const 240) "\10\00\00\00\14") + (data (i32.const 256) "g\00c\00.\00c\00o\00l\00l\00e\00c\00t") + (data (i32.const 280) "\15") + (data (i32.const 428) "\11\00\00\00\00\00\00\00\12\00\00\00!\00\00\00\0e") + (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_ref (mut i32) (i32.const 0)) + (global $gc/_dummy/link_count (mut i32) (i32.const 0)) + (global $gc/_dummy/link_ref (mut i32) (i32.const 0)) + (global $gc/_dummy/link_parentRef (mut i32) (i32.const 0)) + (global $gc/_dummy/unlink_count (mut i32) (i32.const 0)) + (global $gc/_dummy/unlink_ref (mut i32) (i32.const 0)) + (global $gc/_dummy/unlink_parentRef (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $runtime/instanceof/animal (mut i32) (i32.const 0)) @@ -31,10 +45,19 @@ (global $runtime/instanceof/nullCat (mut i32) (i32.const 0)) (global $runtime/instanceof/nullBlackcat (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $runtime/instanceof/main)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -98,28 +121,35 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/util/runtime/allocate (; 3 ;) (type $FUNCSIG$i) (result i32) - (local $0 i32) - i32.const 16 + (func $~lib/util/runtime/allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + i32.const 1 + i32.const 32 + local.get $0 + i32.const 15 + i32.add + i32.clz + i32.sub + i32.shl call $~lib/allocator/arena/__mem_allocate - local.tee $0 + local.tee $1 i32.const -1520547049 i32.store + local.get $1 local.get $0 - i32.const 0 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.store offset=8 - local.get $0 + local.get $1 i32.const 0 i32.store offset=12 - local.get $0 + local.get $1 i32.const 16 i32.add ) (func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 144 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -127,7 +157,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/register_count i32.const 1 i32.add @@ -138,14 +168,14 @@ (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 168 + i32.const 456 i32.le_u if i32.const 0 - i32.const 88 - i32.const 128 + i32.const 24 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -157,10 +187,10 @@ i32.ne if i32.const 0 - i32.const 88 - i32.const 130 + i32.const 24 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -175,8 +205,9 @@ if (result i32) local.get $0 else + i32.const 0 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register end ) @@ -185,114 +216,58 @@ if (result i32) local.get $0 else + i32.const 0 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register end call $runtime/instanceof/Animal#constructor ) (func $runtime/instanceof/BlackCat#constructor (; 8 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 19 call $~lib/util/runtime/register call $runtime/instanceof/Cat#constructor ) - (func $start:runtime/instanceof (; 9 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 280 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 280 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $start:runtime/instanceof (; 10 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 1 - i32.const 1 - call $~lib/runtime/__runtime_instanceof - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 8 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 3 - i32.const 1 - call $~lib/runtime/__runtime_instanceof - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 15 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 4 - i32.const 1 - call $~lib/runtime/__runtime_instanceof - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 22 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 3 - i32.const 3 - call $~lib/runtime/__runtime_instanceof - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 29 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 4 - i32.const 3 - call $~lib/runtime/__runtime_instanceof - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 36 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1 - i32.const 3 - call $~lib/runtime/__runtime_instanceof - if - i32.const 0 - i32.const 24 - i32.const 43 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1 - i32.const 4 - call $~lib/runtime/__runtime_instanceof - if - i32.const 0 - i32.const 24 - i32.const 50 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 3 - i32.const 4 - call $~lib/runtime/__runtime_instanceof - if - i32.const 0 - i32.const 24 - i32.const 57 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 168 + i32.const 456 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -308,123 +283,105 @@ local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 69 + i32.const 120 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/animal local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 70 + i32.const 120 + i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/cat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof else i32.const 0 end i32.eqz if i32.const 0 - i32.const 24 - i32.const 73 + i32.const 120 + i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/cat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 74 + i32.const 120 + i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/blackcat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof else i32.const 0 end i32.eqz if i32.const 0 - i32.const 24 - i32.const 77 + i32.const 120 + i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/blackcat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof else i32.const 0 end i32.eqz if i32.const 0 - i32.const 24 - i32.const 78 + i32.const 120 + i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -439,358 +396,502 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 84 + i32.const 120 + i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableAnimal local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 85 + i32.const 120 + i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableAnimal local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 86 + i32.const 120 + i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableCat i32.eqz if i32.const 0 - i32.const 24 - i32.const 88 + i32.const 120 + i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableCat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof else i32.const 0 end i32.eqz if i32.const 0 - i32.const 24 - i32.const 89 + i32.const 120 + i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableCat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 90 + i32.const 120 + i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableBlackcat i32.eqz if i32.const 0 - i32.const 24 - i32.const 92 + i32.const 120 + i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableBlackcat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof else i32.const 0 end i32.eqz if i32.const 0 - i32.const 24 - i32.const 93 + i32.const 120 + i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableBlackcat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof else i32.const 0 end i32.eqz if i32.const 0 - i32.const 24 - i32.const 94 + i32.const 120 + i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullAnimal if i32.const 0 - i32.const 24 - i32.const 100 + i32.const 120 + i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullAnimal local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 101 + i32.const 120 + i32.const 45 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullAnimal local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 102 + i32.const 120 + i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullCat if i32.const 0 - i32.const 24 - i32.const 104 + i32.const 120 + i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullCat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 105 + i32.const 120 + i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullCat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 106 + i32.const 120 + i32.const 50 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullBlackcat if i32.const 0 - i32.const 24 - i32.const 108 + i32.const 120 + i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullBlackcat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 109 + i32.const 120 + i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullBlackcat local.tee $0 if (result i32) local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof else i32.const 0 end if i32.const 0 - i32.const 24 - i32.const 110 + i32.const 120 + i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $runtime/instanceof/main (; 10 ;) (type $FUNCSIG$v) + (func $runtime/instanceof/main (; 11 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if call $start:runtime/instanceof + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 21 + call $~lib/util/runtime/register + global.set $~lib/runtime/ROOT i32.const 1 global.set $~lib/started end ) - (func $~lib/runtime/__runtime_instanceof (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $runtime/instanceof/BlackCat - block $runtime/instanceof/Cat - block $~lib/string/String - block $runtime/instanceof/Animal - local.get $0 - i32.const 1 - i32.sub - br_table $runtime/instanceof/Animal $~lib/string/String $runtime/instanceof/Cat $runtime/instanceof/BlackCat $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - local.get $1 - i32.const 1 - i32.eq - i32.or - return + (func $~lib/runtime/runtime.flags (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 280 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 280 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $gc/_dummy/__ref_link (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 184 + i32.const 2 + local.get $0 + f64.convert_i32_u + local.get $1 + f64.convert_i32_u + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $gc/_dummy/link_count + i32.const 1 + i32.add + global.set $gc/_dummy/link_count + local.get $0 + global.set $gc/_dummy/link_ref + local.get $0 + global.set $gc/_dummy/link_parentRef + ) + (func $gc/_dummy/__ref_unlink (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 216 + i32.const 2 + local.get $0 + f64.convert_i32_u + local.get $1 + f64.convert_i32_u + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $gc/_dummy/unlink_count + i32.const 1 + i32.add + global.set $gc/_dummy/unlink_count + local.get $0 + global.set $gc/_dummy/unlink_ref + local.get $1 + global.set $gc/_dummy/unlink_parentRef + ) + (func $~lib/runtime/runtime.newArray (; 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) + local.get $0 + local.tee $3 + i32.eqz + local.tee $0 + if (result i32) + local.get $0 + else + local.get $3 + i32.const 280 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $3 + i32.const 3 + i32.shl + i32.const 280 + i32.add + i32.load + end + local.tee $0 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $6 + local.get $1 + if (result i32) + local.get $1 + i32.const 16 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $4 + local.get $3 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $2 + local.set $5 + local.get $2 + i32.load + local.tee $3 + local.get $1 + i32.ne + if + local.get $3 + if + local.get $3 + local.get $5 + call $gc/_dummy/__ref_unlink end local.get $1 - i32.const 4 - i32.eq - local.get $1 - i32.const 3 - i32.eq - i32.or - local.get $1 - i32.const 1 - i32.eq - i32.or - return + local.get $5 + call $gc/_dummy/__ref_link end - i32.const 0 + local.get $2 + local.get $1 + i32.store + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 + local.get $6 + i32.shr_u + i32.store offset=12 + local.get $0 + i32.const 512 + i32.and + if + local.get $1 + local.get $4 + i32.add + local.set $4 + loop $continue|0 + local.get $1 + local.get $4 + i32.lt_u + if + local.get $1 + i32.load + local.tee $0 + if + local.get $0 + local.get $2 + call $gc/_dummy/__ref_link + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $2 ) - (func $null (; 12 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.retain (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $gc/_dummy/__ref_link + ) + (func $~lib/runtime/runtime.release (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $gc/_dummy/__ref_unlink + ) + (func $~lib/runtime/runtime.collect (; 21 ;) (type $FUNCSIG$v) + i32.const 256 + i32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $gc/_dummy/collect_count + i32.const 1 + i32.add + global.set $gc/_dummy/collect_count + ) + (func $null (; 22 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/runtime/instanceof.ts b/tests/compiler/runtime/instanceof.ts index bb367bc4..9c662141 100644 --- a/tests/compiler/runtime/instanceof.ts +++ b/tests/compiler/runtime/instanceof.ts @@ -1,66 +1,10 @@ -import { __runtime_id, __runtime_instanceof } from "runtime"; +import { __runtime_id } from "runtime"; import "../gc/_dummy"; class Animal {} class Cat extends Animal {} class BlackCat extends Cat {} -assert( // Animal is an Animal - __runtime_instanceof( - __runtime_id(), - __runtime_id() - ) -); - -assert( // Cat is an Animal - __runtime_instanceof( - __runtime_id(), - __runtime_id() - ) -); - -assert( // BlackCat is an Animal - __runtime_instanceof( - __runtime_id(), - __runtime_id() - ) -); - -assert( // Cat is a Cat - __runtime_instanceof( - __runtime_id(), - __runtime_id() - ) -); - -assert( // BlackCat is a Cat - __runtime_instanceof( - __runtime_id(), - __runtime_id() - ) -); - -assert(! // Animal isn't necessarily a Cat - __runtime_instanceof( - __runtime_id(), - __runtime_id() - ) -); - -assert(! // Animal isn't necessarily a BlackCat - __runtime_instanceof( - __runtime_id(), - __runtime_id() - ) -); - -assert(! // Cat isn't necessarily a BlackCat - __runtime_instanceof( - __runtime_id(), - __runtime_id() - ) -); - var animal: Animal = new Animal(); var cat: Animal = new Cat(); var blackcat: Animal = new BlackCat(); diff --git a/tests/compiler/runtime/instanceof.untouched.wat b/tests/compiler/runtime/instanceof.untouched.wat index 66eb33f4..9d88ccdb 100644 --- a/tests/compiler/runtime/instanceof.untouched.wat +++ b/tests/compiler/runtime/instanceof.untouched.wat @@ -1,16 +1,21 @@ (module - (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$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (type $FUNCSIG$vii (func (param i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00*\00\00\00\00\00\00\00\00\00\00\00r\00u\00n\00t\00i\00m\00e\00/\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00") - (data (i32.const 72) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 128) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\10\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\10\00\00\00*\00\00\00\00\00\00\00\00\00\00\00r\00u\00n\00t\00i\00m\00e\00/\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00") + (data (i32.const 168) "\10\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00l\00i\00n\00k\00") + (data (i32.const 200) "\10\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00u\00n\00l\00i\00n\00k\00") + (data (i32.const 240) "\10\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00c\00o\00l\00l\00e\00c\00t\00") + (data (i32.const 280) "\15\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\00\00\00\00\12\00\00\00!\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -39,11 +44,21 @@ (global $runtime/instanceof/nullCat (mut i32) (i32.const 0)) (global $runtime/instanceof/nullBlackcat (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 168)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 280)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 456)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $runtime/instanceof/main)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -164,7 +179,7 @@ i32.add ) (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 144 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -172,7 +187,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace global.get $gc/_dummy/register_count i32.const 1 i32.add @@ -188,10 +203,10 @@ i32.eqz if i32.const 0 - i32.const 88 - i32.const 128 + i32.const 24 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -205,10 +220,10 @@ i32.eqz if i32.const 0 - i32.const 88 - i32.const 130 + i32.const 24 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -224,7 +239,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -236,7 +251,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -251,7 +266,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 19 call $~lib/util/runtime/register local.set $0 end @@ -260,107 +275,48 @@ local.set $0 local.get $0 ) - (func $start:runtime/instanceof (; 11 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $start:runtime/instanceof (; 12 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 1 - i32.const 1 - call $~lib/runtime/__runtime_instanceof - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 8 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 3 - i32.const 1 - call $~lib/runtime/__runtime_instanceof - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 15 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 4 - i32.const 1 - call $~lib/runtime/__runtime_instanceof - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 22 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 3 - i32.const 3 - call $~lib/runtime/__runtime_instanceof - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 29 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 4 - i32.const 3 - call $~lib/runtime/__runtime_instanceof - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 36 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1 - i32.const 3 - call $~lib/runtime/__runtime_instanceof - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 43 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 1 - i32.const 4 - call $~lib/runtime/__runtime_instanceof - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 50 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 3 - i32.const 4 - call $~lib/runtime/__runtime_instanceof - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 57 - i32.const 0 - call $~lib/env/abort - unreachable - end global.get $~lib/memory/HEAP_BASE i32.const 7 i32.add @@ -388,10 +344,10 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 68 + i32.const 120 + i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/animal @@ -401,20 +357,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 69 + i32.const 120 + i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/animal @@ -424,20 +377,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 70 + i32.const 120 + i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -448,10 +398,10 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 72 + i32.const 120 + i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/cat @@ -461,19 +411,16 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof end i32.eqz if i32.const 0 - i32.const 24 - i32.const 73 + i32.const 120 + i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/cat @@ -483,20 +430,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 74 + i32.const 120 + i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -507,10 +451,10 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 76 + i32.const 120 + i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/blackcat @@ -520,19 +464,16 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof end i32.eqz if i32.const 0 - i32.const 24 - i32.const 77 + i32.const 120 + i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/blackcat @@ -542,19 +483,16 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof end i32.eqz if i32.const 0 - i32.const 24 - i32.const 78 + i32.const 120 + i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -572,10 +510,10 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 84 + i32.const 120 + i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableAnimal @@ -585,20 +523,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 85 + i32.const 120 + i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableAnimal @@ -608,20 +543,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 86 + i32.const 120 + i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableCat @@ -630,10 +562,10 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 88 + i32.const 120 + i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableCat @@ -643,19 +575,16 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof end i32.eqz if i32.const 0 - i32.const 24 - i32.const 89 + i32.const 120 + i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableCat @@ -665,20 +594,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 90 + i32.const 120 + i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableBlackcat @@ -687,10 +613,10 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 92 + i32.const 120 + i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableBlackcat @@ -700,19 +626,16 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof end i32.eqz if i32.const 0 - i32.const 24 - i32.const 93 + i32.const 120 + i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullableBlackcat @@ -722,19 +645,16 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof end i32.eqz if i32.const 0 - i32.const 24 - i32.const 94 + i32.const 120 + i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullAnimal @@ -744,10 +664,10 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 100 + i32.const 120 + i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullAnimal @@ -757,20 +677,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 101 + i32.const 120 + i32.const 45 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullAnimal @@ -780,20 +697,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 102 + i32.const 120 + i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullCat @@ -803,10 +717,10 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 104 + i32.const 120 + i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullCat @@ -816,20 +730,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 105 + i32.const 120 + i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullCat @@ -839,20 +750,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 106 + i32.const 120 + i32.const 50 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullBlackcat @@ -862,10 +770,10 @@ i32.eqz if i32.const 0 - i32.const 24 - i32.const 108 + i32.const 120 + i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullBlackcat @@ -875,20 +783,17 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 3 - call $~lib/runtime/__runtime_instanceof + i32.const 18 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 109 + i32.const 120 + i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $runtime/instanceof/nullBlackcat @@ -898,24 +803,21 @@ i32.const 0 else local.get $0 - i32.const 16 - i32.sub - i32.load - i32.const 4 - call $~lib/runtime/__runtime_instanceof + i32.const 19 + call $~lib/runtime/runtime.instanceof end i32.eqz i32.eqz if i32.const 0 - i32.const 24 - i32.const 110 + i32.const 120 + i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $runtime/instanceof/main (; 12 ;) (type $FUNCSIG$v) + (func $runtime/instanceof/main (; 13 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -924,53 +826,250 @@ global.set $~lib/started end ) - (func $start (; 13 ;) (type $FUNCSIG$v) - call $start:runtime/instanceof - ) - (func $~lib/runtime/__runtime_instanceof (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - block $nope - block $runtime/instanceof/BlackCat - block $runtime/instanceof/Cat - block $~lib/string/String - block $runtime/instanceof/Animal - local.get $0 - br_table $nope $runtime/instanceof/Animal $~lib/string/String $runtime/instanceof/Cat $runtime/instanceof/BlackCat $nope - end - local.get $1 - i32.const 1 - i32.eq - return - end - local.get $1 - i32.const 2 - i32.eq - return - end - local.get $1 - i32.const 3 - i32.eq - local.get $1 - i32.const 1 - i32.eq - i32.or - return - end + (func $~lib/runtime/runtime.flags (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 local.get $1 - i32.const 4 - i32.eq - local.get $1 - i32.const 3 - i32.eq - i32.or - local.get $1 - i32.const 1 - i32.eq - i32.or - return + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load end - i32.const 0 - return ) - (func $null (; 15 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.newObject (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $gc/_dummy/__ref_link (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 184 + i32.const 2 + local.get $0 + f64.convert_i32_u + local.get $1 + f64.convert_i32_u + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $gc/_dummy/link_count + i32.const 1 + i32.add + global.set $gc/_dummy/link_count + local.get $0 + global.set $gc/_dummy/link_ref + local.get $0 + global.set $gc/_dummy/link_parentRef + ) + (func $gc/_dummy/__ref_unlink (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 216 + i32.const 2 + local.get $0 + f64.convert_i32_u + local.get $1 + f64.convert_i32_u + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $gc/_dummy/unlink_count + i32.const 1 + i32.add + global.set $gc/_dummy/unlink_count + local.get $0 + global.set $gc/_dummy/unlink_ref + local.get $1 + global.set $gc/_dummy/unlink_parentRef + ) + (func $~lib/runtime/runtime.newArray (; 21 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.tee $6 + local.get $1 + local.tee $7 + local.get $6 + i32.load + local.tee $8 + i32.ne + if (result i32) + local.get $8 + if + local.get $8 + local.get $6 + call $gc/_dummy/__ref_unlink + end + local.get $7 + local.get $6 + call $gc/_dummy/__ref_link + local.get $7 + else + local.get $7 + end + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $8 + block $break|0 + loop $continue|0 + local.get $6 + local.get $8 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $7 + local.get $7 + if + local.get $7 + local.get $5 + call $gc/_dummy/__ref_link + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/Root#constructor (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 21 + call $~lib/util/runtime/register + local.set $0 + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $gc/_dummy/__ref_link + ) + (func $~lib/runtime/runtime.release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $gc/_dummy/__ref_unlink + ) + (func $gc/_dummy/__ref_collect (; 25 ;) (type $FUNCSIG$v) + i32.const 256 + i32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $gc/_dummy/collect_count + i32.const 1 + i32.add + global.set $gc/_dummy/collect_count + ) + (func $~lib/runtime/runtime.collect (; 26 ;) (type $FUNCSIG$v) + call $gc/_dummy/__ref_collect + ) + (func $~lib/runtime/runtime#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 28 ;) (type $FUNCSIG$v) + call $start:runtime/instanceof + i32.const 0 + call $~lib/runtime/Root#constructor + global.set $~lib/runtime/ROOT + ) + (func $null (; 29 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/scoped.optimized.wat b/tests/compiler/scoped.optimized.wat index 393c7580..e3404130 100644 --- a/tests/compiler/scoped.optimized.wat +++ b/tests/compiler/scoped.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:scoped (; 0 ;) (type $FUNCSIG$v) (local $0 i32) diff --git a/tests/compiler/scoped.untouched.wat b/tests/compiler/scoped.untouched.wat index eb15d593..f6f37e3d 100644 --- a/tests/compiler/scoped.untouched.wat +++ b/tests/compiler/scoped.untouched.wat @@ -7,9 +7,7 @@ (global $scoped/aGlobal (mut i32) (i32.const 1)) (global $scoped/aConstant i32 (i32.const 3)) (global $scoped/aStartFunctionLocal (mut i32) (i32.const 2)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $scoped/fn (; 0 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) diff --git a/tests/compiler/simd.optimized.wat b/tests/compiler/simd.optimized.wat index 73244308..93b7e87c 100644 --- a/tests/compiler/simd.optimized.wat +++ b/tests/compiler/simd.optimized.wat @@ -1,11 +1,8 @@ (module (type $FUNCSIG$v (func)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $start) + (data (i32.const 8) "\11\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s") (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/simd.untouched.wat b/tests/compiler/simd.untouched.wat index 3c29449b..8077a475 100644 --- a/tests/compiler/simd.untouched.wat +++ b/tests/compiler/simd.untouched.wat @@ -1,15 +1,13 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s\00") + (data (i32.const 8) "\11\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/ASC_FEATURE_SIMD i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 32)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $simd/test_v128 (; 1 ;) (type $FUNCSIG$v) v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d @@ -24,7 +22,7 @@ i32.const 16 i32.const 5 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d @@ -39,7 +37,7 @@ i32.const 16 i32.const 10 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d @@ -56,7 +54,7 @@ i32.const 16 i32.const 16 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d @@ -73,7 +71,7 @@ i32.const 16 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d @@ -90,7 +88,7 @@ i32.const 16 i32.const 30 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d @@ -106,7 +104,7 @@ i32.const 16 i32.const 37 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d @@ -124,7 +122,7 @@ i32.const 16 i32.const 43 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -150,7 +148,7 @@ i32.const 16 i32.const 60 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -168,7 +166,7 @@ i32.const 16 i32.const 62 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -187,7 +185,7 @@ i32.const 16 i32.const 64 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -204,7 +202,7 @@ i32.const 16 i32.const 65 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -221,7 +219,7 @@ i32.const 16 i32.const 66 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -237,7 +235,7 @@ i32.const 16 i32.const 67 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -254,7 +252,7 @@ i32.const 16 i32.const 72 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -271,7 +269,7 @@ i32.const 16 i32.const 73 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -286,7 +284,7 @@ i32.const 16 i32.const 74 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -303,7 +301,7 @@ i32.const 16 i32.const 75 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -320,7 +318,7 @@ i32.const 16 i32.const 80 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x7f7f7f7e 0x7f7f7f7f 0x7f7f7f7f 0x7f7f7f7f @@ -339,7 +337,7 @@ i32.const 16 i32.const 85 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0xfffffffe 0xffffffff 0xffffffff 0xffffffff @@ -358,7 +356,7 @@ i32.const 16 i32.const 91 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x80808081 0x80808080 0x80808080 0x80808080 @@ -377,7 +375,7 @@ i32.const 16 i32.const 97 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x00000001 0x00000000 0x00000000 0x00000000 @@ -396,7 +394,7 @@ i32.const 16 i32.const 103 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -415,7 +413,7 @@ i32.const 16 i32.const 109 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -2 @@ -434,7 +432,7 @@ i32.const 16 i32.const 110 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1 @@ -453,7 +451,7 @@ i32.const 16 i32.const 111 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x00000001 0x00000000 0x00000000 0x00000000 @@ -468,7 +466,7 @@ i32.const 16 i32.const 112 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -484,7 +482,7 @@ i32.const 16 i32.const 113 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -516,7 +514,7 @@ i32.const 16 i32.const 118 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -533,7 +531,7 @@ i32.const 16 i32.const 119 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -550,7 +548,7 @@ i32.const 16 i32.const 120 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -567,7 +565,7 @@ i32.const 16 i32.const 121 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -584,7 +582,7 @@ i32.const 16 i32.const 122 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -601,7 +599,7 @@ i32.const 16 i32.const 123 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -618,7 +616,7 @@ i32.const 16 i32.const 124 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -635,7 +633,7 @@ i32.const 16 i32.const 125 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -652,7 +650,7 @@ i32.const 16 i32.const 126 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -669,7 +667,7 @@ i32.const 16 i32.const 127 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -695,7 +693,7 @@ i32.const 16 i32.const 132 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -713,7 +711,7 @@ i32.const 16 i32.const 134 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -732,7 +730,7 @@ i32.const 16 i32.const 136 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -749,7 +747,7 @@ i32.const 16 i32.const 137 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -766,7 +764,7 @@ i32.const 16 i32.const 138 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -782,7 +780,7 @@ i32.const 16 i32.const 139 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -799,7 +797,7 @@ i32.const 16 i32.const 144 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -816,7 +814,7 @@ i32.const 16 i32.const 145 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -831,7 +829,7 @@ i32.const 16 i32.const 146 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -848,7 +846,7 @@ i32.const 16 i32.const 147 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -865,7 +863,7 @@ i32.const 16 i32.const 152 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x7fff7ffe 0x7fff7fff 0x7fff7fff 0x7fff7fff @@ -884,7 +882,7 @@ i32.const 16 i32.const 157 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0xfffffffe 0xffffffff 0xffffffff 0xffffffff @@ -903,7 +901,7 @@ i32.const 16 i32.const 163 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x80008001 0x80008000 0x80008000 0x80008000 @@ -922,7 +920,7 @@ i32.const 16 i32.const 169 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x00000001 0x00000000 0x00000000 0x00000000 @@ -941,7 +939,7 @@ i32.const 16 i32.const 175 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -960,7 +958,7 @@ i32.const 16 i32.const 181 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -2 @@ -979,7 +977,7 @@ i32.const 16 i32.const 182 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1 @@ -998,7 +996,7 @@ i32.const 16 i32.const 183 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x00000001 0x00000000 0x00000000 0x00000000 @@ -1013,7 +1011,7 @@ i32.const 16 i32.const 184 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -1029,7 +1027,7 @@ i32.const 16 i32.const 185 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1061,7 +1059,7 @@ i32.const 16 i32.const 190 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1078,7 +1076,7 @@ i32.const 16 i32.const 191 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1095,7 +1093,7 @@ i32.const 16 i32.const 192 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1112,7 +1110,7 @@ i32.const 16 i32.const 193 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1129,7 +1127,7 @@ i32.const 16 i32.const 194 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1146,7 +1144,7 @@ i32.const 16 i32.const 195 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1163,7 +1161,7 @@ i32.const 16 i32.const 196 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1180,7 +1178,7 @@ i32.const 16 i32.const 197 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1197,7 +1195,7 @@ i32.const 16 i32.const 198 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1214,7 +1212,7 @@ i32.const 16 i32.const 199 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1240,7 +1238,7 @@ i32.const 16 i32.const 204 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -1258,7 +1256,7 @@ i32.const 16 i32.const 206 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1277,7 +1275,7 @@ i32.const 16 i32.const 208 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1294,7 +1292,7 @@ i32.const 16 i32.const 209 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1311,7 +1309,7 @@ i32.const 16 i32.const 210 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1327,7 +1325,7 @@ i32.const 16 i32.const 211 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1340,7 +1338,7 @@ i32.const 16 i32.const 216 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1353,7 +1351,7 @@ i32.const 16 i32.const 217 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1370,7 +1368,7 @@ i32.const 16 i32.const 218 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1387,7 +1385,7 @@ i32.const 16 i32.const 223 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -1406,7 +1404,7 @@ i32.const 16 i32.const 228 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -2 @@ -1425,7 +1423,7 @@ i32.const 16 i32.const 229 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1 @@ -1444,7 +1442,7 @@ i32.const 16 i32.const 230 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x00000001 0x00000000 0x00000000 0x00000000 @@ -1459,7 +1457,7 @@ i32.const 16 i32.const 231 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -1475,7 +1473,7 @@ i32.const 16 i32.const 232 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1507,7 +1505,7 @@ i32.const 16 i32.const 237 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1524,7 +1522,7 @@ i32.const 16 i32.const 238 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1541,7 +1539,7 @@ i32.const 16 i32.const 239 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1558,7 +1556,7 @@ i32.const 16 i32.const 240 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1575,7 +1573,7 @@ i32.const 16 i32.const 241 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1592,7 +1590,7 @@ i32.const 16 i32.const 242 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1609,7 +1607,7 @@ i32.const 16 i32.const 243 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1626,7 +1624,7 @@ i32.const 16 i32.const 244 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1643,7 +1641,7 @@ i32.const 16 i32.const 245 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1660,7 +1658,7 @@ i32.const 16 i32.const 246 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -1678,7 +1676,7 @@ i32.const 16 i32.const 247 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -1696,7 +1694,7 @@ i32.const 16 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1718,7 +1716,7 @@ i32.const 16 i32.const 261 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -1736,7 +1734,7 @@ i32.const 16 i32.const 263 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1755,7 +1753,7 @@ i32.const 16 i32.const 265 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1772,7 +1770,7 @@ i32.const 16 i32.const 266 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1788,7 +1786,7 @@ i32.const 16 i32.const 267 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1801,7 +1799,7 @@ i32.const 16 i32.const 272 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1814,7 +1812,7 @@ i32.const 16 i32.const 273 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1831,7 +1829,7 @@ i32.const 16 i32.const 274 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1848,7 +1846,7 @@ i32.const 16 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -1867,7 +1865,7 @@ i32.const 16 i32.const 284 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -2 @@ -1886,7 +1884,7 @@ i32.const 16 i32.const 285 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -1905,7 +1903,7 @@ i32.const 16 i32.const 286 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x00000001 0x00000000 0x00000000 0x00000000 @@ -1920,7 +1918,7 @@ i32.const 16 i32.const 287 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -1936,7 +1934,7 @@ i32.const 16 i32.const 288 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -1954,7 +1952,7 @@ i32.const 16 i32.const 289 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -1972,7 +1970,7 @@ i32.const 16 i32.const 294 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1999,7 +1997,7 @@ i32.const 16 i32.const 303 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -2017,7 +2015,7 @@ i32.const 16 i32.const 305 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2036,7 +2034,7 @@ i32.const 16 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2053,7 +2051,7 @@ i32.const 16 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2070,7 +2068,7 @@ i32.const 16 i32.const 309 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2091,7 +2089,7 @@ i32.const 16 i32.const 311 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -2108,7 +2106,7 @@ i32.const 16 i32.const 312 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2124,7 +2122,7 @@ i32.const 16 i32.const 313 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2137,7 +2135,7 @@ i32.const 16 i32.const 314 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2150,7 +2148,7 @@ i32.const 16 i32.const 315 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2167,7 +2165,7 @@ i32.const 16 i32.const 316 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2184,7 +2182,7 @@ i32.const 16 i32.const 321 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -2215,7 +2213,7 @@ i32.const 16 i32.const 330 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2232,7 +2230,7 @@ i32.const 16 i32.const 331 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2249,7 +2247,7 @@ i32.const 16 i32.const 332 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -2266,7 +2264,7 @@ i32.const 16 i32.const 333 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -2283,7 +2281,7 @@ i32.const 16 i32.const 334 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2300,7 +2298,7 @@ i32.const 16 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2317,7 +2315,7 @@ i32.const 16 i32.const 336 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2334,7 +2332,7 @@ i32.const 16 i32.const 337 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2350,7 +2348,7 @@ i32.const 16 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x40800000 0x41100000 0x41800000 0x41c80000 @@ -2366,7 +2364,7 @@ i32.const 16 i32.const 339 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1 @@ -2384,7 +2382,7 @@ i32.const 16 i32.const 340 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1 @@ -2402,7 +2400,7 @@ i32.const 16 i32.const 345 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2429,7 +2427,7 @@ i32.const 16 i32.const 354 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -2447,7 +2445,7 @@ i32.const 16 i32.const 356 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2466,7 +2464,7 @@ i32.const 16 i32.const 358 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2483,7 +2481,7 @@ i32.const 16 i32.const 359 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2500,7 +2498,7 @@ i32.const 16 i32.const 360 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2521,7 +2519,7 @@ i32.const 16 i32.const 362 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -2538,7 +2536,7 @@ i32.const 16 i32.const 363 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2554,7 +2552,7 @@ i32.const 16 i32.const 364 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2567,7 +2565,7 @@ i32.const 16 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2580,7 +2578,7 @@ i32.const 16 i32.const 366 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2597,7 +2595,7 @@ i32.const 16 i32.const 367 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2614,7 +2612,7 @@ i32.const 16 i32.const 372 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -2645,7 +2643,7 @@ i32.const 16 i32.const 381 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2662,7 +2660,7 @@ i32.const 16 i32.const 382 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2679,7 +2677,7 @@ i32.const 16 i32.const 383 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -2696,7 +2694,7 @@ i32.const 16 i32.const 384 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -2713,7 +2711,7 @@ i32.const 16 i32.const 385 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2730,7 +2728,7 @@ i32.const 16 i32.const 386 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2747,7 +2745,7 @@ i32.const 16 i32.const 387 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2764,7 +2762,7 @@ i32.const 16 i32.const 388 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -2780,7 +2778,7 @@ i32.const 16 i32.const 389 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end v128.const i32x4 0x00000000 0x40100000 0x00000000 0x40220000 @@ -2796,7 +2794,7 @@ i32.const 16 i32.const 390 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -2814,7 +2812,7 @@ i32.const 16 i32.const 391 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -2832,7 +2830,7 @@ i32.const 16 i32.const 396 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2857,7 +2855,7 @@ i32.const 16 i32.const 406 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/static-this.optimized.wat b/tests/compiler/static-this.optimized.wat index 2fa32220..638e79d9 100644 --- a/tests/compiler/static-this.optimized.wat +++ b/tests/compiler/static-this.optimized.wat @@ -1,14 +1,11 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s") (global $static-this/Foo.bar (mut i32) (i32.const 42)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start (; 1 ;) (type $FUNCSIG$v) global.get $static-this/Foo.bar @@ -19,7 +16,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/static-this.untouched.wat b/tests/compiler/static-this.untouched.wat index 6d01a760..3bec403b 100644 --- a/tests/compiler/static-this.untouched.wat +++ b/tests/compiler/static-this.untouched.wat @@ -2,15 +2,13 @@ (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $static-this/Foo.bar (mut i32) (i32.const 42)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 44)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $static-this/Foo.getBar (; 1 ;) (type $FUNCSIG$i) (result i32) global.get $static-this/Foo.bar @@ -25,7 +23,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/allocator_arena.optimized.wat b/tests/compiler/std/allocator_arena.optimized.wat index 02735832..b9b6f52c 100644 --- a/tests/compiler/std/allocator_arena.optimized.wat +++ b/tests/compiler/std/allocator_arena.optimized.wat @@ -4,18 +4,15 @@ (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00,\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00,\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/allocator_arena/ptr1 (mut i32) (i32.const 0)) (global $std/allocator_arena/ptr2 (mut i32) (i32.const 0)) (global $std/allocator_arena/i (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) @@ -455,7 +452,7 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/allocator_arena/ptr1 @@ -478,7 +475,7 @@ i32.const 16 i32.const 12 i32.const 27 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else global.get $std/allocator_arena/i @@ -511,7 +508,7 @@ i32.const 16 i32.const 16 i32.const 27 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else global.get $std/allocator_arena/i @@ -580,7 +577,7 @@ i32.const 16 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/allocator/arena/startOffset @@ -595,7 +592,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/allocator_arena.untouched.wat b/tests/compiler/std/allocator_arena.untouched.wat index f8b3ac26..01e46822 100644 --- a/tests/compiler/std/allocator_arena.untouched.wat +++ b/tests/compiler/std/allocator_arena.untouched.wat @@ -4,9 +4,9 @@ (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00,\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00,\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/allocator_arena/size i32 (i32.const 42)) @@ -17,7 +17,6 @@ (global $std/allocator_arena/i (mut i32) (i32.const 0)) (global $~lib/memory/HEAP_BASE i32 (i32.const 60)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -616,7 +615,7 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/allocator_arena/ptr1 @@ -644,7 +643,7 @@ i32.const 16 i32.const 12 i32.const 27 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/allocator_arena/i @@ -681,7 +680,7 @@ i32.const 16 i32.const 16 i32.const 27 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/allocator_arena/i @@ -768,7 +767,7 @@ i32.const 16 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/allocator_arena/ptr1 @@ -794,7 +793,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/array-access.optimized.wat b/tests/compiler/std/array-access.optimized.wat index cbeb13b2..6097dddb 100644 --- a/tests/compiler/std/array-access.optimized.wat +++ b/tests/compiler/std/array-access.optimized.wat @@ -4,16 +4,13 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 48) "\01") - (data (i32.const 56) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 96) "\01\00\00\00\08\00\00\00n\00u\00l\00l") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 48) "\10") + (data (i32.const 56) "\10\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 96) "\10\00\00\00\08\00\00\00n\00u\00l\00l") (export "memory" (memory $0)) - (export "table" (table $0)) (export "i32ArrayArrayElementAccess" (func $std/array-access/i32ArrayArrayElementAccess)) (export "stringArrayPropertyAccess" (func $std/array-access/stringArrayPropertyAccess)) (export "stringArrayMethodCall" (func $std/array-access/stringArrayMethodCall)) @@ -29,7 +26,7 @@ i32.const 16 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -43,7 +40,7 @@ i32.const 16 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -66,7 +63,7 @@ i32.const 16 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -144,7 +141,7 @@ i32.const 64 i32.const 178 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 52 diff --git a/tests/compiler/std/array-access.untouched.wat b/tests/compiler/std/array-access.untouched.wat index 73edcecb..4a617a67 100644 --- a/tests/compiler/std/array-access.untouched.wat +++ b/tests/compiler/std/array-access.untouched.wat @@ -5,18 +5,16 @@ (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/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 48) "\01\00\00\00\00\00\00\00") - (data (i32.const 56) "\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 96) "\01\00\00\00\08\00\00\00n\00u\00l\00l\00") + (data (i32.const 8) "\10\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 48) "\10\00\00\00\00\00\00\00") + (data (i32.const 56) "\10\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 96) "\10\00\00\00\08\00\00\00n\00u\00l\00l\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 112)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "i32ArrayArrayElementAccess" (func $std/array-access/i32ArrayArrayElementAccess)) (export "stringArrayPropertyAccess" (func $std/array-access/stringArrayPropertyAccess)) (export "stringArrayMethodCall" (func $std/array-access/stringArrayMethodCall)) @@ -41,7 +39,7 @@ i32.const 16 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -55,7 +53,7 @@ i32.const 16 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -83,7 +81,7 @@ i32.const 16 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -116,7 +114,7 @@ i32.const 16 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -130,7 +128,7 @@ i32.const 16 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -220,7 +218,7 @@ i32.const 64 i32.const 178 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -298,7 +296,7 @@ i32.const 16 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -312,7 +310,7 @@ i32.const 16 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 diff --git a/tests/compiler/std/array-literal.optimized.wat b/tests/compiler/std/array-literal.optimized.wat index 2d41c866..c9c8deed 100644 --- a/tests/compiler/std/array-literal.optimized.wat +++ b/tests/compiler/std/array-literal.optimized.wat @@ -2,29 +2,32 @@ (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$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\03") + (data (i32.const 8) "\0f\00\00\00\03") (data (i32.const 25) "\01\02") - (data (i32.const 32) "\02\00\00\00\10") + (data (i32.const 32) "\11\00\00\00\10") (data (i32.const 48) "\18\00\00\00\18\00\00\00\03\00\00\00\03") - (data (i32.const 64) "\03\00\00\00(") + (data (i32.const 64) "\10\00\00\00(") (data (i32.const 80) "s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") - (data (i32.const 120) "\03\00\00\00\1a") + (data (i32.const 120) "\10\00\00\00\1a") (data (i32.const 136) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 168) "\01\00\00\00\0c") + (data (i32.const 168) "\0f\00\00\00\0c") (data (i32.const 188) "\01\00\00\00\02") - (data (i32.const 200) "\04\00\00\00\10") + (data (i32.const 200) "\12\00\00\00\10") (data (i32.const 216) "\b8\00\00\00\b8\00\00\00\0c\00\00\00\03") - (data (i32.const 232) "\01") - (data (i32.const 248) "\04\00\00\00\10") + (data (i32.const 232) "\0f") + (data (i32.const 248) "\12\00\00\00\10") (data (i32.const 264) "\f8\00\00\00\f8") - (data (i32.const 280) "\03\00\00\00(") + (data (i32.const 280) "\10\00\00\00(") (data (i32.const 296) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 336) "\17") + (data (i32.const 472) "\t\00\00\00\0e\00\00\00!\00\00\00\0e") + (data (i32.const 496) "!\02\00\00\0e") + (data (i32.const 512) "!\02\00\00\0e") (global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 264)) (global $std/array-literal/i (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -33,9 +36,18 @@ (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/runtime/ROOT (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/array/Array#__get (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -48,7 +60,7 @@ i32.const 136 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -69,7 +81,7 @@ i32.const 136 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -172,14 +184,14 @@ (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 336 + i32.const 528 i32.le_u if i32.const 0 i32.const 296 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -192,9 +204,9 @@ if i32.const 0 i32.const 296 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -202,7 +214,7 @@ i32.store local.get $0 ) - (func $~lib/runtime/runtime.newArray (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/makeArray (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) i32.const 16 @@ -215,7 +227,7 @@ i32.shl local.tee $0 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 15 call $~lib/util/runtime/register local.tee $2 local.tee $3 @@ -240,13 +252,13 @@ (func $std/array-literal/Ref#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) i32.const 0 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 19 call $~lib/util/runtime/register ) (func $std/array-literal/RefWithCtor#constructor (; 8 ;) (type $FUNCSIG$i) (result i32) i32.const 0 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 21 call $~lib/util/runtime/register ) (func $start:std/array-literal (; 9 ;) (type $FUNCSIG$v) @@ -262,7 +274,7 @@ i32.const 80 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 48 @@ -273,7 +285,7 @@ i32.const 80 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 48 @@ -286,7 +298,7 @@ i32.const 80 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 48 @@ -299,7 +311,7 @@ i32.const 80 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 228 @@ -311,7 +323,7 @@ i32.const 80 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 216 @@ -322,7 +334,7 @@ i32.const 80 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 216 @@ -335,7 +347,7 @@ i32.const 80 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 216 @@ -348,7 +360,7 @@ i32.const 80 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/emptyArrayI32 @@ -358,16 +370,16 @@ i32.const 80 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 336 + i32.const 528 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset i32.const 0 - i32.const 2 - call $~lib/runtime/runtime.newArray + i32.const 17 + call $~lib/util/runtime/makeArray local.tee $2 i32.load offset=4 local.tee $0 @@ -401,7 +413,7 @@ i32.const 80 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI8 @@ -412,7 +424,7 @@ i32.const 80 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI8 @@ -425,7 +437,7 @@ i32.const 80 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI8 @@ -438,14 +450,14 @@ i32.const 80 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 global.set $std/array-literal/i i32.const 2 - i32.const 4 - call $~lib/runtime/runtime.newArray + i32.const 18 + call $~lib/util/runtime/makeArray local.tee $2 i32.load offset=4 local.tee $0 @@ -479,7 +491,7 @@ i32.const 80 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI32 @@ -490,7 +502,7 @@ i32.const 80 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI32 @@ -503,7 +515,7 @@ i32.const 80 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI32 @@ -516,12 +528,12 @@ i32.const 80 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 - i32.const 6 - call $~lib/runtime/runtime.newArray + i32.const 20 + call $~lib/util/runtime/makeArray local.tee $2 i32.load offset=4 local.tee $0 @@ -544,12 +556,12 @@ i32.const 80 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 - i32.const 8 - call $~lib/runtime/runtime.newArray + i32.const 22 + call $~lib/util/runtime/makeArray local.tee $2 i32.load offset=4 local.tee $0 @@ -572,14 +584,191 @@ i32.const 80 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 10 ;) (type $FUNCSIG$v) - call $start:std/array-literal + (func $~lib/runtime/runtime.instanceof (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 336 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 336 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 11 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 336 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 336 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.tee $2 + i32.eqz + local.tee $0 + if (result i32) + local.get $0 + else + local.get $2 + i32.const 336 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $2 + i32.const 3 + i32.shl + i32.const 336 + i32.add + i32.load + end + local.tee $0 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 16 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $3 + local.get $2 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $2 + i32.load + drop + local.get $2 + local.get $1 + i32.store + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $3 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $0 + i32.const 512 + i32.and + if + local.get $1 + local.get $3 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load + drop + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $2 + ) + (func $~lib/runtime/runtime.retain (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) + (func $~lib/runtime/runtime.collect (; 17 ;) (type $FUNCSIG$v) + nop + ) + (func $start (; 18 ;) (type $FUNCSIG$v) + call $start:std/array-literal + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 23 + call $~lib/util/runtime/register + global.set $~lib/runtime/ROOT + ) ) diff --git a/tests/compiler/std/array-literal.untouched.wat b/tests/compiler/std/array-literal.untouched.wat index bb62bc71..f5016a26 100644 --- a/tests/compiler/std/array-literal.untouched.wat +++ b/tests/compiler/std/array-literal.untouched.wat @@ -7,17 +7,18 @@ (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\01\02") - (data (i32.const 32) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\18\00\00\00\03\00\00\00\03\00\00\00") - (data (i32.const 64) "\03\00\00\00(\00\00\00\00\00\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) "\03\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 168) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 200) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b8\00\00\00\b8\00\00\00\0c\00\00\00\03\00\00\00") - (data (i32.const 232) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 248) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f8\00\00\00\f8\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 280) "\03\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\0f\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\01\02") + (data (i32.const 32) "\11\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\18\00\00\00\03\00\00\00\03\00\00\00") + (data (i32.const 64) "\10\00\00\00(\00\00\00\00\00\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) "\10\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 168) "\0f\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 200) "\12\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b8\00\00\00\b8\00\00\00\0c\00\00\00\03\00\00\00") + (data (i32.const 232) "\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 248) "\12\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f8\00\00\00\f8\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 280) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 336) "\17\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\t\00\00\00\0e\00\00\00!\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00!\02\00\00\0e\00\00\00\00\00\00\00\00\00\00\00!\02\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/array-literal/staticArrayI8 i32 (i32.const 48)) @@ -33,10 +34,20 @@ (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/memory/HEAP_BASE i32 (i32.const 336)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 336)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 528)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/array/Array#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -64,7 +75,7 @@ i32.const 136 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -96,7 +107,7 @@ i32.const 136 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -233,9 +244,9 @@ if i32.const 0 i32.const 296 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -250,9 +261,9 @@ if i32.const 0 i32.const 296 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -477,7 +488,7 @@ end end ) - (func $~lib/runtime/runtime.newArray (; 16 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/runtime/makeArray (; 16 ;) (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) @@ -495,7 +506,7 @@ local.set $5 local.get $5 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 15 call $~lib/util/runtime/register local.set $6 local.get $4 @@ -545,7 +556,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 19 call $~lib/util/runtime/register local.set $0 end @@ -561,7 +572,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 21 call $~lib/util/runtime/register local.set $0 end @@ -585,7 +596,7 @@ i32.const 80 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/staticArrayI8 @@ -599,7 +610,7 @@ i32.const 80 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/staticArrayI8 @@ -613,7 +624,7 @@ i32.const 80 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/staticArrayI8 @@ -627,7 +638,7 @@ i32.const 80 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/staticArrayI32 @@ -640,7 +651,7 @@ i32.const 80 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/staticArrayI32 @@ -654,7 +665,7 @@ i32.const 80 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/staticArrayI32 @@ -668,7 +679,7 @@ i32.const 80 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/staticArrayI32 @@ -682,7 +693,7 @@ i32.const 80 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/emptyArrayI32 @@ -695,7 +706,7 @@ i32.const 80 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/memory/HEAP_BASE @@ -711,9 +722,9 @@ block (result i32) i32.const 3 i32.const 0 - i32.const 2 + i32.const 17 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $0 local.get $0 i32.load offset=4 @@ -754,7 +765,7 @@ i32.const 80 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI8 @@ -768,7 +779,7 @@ i32.const 80 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI8 @@ -782,7 +793,7 @@ i32.const 80 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI8 @@ -796,7 +807,7 @@ i32.const 80 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -804,9 +815,9 @@ block (result i32) i32.const 3 i32.const 2 - i32.const 4 + i32.const 18 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $1 local.get $1 i32.load offset=4 @@ -847,7 +858,7 @@ i32.const 80 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI32 @@ -861,7 +872,7 @@ i32.const 80 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI32 @@ -875,7 +886,7 @@ i32.const 80 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array-literal/dynamicArrayI32 @@ -889,15 +900,15 @@ i32.const 80 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) i32.const 3 i32.const 2 - i32.const 6 + i32.const 20 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $0 local.get $0 i32.load offset=4 @@ -948,15 +959,15 @@ i32.const 80 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) i32.const 3 i32.const 2 - i32.const 8 + i32.const 22 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $1 local.get $1 i32.load offset=4 @@ -1007,13 +1018,243 @@ i32.const 80 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 22 ;) (type $FUNCSIG$v) - call $start:std/array-literal + (func $~lib/runtime/runtime.instanceof (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 23 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 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) + (local $8 i32) + local.get $0 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.tee $6 + local.get $1 + local.tee $7 + local.get $6 + i32.load + local.tee $8 + i32.ne + if (result i32) + local.get $8 + if + local.get $8 + local.get $6 + call $~lib/collector/dummy/__ref_unlink + end + local.get $7 + local.get $6 + call $~lib/collector/dummy/__ref_link + local.get $7 + else + local.get $7 + end + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $8 + block $break|0 + loop $continue|0 + local.get $6 + local.get $8 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $7 + local.get $7 + if + local.get $7 + local.get $5 + call $~lib/collector/dummy/__ref_link + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/Root#constructor (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 23 + call $~lib/util/runtime/register + local.set $0 + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_link + ) + (func $~lib/runtime/runtime.release (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_unlink + ) + (func $~lib/collector/dummy/__ref_collect (; 32 ;) (type $FUNCSIG$v) + nop + ) + (func $~lib/runtime/runtime.collect (; 33 ;) (type $FUNCSIG$v) + call $~lib/collector/dummy/__ref_collect + ) + (func $~lib/runtime/runtime#constructor (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 35 ;) (type $FUNCSIG$v) + call $start:std/array-literal + i32.const 0 + call $~lib/runtime/Root#constructor + global.set $~lib/runtime/ROOT + ) + (func $null (; 36 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index ca8e1841..9b175a72 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -23,387 +23,392 @@ (type $FUNCSIG$iiij (func (param i32 i32 i64) (result i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "Math" "random" (func $~lib/bindings/Math/random (result f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00&") + (data (i32.const 8) "\10\00\00\00&") (data (i32.const 24) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 64) "\01\00\00\00(") + (data (i32.const 64) "\10\00\00\00(") (data (i32.const 80) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 120) "\01\00\00\00\06") + (data (i32.const 120) "\10\00\00\00\06") (data (i32.const 136) "a\00b\00c") - (data (i32.const 144) "\01\00\00\00\18") + (data (i32.const 144) "\10\00\00\00\18") (data (i32.const 160) "s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 184) "\02\00\00\00\05") + (data (i32.const 184) "\0f\00\00\00\05") (data (i32.const 200) "\01\02\03\04\05") - (data (i32.const 208) "\07\00\00\00\10") + (data (i32.const 208) "\14\00\00\00\10") (data (i32.const 224) "\c8\00\00\00\c8\00\00\00\05\00\00\00\05") - (data (i32.const 240) "\02\00\00\00\05") + (data (i32.const 240) "\0f\00\00\00\05") (data (i32.const 256) "\01\01\01\04\05") - (data (i32.const 264) "\01\00\00\00\1a") + (data (i32.const 264) "\10\00\00\00\1a") (data (i32.const 280) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 312) "\02\00\00\00\05") - (data (i32.const 336) "\02\00\00\00\05") + (data (i32.const 312) "\0f\00\00\00\05") + (data (i32.const 336) "\0f\00\00\00\05") (data (i32.const 352) "\01\01") - (data (i32.const 360) "\02\00\00\00\05") + (data (i32.const 360) "\0f\00\00\00\05") (data (i32.const 376) "\01\01\00\02\02") - (data (i32.const 384) "\02\00\00\00\05") + (data (i32.const 384) "\0f\00\00\00\05") (data (i32.const 400) "\01\01\00\02\02") - (data (i32.const 408) "\02\00\00\00\14") + (data (i32.const 408) "\0f\00\00\00\14") (data (i32.const 424) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 448) "\08\00\00\00\10") + (data (i32.const 448) "\15\00\00\00\10") (data (i32.const 464) "\a8\01\00\00\a8\01\00\00\14\00\00\00\05") - (data (i32.const 480) "\02\00\00\00\14") + (data (i32.const 480) "\0f\00\00\00\14") (data (i32.const 496) "\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") - (data (i32.const 520) "\02\00\00\00\14") - (data (i32.const 560) "\02\00\00\00\14") + (data (i32.const 520) "\0f\00\00\00\14") + (data (i32.const 560) "\0f\00\00\00\14") (data (i32.const 576) "\01\00\00\00\01") - (data (i32.const 600) "\02\00\00\00\14") + (data (i32.const 600) "\0f\00\00\00\14") (data (i32.const 616) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 640) "\02\00\00\00\14") + (data (i32.const 640) "\0f\00\00\00\14") (data (i32.const 656) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 680) "\02") - (data (i32.const 696) "\02") - (data (i32.const 712) "\04\00\00\00\10") + (data (i32.const 680) "\0f") + (data (i32.const 696) "\0f") + (data (i32.const 712) "\11\00\00\00\10") (data (i32.const 728) "\c8\02\00\00\c8\02") - (data (i32.const 744) "\02\00\00\00\14") + (data (i32.const 744) "\0f\00\00\00\14") (data (i32.const 760) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 784) "\02\00\00\00\14") + (data (i32.const 784) "\0f\00\00\00\14") (data (i32.const 800) "\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 824) "\02\00\00\00\14") + (data (i32.const 824) "\0f\00\00\00\14") (data (i32.const 840) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 864) "\02\00\00\00\14") + (data (i32.const 864) "\0f\00\00\00\14") (data (i32.const 880) "\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") - (data (i32.const 904) "\02\00\00\00\14") + (data (i32.const 904) "\0f\00\00\00\14") (data (i32.const 920) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 944) "\02\00\00\00\14") + (data (i32.const 944) "\0f\00\00\00\14") (data (i32.const 960) "\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 984) "\02\00\00\00\14") + (data (i32.const 984) "\0f\00\00\00\14") (data (i32.const 1000) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1024) "\02\00\00\00\14") + (data (i32.const 1024) "\0f\00\00\00\14") (data (i32.const 1040) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1064) "\02\00\00\00\14") + (data (i32.const 1064) "\0f\00\00\00\14") (data (i32.const 1080) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1104) "\02\00\00\00\14") + (data (i32.const 1104) "\0f\00\00\00\14") (data (i32.const 1120) "\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1144) "\02\00\00\00\14") + (data (i32.const 1144) "\0f\00\00\00\14") (data (i32.const 1160) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1184) "\02\00\00\00\14") + (data (i32.const 1184) "\0f\00\00\00\14") (data (i32.const 1200) "\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1224) "\02\00\00\00\14") + (data (i32.const 1224) "\0f\00\00\00\14") (data (i32.const 1240) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1264) "\02\00\00\00\14") + (data (i32.const 1264) "\0f\00\00\00\14") (data (i32.const 1280) "\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 1304) "\02\00\00\00\14") + (data (i32.const 1304) "\0f\00\00\00\14") (data (i32.const 1320) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1344) "\02\00\00\00\14") + (data (i32.const 1344) "\0f\00\00\00\14") (data (i32.const 1360) "\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1384) "\02\00\00\00\14") + (data (i32.const 1384) "\0f\00\00\00\14") (data (i32.const 1400) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1424) "\02\00\00\00\14") + (data (i32.const 1424) "\0f\00\00\00\14") (data (i32.const 1440) "\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1464) "\02\00\00\00\14") + (data (i32.const 1464) "\0f\00\00\00\14") (data (i32.const 1480) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1504) "\02\00\00\00\14") + (data (i32.const 1504) "\0f\00\00\00\14") (data (i32.const 1520) "\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1544) "\02\00\00\00\14") + (data (i32.const 1544) "\0f\00\00\00\14") (data (i32.const 1560) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1584) "\02\00\00\00\14") + (data (i32.const 1584) "\0f\00\00\00\14") (data (i32.const 1600) "\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 1624) "\02\00\00\00\14") + (data (i32.const 1624) "\0f\00\00\00\14") (data (i32.const 1640) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1664) "\02\00\00\00\14") + (data (i32.const 1664) "\0f\00\00\00\14") (data (i32.const 1680) "\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 1704) "\02\00\00\00\14") + (data (i32.const 1704) "\0f\00\00\00\14") (data (i32.const 1720) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1744) "\04\00\00\00\10") + (data (i32.const 1744) "\11\00\00\00\10") (data (i32.const 1760) "\b8\06\00\00\b8\06\00\00\14\00\00\00\05") - (data (i32.const 1776) "\02\00\00\00\14") + (data (i32.const 1776) "\0f\00\00\00\14") (data (i32.const 1792) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1816) "\02") - (data (i32.const 1832) "\02\00\00\00\14") + (data (i32.const 1816) "\0f") + (data (i32.const 1832) "\0f\00\00\00\14") (data (i32.const 1848) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1872) "\02\00\00\00\0c") + (data (i32.const 1872) "\0f\00\00\00\0c") (data (i32.const 1888) "\03\00\00\00\04\00\00\00\05") - (data (i32.const 1904) "\02\00\00\00\08") + (data (i32.const 1904) "\0f\00\00\00\08") (data (i32.const 1920) "\01\00\00\00\02") - (data (i32.const 1928) "\02\00\00\00\14") + (data (i32.const 1928) "\0f\00\00\00\14") (data (i32.const 1944) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1968) "\02\00\00\00\08") + (data (i32.const 1968) "\0f\00\00\00\08") (data (i32.const 1984) "\03\00\00\00\04") - (data (i32.const 1992) "\02\00\00\00\0c") + (data (i32.const 1992) "\0f\00\00\00\0c") (data (i32.const 2008) "\01\00\00\00\02\00\00\00\05") - (data (i32.const 2024) "\02\00\00\00\14") + (data (i32.const 2024) "\0f\00\00\00\14") (data (i32.const 2040) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2064) "\02\00\00\00\04") + (data (i32.const 2064) "\0f\00\00\00\04") (data (i32.const 2080) "\01") - (data (i32.const 2088) "\02\00\00\00\10") + (data (i32.const 2088) "\0f\00\00\00\10") (data (i32.const 2104) "\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2120) "\02\00\00\00\14") + (data (i32.const 2120) "\0f\00\00\00\14") (data (i32.const 2136) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2160) "\02\00\00\00\04") + (data (i32.const 2160) "\0f\00\00\00\04") (data (i32.const 2176) "\05") - (data (i32.const 2184) "\02\00\00\00\10") + (data (i32.const 2184) "\0f\00\00\00\10") (data (i32.const 2200) "\01\00\00\00\02\00\00\00\03\00\00\00\04") - (data (i32.const 2216) "\02\00\00\00\14") + (data (i32.const 2216) "\0f\00\00\00\14") (data (i32.const 2232) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2256) "\02\00\00\00\08") + (data (i32.const 2256) "\0f\00\00\00\08") (data (i32.const 2272) "\04\00\00\00\05") - (data (i32.const 2280) "\02\00\00\00\0c") + (data (i32.const 2280) "\0f\00\00\00\0c") (data (i32.const 2296) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 2312) "\02\00\00\00\14") + (data (i32.const 2312) "\0f\00\00\00\14") (data (i32.const 2328) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2352) "\02\00\00\00\04") + (data (i32.const 2352) "\0f\00\00\00\04") (data (i32.const 2368) "\04") - (data (i32.const 2376) "\02\00\00\00\10") + (data (i32.const 2376) "\0f\00\00\00\10") (data (i32.const 2392) "\01\00\00\00\02\00\00\00\03\00\00\00\05") - (data (i32.const 2408) "\02\00\00\00\14") + (data (i32.const 2408) "\0f\00\00\00\14") (data (i32.const 2424) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2448) "\02\00\00\00\04") + (data (i32.const 2448) "\0f\00\00\00\04") (data (i32.const 2464) "\01") - (data (i32.const 2472) "\02\00\00\00\10") + (data (i32.const 2472) "\0f\00\00\00\10") (data (i32.const 2488) "\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2504) "\02\00\00\00\14") + (data (i32.const 2504) "\0f\00\00\00\14") (data (i32.const 2520) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2544) "\02") - (data (i32.const 2560) "\02\00\00\00\14") + (data (i32.const 2544) "\0f") + (data (i32.const 2560) "\0f\00\00\00\14") (data (i32.const 2576) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2600) "\02\00\00\00\14") + (data (i32.const 2600) "\0f\00\00\00\14") (data (i32.const 2616) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2640) "\02") - (data (i32.const 2656) "\02\00\00\00\14") + (data (i32.const 2640) "\0f") + (data (i32.const 2656) "\0f\00\00\00\14") (data (i32.const 2672) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2696) "\02\00\00\00\14") + (data (i32.const 2696) "\0f\00\00\00\14") (data (i32.const 2712) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2736) "\02") - (data (i32.const 2752) "\02\00\00\00\14") + (data (i32.const 2736) "\0f") + (data (i32.const 2752) "\0f\00\00\00\14") (data (i32.const 2768) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2792) "\02\00\00\00\14") + (data (i32.const 2792) "\0f\00\00\00\14") (data (i32.const 2808) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2832) "\02") - (data (i32.const 2848) "\02\00\00\00\14") + (data (i32.const 2832) "\0f") + (data (i32.const 2848) "\0f\00\00\00\14") (data (i32.const 2864) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2888) "\02\00\00\00\14") + (data (i32.const 2888) "\0f\00\00\00\14") (data (i32.const 2904) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2928) "\02") - (data (i32.const 2944) "\02\00\00\00\14") + (data (i32.const 2928) "\0f") + (data (i32.const 2944) "\0f\00\00\00\14") (data (i32.const 2960) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2984) "\01\00\00\00\18") + (data (i32.const 2984) "\10\00\00\00\18") (data (i32.const 3000) "~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 3024) "\01\00\00\00\ac") + (data (i32.const 3024) "\10\00\00\00\ac") (data (i32.const 3040) "A\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 3216) "\02\00\00\00 ") + (data (i32.const 3216) "\0f\00\00\00 ") (data (i32.const 3234) "\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 3264) "\t\00\00\00\10") + (data (i32.const 3264) "\16\00\00\00\10") (data (i32.const 3280) "\a0\0c\00\00\a0\0c\00\00 \00\00\00\08") - (data (i32.const 3296) "\02\00\00\00 ") + (data (i32.const 3296) "\0f\00\00\00 ") (data (i32.const 3314) "\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 3344) "\02\00\00\00@") + (data (i32.const 3344) "\0f\00\00\00@") (data (i32.const 3366) "\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 3406) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 3424) "\n\00\00\00\10") + (data (i32.const 3424) "\17\00\00\00\10") (data (i32.const 3440) " \0d\00\00 \0d\00\00@\00\00\00\08") - (data (i32.const 3456) "\02\00\00\00@") + (data (i32.const 3456) "\0f\00\00\00@") (data (i32.const 3478) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") (data (i32.const 3510) "\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 3536) "\02\00\00\00\14") + (data (i32.const 3536) "\0f\00\00\00\14") (data (i32.const 3552) "\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 3576) "\04\00\00\00\10") + (data (i32.const 3576) "\11\00\00\00\10") (data (i32.const 3592) "\e0\0d\00\00\e0\0d\00\00\14\00\00\00\05") - (data (i32.const 3608) "\02\00\00\00\14") + (data (i32.const 3608) "\0f\00\00\00\14") (data (i32.const 3624) "\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 3648) "\02\00\00\00\14") + (data (i32.const 3648) "\0f\00\00\00\14") (data (i32.const 3664) "\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 3688) "\08\00\00\00\10") + (data (i32.const 3688) "\15\00\00\00\10") (data (i32.const 3704) "P\0e\00\00P\0e\00\00\14\00\00\00\05") - (data (i32.const 3720) "\02\00\00\00\14") + (data (i32.const 3720) "\0f\00\00\00\14") (data (i32.const 3740) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 3760) "\02") - (data (i32.const 3776) "\04\00\00\00\10") + (data (i32.const 3760) "\0f") + (data (i32.const 3776) "\11\00\00\00\10") (data (i32.const 3792) "\c0\0e\00\00\c0\0e") - (data (i32.const 3808) "\02\00\00\00\04") + (data (i32.const 3808) "\0f\00\00\00\04") (data (i32.const 3824) "\01") - (data (i32.const 3832) "\04\00\00\00\10") + (data (i32.const 3832) "\11\00\00\00\10") (data (i32.const 3848) "\f0\0e\00\00\f0\0e\00\00\04\00\00\00\01") - (data (i32.const 3864) "\02\00\00\00\08") + (data (i32.const 3864) "\0f\00\00\00\08") (data (i32.const 3880) "\02\00\00\00\01") - (data (i32.const 3888) "\04\00\00\00\10") + (data (i32.const 3888) "\11\00\00\00\10") (data (i32.const 3904) "(\0f\00\00(\0f\00\00\08\00\00\00\02") - (data (i32.const 3920) "\02\00\00\00\10") + (data (i32.const 3920) "\0f\00\00\00\10") (data (i32.const 3936) "\03\00\00\00\02\00\00\00\01") - (data (i32.const 3952) "\04\00\00\00\10") + (data (i32.const 3952) "\11\00\00\00\10") (data (i32.const 3968) "`\0f\00\00`\0f\00\00\10\00\00\00\04") - (data (i32.const 3984) "\02\00\00\00\10") + (data (i32.const 3984) "\0f\00\00\00\10") (data (i32.const 4004) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 4016) "\04\00\00\00\10") + (data (i32.const 4016) "\11\00\00\00\10") (data (i32.const 4032) "\a0\0f\00\00\a0\0f\00\00\10\00\00\00\04") - (data (i32.const 4048) "\02\00\00\00\04") + (data (i32.const 4048) "\0f\00\00\00\04") (data (i32.const 4064) "\01") - (data (i32.const 4072) "\02\00\00\00\08") + (data (i32.const 4072) "\0f\00\00\00\08") (data (i32.const 4088) "\01\00\00\00\02") - (data (i32.const 4096) "\01\00\00\00\02") + (data (i32.const 4096) "\10\00\00\00\02") (data (i32.const 4112) "a") - (data (i32.const 4120) "\01\00\00\00\02") + (data (i32.const 4120) "\10\00\00\00\02") (data (i32.const 4136) "b") - (data (i32.const 4144) "\01\00\00\00\04") + (data (i32.const 4144) "\10\00\00\00\04") (data (i32.const 4160) "a\00b") - (data (i32.const 4168) "\01\00\00\00\04") + (data (i32.const 4168) "\10\00\00\00\04") (data (i32.const 4184) "b\00a") - (data (i32.const 4192) "\01") - (data (i32.const 4208) "\02\00\00\00\1c") + (data (i32.const 4192) "\10") + (data (i32.const 4208) "\0f\00\00\00\1c") (data (i32.const 4224) "\10\10\00\00(\10\00\00\10\10\00\00@\10\00\00X\10\00\00p\10") - (data (i32.const 4256) "\0e\00\00\00\10") + (data (i32.const 4256) "\1b\00\00\00\10") (data (i32.const 4272) "\80\10\00\00\80\10\00\00\1c\00\00\00\07") - (data (i32.const 4288) "\02\00\00\00\1c") + (data (i32.const 4288) "\0f\00\00\00\1c") (data (i32.const 4304) "p\10\00\00\10\10\00\00\10\10\00\00@\10\00\00(\10\00\00X\10") - (data (i32.const 4336) "\0e\00\00\00\10") + (data (i32.const 4336) "\1b\00\00\00\10") (data (i32.const 4352) "\d0\10\00\00\d0\10\00\00\1c\00\00\00\07") - (data (i32.const 4368) "\01\00\00\00\1c") + (data (i32.const 4368) "\10\00\00\00\1c") (data (i32.const 4384) "~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 4416) "\01\00\00\00\08") + (data (i32.const 4416) "\10\00\00\00\08") (data (i32.const 4432) "n\00u\00l\00l") - (data (i32.const 4440) "\02\00\00\00\02") + (data (i32.const 4440) "\0f\00\00\00\02") (data (i32.const 4456) "\01") - (data (i32.const 4464) "\01\00\00\00\08") + (data (i32.const 4464) "\10\00\00\00\08") (data (i32.const 4480) "t\00r\00u\00e") - (data (i32.const 4488) "\01\00\00\00\n") + (data (i32.const 4488) "\10\00\00\00\n") (data (i32.const 4504) "f\00a\00l\00s\00e") - (data (i32.const 4520) "\01\00\00\00\02") + (data (i32.const 4520) "\10\00\00\00\02") (data (i32.const 4536) ",") - (data (i32.const 4544) "\02\00\00\00\02") + (data (i32.const 4544) "\0f\00\00\00\02") (data (i32.const 4560) "\01") - (data (i32.const 4568) "\01\00\00\00\14") + (data (i32.const 4568) "\10\00\00\00\14") (data (i32.const 4584) "t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 4608) "\02\00\00\00\0c") + (data (i32.const 4608) "\0f\00\00\00\0c") (data (i32.const 4624) "\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4640) "\01\00\00\00\02") + (data (i32.const 4640) "\10\00\00\00\02") (data (i32.const 4656) "0") - (data (i32.const 4664) "\02\00\00\00\90\01") + (data (i32.const 4664) "\0f\00\00\00\90\01") (data (i32.const 4680) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 5080) "\08\00\00\00\10") + (data (i32.const 5080) "\15\00\00\00\10") (data (i32.const 5096) "H\12\00\00H\12\00\00\90\01\00\00d") - (data (i32.const 5112) "\02\00\00\00\0c") + (data (i32.const 5112) "\0f\00\00\00\0c") (data (i32.const 5128) "\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 5144) "\01\00\00\00\n") + (data (i32.const 5144) "\10\00\00\00\n") (data (i32.const 5160) "1\00-\002\00-\003") - (data (i32.const 5176) "\02\00\00\00\0c") + (data (i32.const 5176) "\0f\00\00\00\0c") (data (i32.const 5192) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 5208) "\01\00\00\00\02") + (data (i32.const 5208) "\10\00\00\00\02") (data (i32.const 5224) "-") - (data (i32.const 5232) "\02\00\00\00\0c") + (data (i32.const 5232) "\0f\00\00\00\0c") (data (i32.const 5248) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 5264) "\02\00\00\00\08") + (data (i32.const 5264) "\0f\00\00\00\08") (data (i32.const 5283) "\80\00\00\00\80") - (data (i32.const 5288) "\01\00\00\00\04") + (data (i32.const 5288) "\10\00\00\00\04") (data (i32.const 5304) "_\00_") - (data (i32.const 5312) "\02\00\00\00\08") + (data (i32.const 5312) "\0f\00\00\00\08") (data (i32.const 5331) "\80\00\00\00\80") - (data (i32.const 5336) "\01\00\00\000") + (data (i32.const 5336) "\10\00\00\000") (data (i32.const 5352) "-\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 5400) "\02\00\00\000") + (data (i32.const 5400) "\0f\00\00\000") (data (i32.const 5430) "\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 5464) "\01\00\00\00\04") + (data (i32.const 5464) "\10\00\00\00\04") (data (i32.const 5480) ",\00 ") - (data (i32.const 5488) "\01\00\00\00\06") + (data (i32.const 5488) "\10\00\00\00\06") (data (i32.const 5504) "0\00.\000") - (data (i32.const 5512) "\01\00\00\00\06") + (data (i32.const 5512) "\10\00\00\00\06") (data (i32.const 5528) "N\00a\00N") - (data (i32.const 5536) "\01\00\00\00\12") + (data (i32.const 5536) "\10\00\00\00\12") (data (i32.const 5552) "-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 5576) "\01\00\00\00\10") + (data (i32.const 5576) "\10\00\00\00\10") (data (i32.const 5592) "I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 5608) "\02\00\00\00\b8\02") + (data (i32.const 5608) "\0f\00\00\00\b8\02") (data (i32.const 5624) "\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) + (elem (i32.const 0) $~lib/runtime/runtime.collect $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|2 $start:std/array~anonymous|5 $start:std/array~anonymous|6 $start:std/array~anonymous|7 $start:std/array~anonymous|8 $start:std/array~anonymous|9 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|16 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|22 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|29 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|29 $start:std/array~anonymous|35 $start:std/array~anonymous|29 $start:std/array~anonymous|29 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|29 $start:std/array~anonymous|35 $~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 $~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/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/array/arr (mut i32) (i32.const 0)) @@ -460,10 +465,19 @@ (global $std/array/subarr8 (mut i32) (i32.const 0)) (global $std/array/subarrU32 (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $std/array/main)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -782,14 +796,14 @@ (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 8068 + i32.const 8400 i32.le_u if i32.const 0 i32.const 80 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -802,9 +816,9 @@ if i32.const 0 i32.const 80 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -822,7 +836,7 @@ i32.const 24 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -832,7 +846,7 @@ local.get $0 call $~lib/memory/memory.fill local.get $1 - i32.const 2 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBufferView#constructor (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -846,7 +860,7 @@ i32.const 24 i32.const 12 i32.const 57 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -860,7 +874,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 14 call $~lib/util/runtime/register local.set $0 end @@ -891,7 +905,7 @@ (local $0 i32) i32.const 16 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 17 call $~lib/util/runtime/register i32.const 0 i32.const 2 @@ -1140,7 +1154,7 @@ end end ) - (func $~lib/runtime/runtime.newArray (; 11 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/runtime/makeArray (; 11 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) i32.const 16 @@ -1153,7 +1167,7 @@ i32.shl local.tee $4 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 15 call $~lib/util/runtime/register local.tee $1 local.set $5 @@ -1191,7 +1205,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1331,7 +1345,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1426,7 +1440,7 @@ i32.shl i32.const 0 local.get $0 - i32.const 8068 + i32.const 8400 i32.gt_u select local.get $3 @@ -1465,14 +1479,14 @@ i32.eq if local.get $0 - i32.const 8068 + i32.const 8400 i32.le_u if i32.const 0 i32.const 80 - i32.const 88 + i32.const 91 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1514,7 +1528,7 @@ i32.const 280 i32.const 14 i32.const 64 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1579,9 +1593,9 @@ if i32.const 0 i32.const 280 - i32.const 309 + i32.const 311 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1607,24 +1621,36 @@ (local $5 i32) local.get $0 i32.load offset=12 - local.tee $2 + local.tee $3 local.get $1 i32.load offset=12 i32.const 0 local.get $1 select - local.tee $3 - i32.add - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/runtime/runtime.newArray local.tee $4 + i32.add + local.tee $2 + i32.const 268435452 + i32.gt_u + if + i32.const 0 + i32.const 280 + i32.const 236 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + local.tee $2 i32.load offset=4 local.tee $5 local.get $0 i32.load offset=4 - local.get $2 + local.get $3 i32.const 2 i32.shl local.tee $0 @@ -1634,11 +1660,11 @@ i32.add local.get $1 i32.load offset=4 - local.get $3 + local.get $4 i32.const 2 i32.shl call $~lib/memory/memory.copy - local.get $4 + local.get $2 ) (func $~lib/array/Array#copyWithin (; 22 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) @@ -1847,9 +1873,9 @@ if i32.const 0 i32.const 280 - i32.const 381 + i32.const 383 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2043,9 +2069,9 @@ select local.tee $2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $4 i32.load offset=4 drop @@ -2514,7 +2540,7 @@ i32.const 160 i32.const 561 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2534,9 +2560,9 @@ i32.load offset=12 local.tee $3 i32.const 2 - i32.const 9 + i32.const 22 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $4 i32.load offset=4 local.set $5 @@ -2593,7 +2619,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2624,9 +2650,9 @@ i32.load offset=12 local.tee $4 i32.const 2 - i32.const 4 + i32.const 17 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.load offset=4 local.set $5 loop $repeat|0 @@ -2698,9 +2724,9 @@ (local $5 i32) i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $4 local.get $0 i32.load offset=12 @@ -2945,7 +2971,7 @@ i32.const 3000 i32.const 1021 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -3348,9 +3374,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3844,9 +3870,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3944,7 +3970,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4363,9 +4389,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4448,24 +4474,24 @@ i32.const 280 i32.const 44 i32.const 62 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $0 + i32.const 0 + i32.store offset=12 + local.get $0 i32.load offset=4 i32.const 0 local.get $0 i32.load offset=8 call $~lib/memory/memory.fill local.get $0 - i32.const 0 - i32.store offset=12 - local.get $0 ) (func $std/array/createReverseOrderedArray (; 91 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -4506,7 +4532,7 @@ i32.const 3000 i32.const 1030 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/random_state0_64 @@ -4626,7 +4652,7 @@ i32.const 160 i32.const 813 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4644,19 +4670,19 @@ (local $0 i32) i32.const 512 i32.const 2 - i32.const 11 + i32.const 24 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $0 + i32.const 0 + i32.store offset=12 + local.get $0 i32.load offset=4 i32.const 0 local.get $0 i32.load offset=8 call $~lib/memory/memory.fill local.get $0 - i32.const 0 - i32.store offset=12 - local.get $0 ) (func $~lib/array/Array<~lib/array/Array>#__set (; 99 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -4671,7 +4697,7 @@ i32.const 280 i32.const 111 i32.const 38 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4755,9 +4781,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4817,7 +4843,7 @@ i32.const 280 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4831,7 +4857,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4896,7 +4922,7 @@ i32.const 160 i32.const 813 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4904,19 +4930,19 @@ (local $0 i32) i32.const 512 i32.const 2 - i32.const 12 + i32.const 26 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $0 + i32.const 0 + i32.store offset=12 + local.get $0 i32.load offset=4 i32.const 0 local.get $0 i32.load offset=8 call $~lib/memory/memory.fill local.get $0 - i32.const 0 - i32.store offset=12 - local.get $0 ) (func $std/array/createReverseOrderedElementsArray (; 107 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) @@ -4931,7 +4957,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 13 + i32.const 25 call $~lib/util/runtime/register local.tee $2 i32.const 511 @@ -5093,7 +5119,7 @@ i32.const 160 i32.const 813 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5194,19 +5220,19 @@ (local $0 i32) i32.const 400 i32.const 2 - i32.const 15 + i32.const 28 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $0 + i32.const 0 + i32.store offset=12 + local.get $0 i32.load offset=4 i32.const 0 local.get $0 i32.load offset=8 call $~lib/memory/memory.fill local.get $0 - i32.const 0 - i32.store offset=12 - local.get $0 ) (func $~lib/string/String#charAt (; 115 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -5231,7 +5257,7 @@ i32.load16_u i32.store16 local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/string/String#concat (; 116 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -5280,7 +5306,7 @@ local.get $4 call $~lib/memory/memory.copy local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/string/String.__concat (; 117 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -5361,7 +5387,7 @@ i32.const 4384 i32.const 203 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -5443,19 +5469,19 @@ local.get $3 call $~lib/memory/memory.copy local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/runtime/discard (; 121 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 8068 + i32.const 8400 i32.le_u if i32.const 0 i32.const 80 - i32.const 114 + i32.const 117 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5467,9 +5493,9 @@ if i32.const 0 i32.const 80 - i32.const 116 + i32.const 119 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5622,7 +5648,7 @@ return end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/decimalCount32 (; 123 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -5828,7 +5854,7 @@ i32.store16 end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa_stream (; 126 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -5990,7 +6016,7 @@ return end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 128 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -6018,7 +6044,7 @@ local.get $1 call $~lib/util/number/utoa32_lut local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa_stream (; 130 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -6160,7 +6186,7 @@ return end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -7359,7 +7385,7 @@ return end local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/string/String>#join_str (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -7529,7 +7555,7 @@ call $~lib/memory/memory.copy end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/string/String>#join (; 140 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -7540,7 +7566,7 @@ (func $std/array/Ref#constructor (; 141 ;) (type $FUNCSIG$i) (result i32) i32.const 0 call $~lib/util/runtime/allocate - i32.const 19 + i32.const 32 call $~lib/util/runtime/register ) (func $~lib/array/Array#join_ref (; 142 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -7673,7 +7699,7 @@ return end local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#toString (; 143 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -7845,7 +7871,7 @@ return end local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa_stream (; 146 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -7991,7 +8017,7 @@ return end local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/decimalCount64 (; 148 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) @@ -8184,7 +8210,7 @@ call $~lib/util/number/utoa64_lut end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa_stream (; 151 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) @@ -8340,7 +8366,7 @@ return end local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa64 (; 153 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) @@ -8405,7 +8431,7 @@ i32.store16 end local.get $3 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa_stream (; 154 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) @@ -8584,7 +8610,7 @@ return end local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/string/String | null>#toString (; 156 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -8826,7 +8852,7 @@ return end local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/array/Array>#join_arr (; 160 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -9112,7 +9138,7 @@ (local $0 i32) (local $1 i32) (local $2 i32) - i32.const 8072 + i32.const 8400 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -9124,7 +9150,7 @@ i32.const 160 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9137,17 +9163,17 @@ i32.const 160 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 18 call $~lib/util/runtime/register drop i32.const 12 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 19 call $~lib/util/runtime/register i32.const 1 i32.const 0 @@ -9161,9 +9187,9 @@ global.get $std/array/arr8 i32.const 5 i32.const 0 - i32.const 7 + i32.const 20 i32.const 256 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/array/isArraysEqual i32.eqz if @@ -9171,7 +9197,7 @@ i32.const 160 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr8 @@ -9182,9 +9208,9 @@ global.get $std/array/arr8 i32.const 5 i32.const 0 - i32.const 7 + i32.const 20 i32.const 328 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/array/isArraysEqual i32.eqz if @@ -9192,7 +9218,7 @@ i32.const 160 i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr8 @@ -9203,9 +9229,9 @@ global.get $std/array/arr8 i32.const 5 i32.const 0 - i32.const 7 + i32.const 20 i32.const 352 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/array/isArraysEqual i32.eqz if @@ -9213,7 +9239,7 @@ i32.const 160 i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr8 @@ -9224,9 +9250,9 @@ global.get $std/array/arr8 i32.const 5 i32.const 0 - i32.const 7 + i32.const 20 i32.const 376 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/array/isArraysEqual i32.eqz if @@ -9234,7 +9260,7 @@ i32.const 160 i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr8 @@ -9245,9 +9271,9 @@ global.get $std/array/arr8 i32.const 5 i32.const 0 - i32.const 7 + i32.const 20 i32.const 400 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/array/isArraysEqual i32.eqz if @@ -9255,7 +9281,7 @@ i32.const 160 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr32 @@ -9266,9 +9292,9 @@ global.get $std/array/arr32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 496 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -9277,7 +9303,7 @@ i32.const 160 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr32 @@ -9288,9 +9314,9 @@ global.get $std/array/arr32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 536 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -9299,7 +9325,7 @@ i32.const 160 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr32 @@ -9310,9 +9336,9 @@ global.get $std/array/arr32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 576 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -9321,7 +9347,7 @@ i32.const 160 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr32 @@ -9332,9 +9358,9 @@ global.get $std/array/arr32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 616 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -9343,7 +9369,7 @@ i32.const 160 i32.const 77 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr32 @@ -9354,9 +9380,9 @@ global.get $std/array/arr32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 656 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -9365,7 +9391,7 @@ i32.const 160 i32.const 80 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9375,7 +9401,7 @@ i32.const 160 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9390,7 +9416,7 @@ i32.const 160 i32.const 85 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9406,7 +9432,7 @@ i32.const 160 i32.const 89 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9418,7 +9444,7 @@ i32.const 160 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9435,7 +9461,7 @@ i32.const 160 i32.const 91 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9449,7 +9475,7 @@ i32.const 160 i32.const 95 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9459,7 +9485,7 @@ i32.const 160 i32.const 96 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9476,7 +9502,7 @@ i32.const 160 i32.const 97 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9491,7 +9517,7 @@ i32.const 160 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9508,7 +9534,7 @@ i32.const 160 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9521,7 +9547,7 @@ i32.const 160 i32.const 103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9536,7 +9562,7 @@ i32.const 160 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9553,7 +9579,7 @@ i32.const 160 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9566,7 +9592,7 @@ i32.const 160 i32.const 109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9579,7 +9605,7 @@ i32.const 160 i32.const 110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9594,7 +9620,7 @@ i32.const 160 i32.const 114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9611,7 +9637,7 @@ i32.const 160 i32.const 115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9624,7 +9650,7 @@ i32.const 160 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9637,7 +9663,7 @@ i32.const 160 i32.const 117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9650,7 +9676,7 @@ i32.const 160 i32.const 118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $~lib/array/Array#constructor @@ -9673,7 +9699,7 @@ i32.const 160 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9685,7 +9711,7 @@ i32.const 160 i32.const 126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9697,15 +9723,15 @@ i32.const 160 i32.const 127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 696 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#concat drop global.get $std/array/arr @@ -9722,7 +9748,7 @@ i32.const 160 i32.const 130 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9735,7 +9761,7 @@ i32.const 160 i32.const 132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9748,7 +9774,7 @@ i32.const 160 i32.const 133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9761,7 +9787,7 @@ i32.const 160 i32.const 134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/other @@ -9788,7 +9814,7 @@ i32.const 160 i32.const 141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/other @@ -9800,7 +9826,7 @@ i32.const 160 i32.const 142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9812,7 +9838,7 @@ i32.const 160 i32.const 143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9825,7 +9851,7 @@ i32.const 160 i32.const 144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9838,7 +9864,7 @@ i32.const 160 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9851,7 +9877,7 @@ i32.const 160 i32.const 146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9864,7 +9890,7 @@ i32.const 160 i32.const 147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9877,7 +9903,7 @@ i32.const 160 i32.const 148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9892,7 +9918,7 @@ i32.const 160 i32.const 151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -9908,7 +9934,7 @@ i32.const 160 i32.const 154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -9921,7 +9947,7 @@ i32.const 160 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/source @@ -9931,7 +9957,7 @@ i32.const 160 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/source @@ -9947,7 +9973,7 @@ i32.const 160 i32.const 160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/source @@ -9957,14 +9983,14 @@ i32.const 160 i32.const 161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 760 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 0 @@ -9973,9 +9999,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 800 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -9984,14 +10010,14 @@ i32.const 160 i32.const 167 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 840 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 1 @@ -10000,9 +10026,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 880 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10011,14 +10037,14 @@ i32.const 160 i32.const 169 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 920 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 1 @@ -10027,9 +10053,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 960 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10038,14 +10064,14 @@ i32.const 160 i32.const 171 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1000 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 2 @@ -10054,9 +10080,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1040 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10065,14 +10091,14 @@ i32.const 160 i32.const 173 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1080 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 0 @@ -10081,9 +10107,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1120 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10092,14 +10118,14 @@ i32.const 160 i32.const 175 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1160 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 1 @@ -10108,9 +10134,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1200 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10119,14 +10145,14 @@ i32.const 160 i32.const 177 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1240 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 1 @@ -10135,9 +10161,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1280 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10146,14 +10172,14 @@ i32.const 160 i32.const 179 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1320 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 0 @@ -10162,9 +10188,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1360 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10173,14 +10199,14 @@ i32.const 160 i32.const 181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1400 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 0 @@ -10189,9 +10215,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1440 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10200,14 +10226,14 @@ i32.const 160 i32.const 183 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1480 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const -4 @@ -10216,9 +10242,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1520 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10227,14 +10253,14 @@ i32.const 160 i32.const 185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1560 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const -4 @@ -10243,9 +10269,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1600 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10254,14 +10280,14 @@ i32.const 160 i32.const 187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1640 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const -4 @@ -10270,9 +10296,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1680 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -10281,7 +10307,7 @@ i32.const 160 i32.const 189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10296,7 +10322,7 @@ i32.const 160 i32.const 195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10313,7 +10339,7 @@ i32.const 160 i32.const 196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10326,7 +10352,7 @@ i32.const 160 i32.const 197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10339,7 +10365,7 @@ i32.const 160 i32.const 198 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10352,7 +10378,7 @@ i32.const 160 i32.const 199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10365,7 +10391,7 @@ i32.const 160 i32.const 200 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10380,7 +10406,7 @@ i32.const 160 i32.const 204 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10397,7 +10423,7 @@ i32.const 160 i32.const 205 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10410,7 +10436,7 @@ i32.const 160 i32.const 206 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10423,7 +10449,7 @@ i32.const 160 i32.const 207 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10436,7 +10462,7 @@ i32.const 160 i32.const 208 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10449,7 +10475,7 @@ i32.const 160 i32.const 209 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10462,7 +10488,7 @@ i32.const 160 i32.const 210 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10476,7 +10502,7 @@ i32.const 160 i32.const 216 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10488,7 +10514,7 @@ i32.const 160 i32.const 217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10505,7 +10531,7 @@ i32.const 160 i32.const 218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10518,7 +10544,7 @@ i32.const 160 i32.const 219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10531,7 +10557,7 @@ i32.const 160 i32.const 220 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10544,7 +10570,7 @@ i32.const 160 i32.const 221 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10557,7 +10583,7 @@ i32.const 160 i32.const 222 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10571,7 +10597,7 @@ i32.const 160 i32.const 226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10583,7 +10609,7 @@ i32.const 160 i32.const 227 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10600,7 +10626,7 @@ i32.const 160 i32.const 228 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10613,7 +10639,7 @@ i32.const 160 i32.const 229 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10626,7 +10652,7 @@ i32.const 160 i32.const 230 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10639,7 +10665,7 @@ i32.const 160 i32.const 231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10653,7 +10679,7 @@ i32.const 160 i32.const 237 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10670,7 +10696,7 @@ i32.const 160 i32.const 238 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10683,7 +10709,7 @@ i32.const 160 i32.const 239 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10696,7 +10722,7 @@ i32.const 160 i32.const 240 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10709,7 +10735,7 @@ i32.const 160 i32.const 241 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10729,7 +10755,7 @@ i32.const 160 i32.const 250 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10745,7 +10771,7 @@ i32.const 160 i32.const 254 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10761,7 +10787,7 @@ i32.const 160 i32.const 258 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10777,7 +10803,7 @@ i32.const 160 i32.const 262 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10793,7 +10819,7 @@ i32.const 160 i32.const 266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10809,7 +10835,7 @@ i32.const 160 i32.const 270 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10825,7 +10851,7 @@ i32.const 160 i32.const 274 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10841,7 +10867,7 @@ i32.const 160 i32.const 278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10857,7 +10883,7 @@ i32.const 160 i32.const 282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10873,7 +10899,7 @@ i32.const 160 i32.const 286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10889,7 +10915,7 @@ i32.const 160 i32.const 292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10905,7 +10931,7 @@ i32.const 160 i32.const 296 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10919,7 +10945,7 @@ i32.const 160 i32.const 300 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10933,7 +10959,7 @@ i32.const 160 i32.const 304 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10949,7 +10975,7 @@ i32.const 160 i32.const 308 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10965,7 +10991,7 @@ i32.const 160 i32.const 312 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10981,7 +11007,7 @@ i32.const 160 i32.const 316 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -10997,7 +11023,7 @@ i32.const 160 i32.const 320 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11013,7 +11039,7 @@ i32.const 160 i32.const 324 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11029,7 +11055,7 @@ i32.const 160 i32.const 328 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11046,7 +11072,7 @@ i32.const 160 i32.const 332 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11063,7 +11089,7 @@ i32.const 160 i32.const 333 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11076,7 +11102,7 @@ i32.const 160 i32.const 334 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11089,7 +11115,7 @@ i32.const 160 i32.const 335 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr @@ -11098,9 +11124,9 @@ call $~lib/array/Array#splice i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1792 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11109,15 +11135,15 @@ i32.const 160 i32.const 340 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1832 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11126,14 +11152,14 @@ i32.const 160 i32.const 341 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1848 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 2 @@ -11141,9 +11167,9 @@ call $~lib/array/Array#splice i32.const 3 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1888 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11152,15 +11178,15 @@ i32.const 160 i32.const 344 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1920 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11169,14 +11195,14 @@ i32.const 160 i32.const 345 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1944 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 2 @@ -11184,9 +11210,9 @@ call $~lib/array/Array#splice i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1984 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11195,15 +11221,15 @@ i32.const 160 i32.const 348 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 3 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2008 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11212,14 +11238,14 @@ i32.const 160 i32.const 349 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2040 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 0 @@ -11227,9 +11253,9 @@ call $~lib/array/Array#splice i32.const 1 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2080 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11238,15 +11264,15 @@ i32.const 160 i32.const 352 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 4 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2104 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11255,14 +11281,14 @@ i32.const 160 i32.const 353 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2136 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const -1 @@ -11270,9 +11296,9 @@ call $~lib/array/Array#splice i32.const 1 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2176 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11281,15 +11307,15 @@ i32.const 160 i32.const 356 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 4 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2200 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11298,14 +11324,14 @@ i32.const 160 i32.const 357 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2232 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const -2 @@ -11313,9 +11339,9 @@ call $~lib/array/Array#splice i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2272 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11324,15 +11350,15 @@ i32.const 160 i32.const 360 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 3 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2296 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11341,14 +11367,14 @@ i32.const 160 i32.const 361 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2328 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const -2 @@ -11356,9 +11382,9 @@ call $~lib/array/Array#splice i32.const 1 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2368 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11367,15 +11393,15 @@ i32.const 160 i32.const 364 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 4 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2392 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11384,14 +11410,14 @@ i32.const 160 i32.const 365 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2424 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const -7 @@ -11399,9 +11425,9 @@ call $~lib/array/Array#splice i32.const 1 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2464 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11410,15 +11436,15 @@ i32.const 160 i32.const 368 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 4 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2488 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11427,14 +11453,14 @@ i32.const 160 i32.const 369 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2520 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const -2 @@ -11442,9 +11468,9 @@ call $~lib/array/Array#splice i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2560 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11453,15 +11479,15 @@ i32.const 160 i32.const 372 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2576 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11470,14 +11496,14 @@ i32.const 160 i32.const 373 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2616 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 1 @@ -11485,9 +11511,9 @@ call $~lib/array/Array#splice i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2656 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11496,15 +11522,15 @@ i32.const 160 i32.const 376 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2672 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11513,14 +11539,14 @@ i32.const 160 i32.const 377 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2712 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 4 @@ -11528,9 +11554,9 @@ call $~lib/array/Array#splice i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2752 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11539,15 +11565,15 @@ i32.const 160 i32.const 380 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2768 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11556,14 +11582,14 @@ i32.const 160 i32.const 381 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2808 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 7 @@ -11571,9 +11597,9 @@ call $~lib/array/Array#splice i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2848 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11582,15 +11608,15 @@ i32.const 160 i32.const 384 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2864 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11599,14 +11625,14 @@ i32.const 160 i32.const 385 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2904 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 7 @@ -11614,9 +11640,9 @@ call $~lib/array/Array#splice i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2944 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11625,15 +11651,15 @@ i32.const 160 i32.const 388 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2960 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11642,7 +11668,7 @@ i32.const 160 i32.const 389 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11671,7 +11697,7 @@ i32.const 160 i32.const 399 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11686,7 +11712,7 @@ i32.const 160 i32.const 402 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11701,7 +11727,7 @@ i32.const 160 i32.const 405 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11716,7 +11742,7 @@ i32.const 160 i32.const 413 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11728,7 +11754,7 @@ i32.const 160 i32.const 414 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11743,7 +11769,7 @@ i32.const 160 i32.const 416 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11770,7 +11796,7 @@ i32.const 160 i32.const 429 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11782,7 +11808,7 @@ i32.const 160 i32.const 430 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11803,7 +11829,7 @@ i32.const 160 i32.const 438 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11816,7 +11842,7 @@ i32.const 160 i32.const 441 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11831,7 +11857,7 @@ i32.const 160 i32.const 449 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11843,7 +11869,7 @@ i32.const 160 i32.const 450 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11856,7 +11882,7 @@ i32.const 160 i32.const 452 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11883,7 +11909,7 @@ i32.const 160 i32.const 465 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11895,7 +11921,7 @@ i32.const 160 i32.const 466 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11916,7 +11942,7 @@ i32.const 160 i32.const 474 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11929,7 +11955,7 @@ i32.const 160 i32.const 477 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11942,7 +11968,7 @@ i32.const 160 i32.const 485 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11954,7 +11980,7 @@ i32.const 160 i32.const 486 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11969,7 +11995,7 @@ i32.const 160 i32.const 488 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -11994,7 +12020,7 @@ i32.const 160 i32.const 501 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12006,7 +12032,7 @@ i32.const 160 i32.const 502 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12028,7 +12054,7 @@ i32.const 160 i32.const 511 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -12044,7 +12070,7 @@ i32.const 160 i32.const 520 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12056,7 +12082,7 @@ i32.const 160 i32.const 521 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -12072,7 +12098,7 @@ i32.const 160 i32.const 524 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12100,7 +12126,7 @@ i32.const 160 i32.const 538 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12112,7 +12138,7 @@ i32.const 160 i32.const 539 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12133,7 +12159,7 @@ i32.const 160 i32.const 564 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end loop $repeat|0 @@ -12175,7 +12201,7 @@ i32.const 160 i32.const 575 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/newArr @@ -12191,7 +12217,7 @@ i32.const 160 i32.const 576 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -12207,7 +12233,7 @@ i32.const 160 i32.const 585 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12219,7 +12245,7 @@ i32.const 160 i32.const 586 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -12235,7 +12261,7 @@ i32.const 160 i32.const 593 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12263,7 +12289,7 @@ i32.const 160 i32.const 608 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12275,7 +12301,7 @@ i32.const 160 i32.const 609 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12297,7 +12323,7 @@ i32.const 160 i32.const 617 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -12314,7 +12340,7 @@ i32.const 160 i32.const 626 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12326,7 +12352,7 @@ i32.const 160 i32.const 627 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -12343,7 +12369,7 @@ i32.const 160 i32.const 634 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12372,7 +12398,7 @@ i32.const 160 i32.const 649 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12384,7 +12410,7 @@ i32.const 160 i32.const 650 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12406,7 +12432,7 @@ i32.const 160 i32.const 658 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12422,7 +12448,7 @@ i32.const 160 i32.const 662 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12440,7 +12466,7 @@ i32.const 160 i32.const 665 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12456,7 +12482,7 @@ i32.const 160 i32.const 668 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12472,7 +12498,7 @@ i32.const 160 i32.const 676 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12484,7 +12510,7 @@ i32.const 160 i32.const 677 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12500,7 +12526,7 @@ i32.const 160 i32.const 679 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12528,7 +12554,7 @@ i32.const 160 i32.const 692 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12540,7 +12566,7 @@ i32.const 160 i32.const 693 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12562,7 +12588,7 @@ i32.const 160 i32.const 701 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12578,7 +12604,7 @@ i32.const 160 i32.const 705 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12596,7 +12622,7 @@ i32.const 160 i32.const 708 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12612,7 +12638,7 @@ i32.const 160 i32.const 711 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12628,7 +12654,7 @@ i32.const 160 i32.const 719 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12640,7 +12666,7 @@ i32.const 160 i32.const 720 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12656,7 +12682,7 @@ i32.const 160 i32.const 722 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12684,7 +12710,7 @@ i32.const 160 i32.const 735 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12694,7 +12720,7 @@ i32.const 160 i32.const 736 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -12735,9 +12761,9 @@ global.get $std/array/f32ArrayTyped i32.const 8 i32.const 2 - i32.const 9 + i32.const 22 i32.const 3312 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/array/isArraysEqual i32.eqz if @@ -12745,7 +12771,7 @@ i32.const 160 i32.const 824 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -12771,9 +12797,9 @@ global.get $std/array/f64ArrayTyped i32.const 8 i32.const 3 - i32.const 10 + i32.const 23 i32.const 3472 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/array/isArraysEqual i32.eqz if @@ -12781,7 +12807,7 @@ i32.const 160 i32.const 828 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -12808,9 +12834,9 @@ global.get $std/array/i32ArrayTyped i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 3624 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12819,7 +12845,7 @@ i32.const 160 i32.const 832 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -12846,9 +12872,9 @@ global.get $std/array/u32ArrayTyped i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 3736 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12857,7 +12883,7 @@ i32.const 160 i32.const 836 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 64 @@ -12882,9 +12908,9 @@ global.get $std/array/reversed1 i32.const 1 i32.const 2 - i32.const 4 + i32.const 17 i32.const 4064 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12893,7 +12919,7 @@ i32.const 160 i32.const 856 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed2 @@ -12901,9 +12927,9 @@ global.get $std/array/reversed2 i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 4088 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12912,7 +12938,7 @@ i32.const 160 i32.const 859 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed4 @@ -12927,7 +12953,7 @@ i32.const 160 i32.const 862 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed64 @@ -12942,7 +12968,7 @@ i32.const 160 i32.const 865 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed128 @@ -12957,7 +12983,7 @@ i32.const 160 i32.const 868 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed1024 @@ -12972,7 +12998,7 @@ i32.const 160 i32.const 871 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed10000 @@ -12987,7 +13013,7 @@ i32.const 160 i32.const 874 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/randomized512 @@ -13033,7 +13059,7 @@ i32.const 160 i32.const 904 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $std/array/createRandomStringArray @@ -13062,9 +13088,9 @@ call $std/array/assertSorted<~lib/array/Array> i32.const 2 i32.const 0 - i32.const 16 + i32.const 29 i32.const 4560 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#join_bool i32.const 4584 call $~lib/string/String.__eq @@ -13074,14 +13100,14 @@ i32.const 160 i32.const 913 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 2 - i32.const 4 + i32.const 17 i32.const 5128 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 4208 call $~lib/array/Array#join i32.const 5160 @@ -13092,14 +13118,14 @@ i32.const 160 i32.const 914 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 2 - i32.const 8 + i32.const 21 i32.const 5248 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 5224 call $~lib/array/Array#join i32.const 5160 @@ -13110,14 +13136,14 @@ i32.const 160 i32.const 915 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 5328 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 5304 call $~lib/array/Array#join i32.const 5352 @@ -13128,14 +13154,14 @@ i32.const 160 i32.const 916 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 6 i32.const 3 - i32.const 10 + i32.const 23 i32.const 6680 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#join_flt i32.const 6744 call $~lib/string/String.__eq @@ -13145,14 +13171,14 @@ i32.const 160 i32.const 917 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 2 - i32.const 15 + i32.const 28 i32.const 6896 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 4208 call $~lib/array/Array<~lib/string/String>#join i32.const 6840 @@ -13163,14 +13189,14 @@ i32.const 160 i32.const 918 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 2 - i32.const 20 + i32.const 33 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $1 i32.load offset=4 local.tee $0 @@ -13194,7 +13220,7 @@ i32.const 160 i32.const 920 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed0 @@ -13207,7 +13233,7 @@ i32.const 160 i32.const 924 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed1 @@ -13220,7 +13246,7 @@ i32.const 160 i32.const 925 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed2 @@ -13233,7 +13259,7 @@ i32.const 160 i32.const 926 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed4 @@ -13246,14 +13272,14 @@ i32.const 160 i32.const 927 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 0 - i32.const 21 + i32.const 34 i32.const 7136 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#join_int i32.const 7160 call $~lib/string/String.__eq @@ -13263,14 +13289,14 @@ i32.const 160 i32.const 929 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 1 - i32.const 22 + i32.const 35 i32.const 7216 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#join_int i32.const 7240 call $~lib/string/String.__eq @@ -13280,14 +13306,14 @@ i32.const 160 i32.const 930 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 3 - i32.const 17 + i32.const 30 i32.const 7320 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#join_int i32.const 7360 call $~lib/string/String.__eq @@ -13297,14 +13323,14 @@ i32.const 160 i32.const 931 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 i32.const 3 - i32.const 23 + i32.const 36 i32.const 7472 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#join_int i32.const 7520 call $~lib/string/String.__eq @@ -13314,7 +13340,7 @@ i32.const 160 i32.const 932 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/randomStringsExpected @@ -13327,14 +13353,14 @@ i32.const 160 i32.const 933 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 i32.const 2 - i32.const 15 + i32.const 28 i32.const 7752 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array<~lib/string/String | null>#toString i32.const 7784 call $~lib/string/String.__eq @@ -13344,29 +13370,29 @@ i32.const 160 i32.const 934 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 i32.const 2 - i32.const 11 + i32.const 24 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $0 i32.load offset=4 local.tee $1 i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 7840 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.store local.get $1 i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 7864 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.store offset=4 local.get $0 global.set $std/array/subarr32 @@ -13380,29 +13406,29 @@ i32.const 160 i32.const 937 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 i32.const 2 - i32.const 24 + i32.const 37 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $0 i32.load offset=4 local.tee $1 i32.const 2 i32.const 0 - i32.const 7 + i32.const 20 i32.const 7944 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.store local.get $1 i32.const 2 i32.const 0 - i32.const 7 + i32.const 20 i32.const 7968 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.store offset=4 local.get $0 global.set $std/array/subarr8 @@ -13416,29 +13442,29 @@ i32.const 160 i32.const 940 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 i32.const 2 - i32.const 26 + i32.const 39 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $0 i32.load offset=4 local.set $1 i32.const 1 i32.const 2 - i32.const 25 + i32.const 38 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.tee $2 i32.load offset=4 i32.const 1 i32.const 2 - i32.const 8 + i32.const 21 i32.const 8064 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.store local.get $1 local.get $2 @@ -13455,7 +13481,7 @@ i32.const 160 i32.const 943 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -13464,11 +13490,188 @@ i32.eqz if call $start:std/array + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 40 + call $~lib/util/runtime/register + global.set $~lib/runtime/ROOT i32.const 1 global.set $~lib/started end ) - (func $null (; 165 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 8072 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 8072 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 166 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 8072 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 8072 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 167 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 168 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 169 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 170 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.tee $2 + i32.eqz + local.tee $0 + if (result i32) + local.get $0 + else + local.get $2 + i32.const 8072 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $2 + i32.const 3 + i32.shl + i32.const 8072 + i32.add + i32.load + end + local.tee $0 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 16 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $3 + local.get $2 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $2 + i32.load + drop + local.get $2 + local.get $1 + i32.store + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $3 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $0 + i32.const 512 + i32.and + if + local.get $1 + local.get $3 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load + drop + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $2 + ) + (func $~lib/runtime/runtime.retain (; 171 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 172 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index b277b396..e8e76bc2 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -26,201 +26,202 @@ (type $FUNCSIG$viji (func (param i32 i64 i32))) (type $FUNCSIG$iiij (func (param i32 i32 i64) (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "Math" "random" (func $~lib/bindings/Math/random (result f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00&\00\00\00\00\00\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 64) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 120) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00") - (data (i32.const 144) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 184) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\02\03\04\05") - (data (i32.const 208) "\07\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c8\00\00\00\c8\00\00\00\05\00\00\00\05\00\00\00") - (data (i32.const 240) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\01\04\05") - (data (i32.const 264) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 312) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 336) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\00\00") - (data (i32.const 360) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") - (data (i32.const 384) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") - (data (i32.const 408) "\02\00\00\00\14\00\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") - (data (i32.const 448) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a8\01\00\00\a8\01\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 480) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 520) "\02\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\00\00\00\00\00\00\00\00") - (data (i32.const 560) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 600) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 640) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 680) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 696) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 712) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c8\02\00\00\c8\02\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 744) "\02\00\00\00\14\00\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") - (data (i32.const 784) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 824) "\02\00\00\00\14\00\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") - (data (i32.const 864) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 904) "\02\00\00\00\14\00\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") - (data (i32.const 944) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 984) "\02\00\00\00\14\00\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") - (data (i32.const 1024) "\02\00\00\00\14\00\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") - (data (i32.const 1064) "\02\00\00\00\14\00\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") - (data (i32.const 1104) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 1144) "\02\00\00\00\14\00\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") - (data (i32.const 1184) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 1224) "\02\00\00\00\14\00\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") - (data (i32.const 1264) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 1304) "\02\00\00\00\14\00\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") - (data (i32.const 1344) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 1384) "\02\00\00\00\14\00\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") - (data (i32.const 1424) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 1464) "\02\00\00\00\14\00\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") - (data (i32.const 1504) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 1544) "\02\00\00\00\14\00\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") - (data (i32.const 1584) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 1624) "\02\00\00\00\14\00\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") - (data (i32.const 1664) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 1704) "\02\00\00\00\14\00\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") - (data (i32.const 1744) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b8\06\00\00\b8\06\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 1776) "\02\00\00\00\14\00\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") - (data (i32.const 1816) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1832) "\02\00\00\00\14\00\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") - (data (i32.const 1872) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1904) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 1928) "\02\00\00\00\14\00\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") - (data (i32.const 1968) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00") - (data (i32.const 1992) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00") - (data (i32.const 2024) "\02\00\00\00\14\00\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") - (data (i32.const 2064) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") - (data (i32.const 2088) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2120) "\02\00\00\00\14\00\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") - (data (i32.const 2160) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00") - (data (i32.const 2184) "\02\00\00\00\10\00\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") - (data (i32.const 2216) "\02\00\00\00\14\00\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") - (data (i32.const 2256) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2280) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 2312) "\02\00\00\00\14\00\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") - (data (i32.const 2352) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00") - (data (i32.const 2376) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00") - (data (i32.const 2408) "\02\00\00\00\14\00\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") - (data (i32.const 2448) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") - (data (i32.const 2472) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2504) "\02\00\00\00\14\00\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") - (data (i32.const 2544) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2560) "\02\00\00\00\14\00\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") - (data (i32.const 2600) "\02\00\00\00\14\00\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") - (data (i32.const 2640) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2656) "\02\00\00\00\14\00\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") - (data (i32.const 2696) "\02\00\00\00\14\00\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") - (data (i32.const 2736) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2752) "\02\00\00\00\14\00\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") - (data (i32.const 2792) "\02\00\00\00\14\00\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") - (data (i32.const 2832) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2848) "\02\00\00\00\14\00\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") - (data (i32.const 2888) "\02\00\00\00\14\00\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") - (data (i32.const 2928) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2944) "\02\00\00\00\14\00\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") - (data (i32.const 2984) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 3024) "\01\00\00\00\ac\00\00\00\00\00\00\00\00\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 3216) "\02\00\00\00 \00\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 3264) "\t\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\0c\00\00\a0\0c\00\00 \00\00\00\08\00\00\00") - (data (i32.const 3296) "\02\00\00\00 \00\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 3344) "\02\00\00\00@\00\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 3424) "\n\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00 \0d\00\00 \0d\00\00@\00\00\00\08\00\00\00") - (data (i32.const 3456) "\02\00\00\00@\00\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 3536) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 3576) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\e0\0d\00\00\e0\0d\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 3608) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 3648) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 3688) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00P\0e\00\00P\0e\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 3720) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 3760) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3776) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c0\0e\00\00\c0\0e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3808) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") - (data (i32.const 3832) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f0\0e\00\00\f0\0e\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 3864) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 3888) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00(\0f\00\00(\0f\00\00\08\00\00\00\02\00\00\00") - (data (i32.const 3920) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3952) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00`\0f\00\00`\0f\00\00\10\00\00\00\04\00\00\00") - (data (i32.const 3984) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 4016) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\0f\00\00\a0\0f\00\00\10\00\00\00\04\00\00\00") - (data (i32.const 4048) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") - (data (i32.const 4072) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 4096) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00a\00") - (data (i32.const 4120) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00b\00") - (data (i32.const 4144) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00a\00b\00") - (data (i32.const 4168) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00b\00a\00") - (data (i32.const 4192) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4208) "\02\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00\10\10\00\00(\10\00\00\10\10\00\00@\10\00\00X\10\00\00p\10\00\00\00\00\00\00") - (data (i32.const 4256) "\0e\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\80\10\00\00\80\10\00\00\1c\00\00\00\07\00\00\00") - (data (i32.const 4288) "\02\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00p\10\00\00\10\10\00\00\10\10\00\00@\10\00\00(\10\00\00X\10\00\00\00\00\00\00") - (data (i32.const 4336) "\0e\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\d0\10\00\00\d0\10\00\00\1c\00\00\00\07\00\00\00") - (data (i32.const 4368) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 4416) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00n\00u\00l\00l\00") - (data (i32.const 4440) "\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") - (data (i32.const 4464) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00t\00r\00u\00e\00") - (data (i32.const 4488) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 4520) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00,\00") - (data (i32.const 4544) "\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") - (data (i32.const 4568) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 4608) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4640) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\000\00") - (data (i32.const 4664) "\02\00\00\00\90\01\00\00\00\00\00\00\00\00\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 5080) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00H\12\00\00H\12\00\00\90\01\00\00d\00\00\00") - (data (i32.const 5112) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 5144) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\001\00-\002\00-\003\00") - (data (i32.const 5176) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 5208) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00-\00") - (data (i32.const 5232) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 5264) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 5288) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00_\00_\00") - (data (i32.const 5312) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 5336) "\01\00\00\000\00\00\00\00\00\00\00\00\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 5400) "\02\00\00\000\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\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 5464) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00,\00 \00") - (data (i32.const 5488) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\000\00.\000\00") - (data (i32.const 5512) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00") - (data (i32.const 5536) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 5576) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 5608) "\02\00\00\00\b8\02\00\00\00\00\00\00\00\00\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 3216) "\0f\00\00\00 \00\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 3264) "\16\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\0c\00\00\a0\0c\00\00 \00\00\00\08\00\00\00") + (data (i32.const 3296) "\0f\00\00\00 \00\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 3344) "\0f\00\00\00@\00\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 3424) "\17\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00 \0d\00\00 \0d\00\00@\00\00\00\08\00\00\00") + (data (i32.const 3456) "\0f\00\00\00@\00\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 3536) "\0f\00\00\00\14\00\00\00\00\00\00\00\00\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 3576) "\11\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\e0\0d\00\00\e0\0d\00\00\14\00\00\00\05\00\00\00") + (data (i32.const 3608) "\0f\00\00\00\14\00\00\00\00\00\00\00\00\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 3648) "\0f\00\00\00\14\00\00\00\00\00\00\00\00\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 3688) "\15\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00P\0e\00\00P\0e\00\00\14\00\00\00\05\00\00\00") + (data (i32.const 3720) "\0f\00\00\00\14\00\00\00\00\00\00\00\00\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 3760) "\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3776) "\11\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c0\0e\00\00\c0\0e\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3808) "\0f\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") + (data (i32.const 3832) "\11\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f0\0e\00\00\f0\0e\00\00\04\00\00\00\01\00\00\00") + (data (i32.const 3864) "\0f\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") + (data (i32.const 3888) "\11\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00(\0f\00\00(\0f\00\00\08\00\00\00\02\00\00\00") + (data (i32.const 3920) "\0f\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3952) "\11\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00`\0f\00\00`\0f\00\00\10\00\00\00\04\00\00\00") + (data (i32.const 3984) "\0f\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 4016) "\11\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\0f\00\00\a0\0f\00\00\10\00\00\00\04\00\00\00") + (data (i32.const 4048) "\0f\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") + (data (i32.const 4072) "\0f\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 4096) "\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00a\00") + (data (i32.const 4120) "\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00b\00") + (data (i32.const 4144) "\10\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00a\00b\00") + (data (i32.const 4168) "\10\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00b\00a\00") + (data (i32.const 4192) "\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4208) "\0f\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00\10\10\00\00(\10\00\00\10\10\00\00@\10\00\00X\10\00\00p\10\00\00\00\00\00\00") + (data (i32.const 4256) "\1b\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\80\10\00\00\80\10\00\00\1c\00\00\00\07\00\00\00") + (data (i32.const 4288) "\0f\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00p\10\00\00\10\10\00\00\10\10\00\00@\10\00\00(\10\00\00X\10\00\00\00\00\00\00") + (data (i32.const 4336) "\1b\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\d0\10\00\00\d0\10\00\00\1c\00\00\00\07\00\00\00") + (data (i32.const 4368) "\10\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 4416) "\10\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00n\00u\00l\00l\00") + (data (i32.const 4440) "\0f\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") + (data (i32.const 4464) "\10\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00t\00r\00u\00e\00") + (data (i32.const 4488) "\10\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 4520) "\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00,\00") + (data (i32.const 4544) "\0f\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") + (data (i32.const 4568) "\10\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") + (data (i32.const 4608) "\0f\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4640) "\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\000\00") + (data (i32.const 4664) "\0f\00\00\00\90\01\00\00\00\00\00\00\00\00\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 5080) "\15\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00H\12\00\00H\12\00\00\90\01\00\00d\00\00\00") + (data (i32.const 5112) "\0f\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 5144) "\10\00\00\00\n\00\00\00\00\00\00\00\00\00\00\001\00-\002\00-\003\00") + (data (i32.const 5176) "\0f\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 5208) "\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00-\00") + (data (i32.const 5232) "\0f\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 5264) "\0f\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 5288) "\10\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00_\00_\00") + (data (i32.const 5312) "\0f\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 5336) "\10\00\00\000\00\00\00\00\00\00\00\00\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 5400) "\0f\00\00\000\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\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 5464) "\10\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00,\00 \00") + (data (i32.const 5488) "\10\00\00\00\06\00\00\00\00\00\00\00\00\00\00\000\00.\000\00") + (data (i32.const 5512) "\10\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00") + (data (i32.const 5536) "\10\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 5576) "\10\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 5608) "\0f\00\00\00\b8\02\00\00\00\00\00\00\00\00\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/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -291,11 +292,21 @@ (global $std/array/subarr8 (mut i32) (i32.const 0)) (global $std/array/subarrU32 (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8068)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 8072)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 8400)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $std/array/main)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -684,9 +695,9 @@ if i32.const 0 i32.const 80 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -701,9 +712,9 @@ if i32.const 0 i32.const 80 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -723,7 +734,7 @@ i32.const 24 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -734,7 +745,7 @@ local.get $1 call $~lib/memory/memory.fill local.get $2 - i32.const 2 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/collector/dummy/__ref_link (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -758,7 +769,7 @@ i32.const 24 i32.const 12 i32.const 57 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -774,7 +785,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 14 call $~lib/util/runtime/register local.set $0 end @@ -826,7 +837,7 @@ else i32.const 16 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 17 call $~lib/util/runtime/register end local.get $1 @@ -867,7 +878,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -890,7 +901,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 19 call $~lib/util/runtime/register end local.get $1 @@ -1214,7 +1225,7 @@ end end ) - (func $~lib/runtime/runtime.newArray (; 24 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/runtime/makeArray (; 24 ;) (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) @@ -1232,7 +1243,7 @@ local.set $5 local.get $5 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 15 call $~lib/util/runtime/register local.set $6 local.get $4 @@ -1301,7 +1312,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1474,7 +1485,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1634,9 +1645,9 @@ if i32.const 0 i32.const 80 - i32.const 88 + i32.const 91 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1691,7 +1702,7 @@ i32.const 280 i32.const 14 i32.const 64 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1789,7 +1800,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1808,9 +1819,9 @@ if i32.const 0 i32.const 280 - i32.const 309 + i32.const 311 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1835,6 +1846,8 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 i32.load offset=12 local.set $2 @@ -1849,25 +1862,44 @@ local.get $2 local.get $3 i32.add - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/runtime/runtime.newArray local.set $4 local.get $4 + global.get $~lib/util/runtime/MAX_BYTELENGTH + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 0 + i32.const 280 + i32.const 236 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + block $~lib/util/runtime/NEWARRAY|inlined.0 (result i32) + local.get $4 + local.set $5 + local.get $5 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end + local.set $6 + local.get $6 i32.load offset=4 - local.set $5 + local.set $7 local.get $2 i32.const 2 i32.shl - local.set $6 - local.get $5 + local.set $8 + local.get $7 local.get $0 i32.load offset=4 - local.get $6 + local.get $8 call $~lib/memory/memory.copy - local.get $5 - local.get $6 + local.get $7 + local.get $8 i32.add local.get $1 i32.load offset=4 @@ -1875,7 +1907,7 @@ i32.const 2 i32.shl call $~lib/memory/memory.copy - local.get $4 + local.get $6 ) (func $~lib/array/Array#copyWithin (; 46 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) @@ -2169,9 +2201,9 @@ if i32.const 0 i32.const 280 - i32.const 381 + i32.const 383 i32.const 20 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2394,11 +2426,15 @@ i32.gt_s select local.set $2 - local.get $2 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/runtime/runtime.newArray + block $~lib/util/runtime/NEWARRAY|inlined.1 (result i32) + local.get $2 + local.set $4 + local.get $4 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end local.set $6 local.get $6 i32.load offset=4 @@ -2955,7 +2991,7 @@ i32.const 160 i32.const 561 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2974,20 +3010,24 @@ local.get $0 i32.load offset=12 local.set $2 - local.get $2 - i32.const 2 - i32.const 9 - i32.const 0 - call $~lib/runtime/runtime.newArray - local.set $3 - local.get $3 - i32.load offset=4 + block $~lib/util/runtime/NEWARRAY|inlined.0 (result i32) + local.get $2 + local.set $3 + local.get $3 + i32.const 2 + i32.const 22 + i32.const 0 + call $~lib/util/runtime/makeArray + end 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 $repeat|0 - local.get $5 + local.get $3 local.get $2 local.tee $6 local.get $0 @@ -3003,14 +3043,14 @@ block local.get $0 i32.load offset=4 - local.get $5 + local.get $3 i32.const 2 i32.shl i32.add i32.load local.set $6 - local.get $4 local.get $5 + local.get $3 i32.const 2 i32.shl i32.add @@ -3018,23 +3058,23 @@ i32.const 3 global.set $~lib/argc local.get $6 - local.get $5 + local.get $3 local.get $0 local.get $1 call_indirect (type $FUNCSIG$fiii) end f32.store end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $repeat|0 unreachable end unreachable end - local.get $3 + local.get $4 ) (func $~lib/array/Array#get:length (; 83 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -3061,7 +3101,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3089,20 +3129,24 @@ local.get $0 i32.load offset=12 local.set $2 - local.get $2 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/runtime/runtime.newArray - local.set $3 - local.get $3 - i32.load offset=4 + block $~lib/util/runtime/NEWARRAY|inlined.2 (result i32) + local.get $2 + local.set $3 + local.get $3 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end 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 $repeat|0 - local.get $5 + local.get $3 local.get $2 local.tee $6 local.get $0 @@ -3118,14 +3162,14 @@ block local.get $0 i32.load offset=4 - local.get $5 + local.get $3 i32.const 2 i32.shl i32.add i32.load local.set $6 - local.get $4 local.get $5 + local.get $3 i32.const 2 i32.shl i32.add @@ -3133,23 +3177,23 @@ i32.const 3 global.set $~lib/argc local.get $6 - local.get $5 + local.get $3 local.get $0 local.get $1 call_indirect (type $FUNCSIG$iiii) end i32.store end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $repeat|0 unreachable end unreachable end - local.get $3 + local.get $4 ) (func $start:std/array~anonymous|23 (; 88 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $std/array/i @@ -3179,22 +3223,26 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/runtime/runtime.newArray - local.set $2 + block $~lib/util/runtime/NEWARRAY|inlined.3 (result i32) + i32.const 0 + local.set $2 + local.get $2 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 i32.load offset=12 local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 local.tee $5 local.get $0 @@ -3210,7 +3258,7 @@ block local.get $0 i32.load offset=4 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add @@ -3220,7 +3268,7 @@ 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) @@ -3228,22 +3276,22 @@ i32.const 0 i32.ne if - local.get $2 + local.get $3 local.get $5 call $~lib/array/Array#push drop end end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end unreachable end - local.get $2 + local.get $3 ) (func $start:std/array~anonymous|26 (; 92 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 @@ -3669,7 +3717,7 @@ i32.const 3000 i32.const 1021 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -4099,9 +4147,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4709,9 +4757,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4859,7 +4907,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5349,9 +5397,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5853,9 +5901,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5956,6 +6004,7 @@ ) (func $~lib/array/Array.create (; 143 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) local.get $0 global.get $~lib/util/runtime/MAX_BYTELENGTH i32.const 2 @@ -5966,25 +6015,29 @@ i32.const 280 i32.const 44 i32.const 62 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/runtime/runtime.newArray - local.set $1 - local.get $1 - i32.load offset=4 - i32.const 0 - local.get $1 - i32.load offset=8 - call $~lib/memory/memory.fill - local.get $1 + block $~lib/util/runtime/NEWARRAY|inlined.4 (result i32) + local.get $0 + local.set $1 + local.get $1 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end + 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 $2 + i32.load offset=8 + call $~lib/memory/memory.fill + local.get $2 ) (func $std/array/createReverseOrderedArray (; 144 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -6031,7 +6084,7 @@ i32.const 3000 i32.const 1030 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/random_state0_64 @@ -6176,7 +6229,7 @@ i32.const 160 i32.const 813 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6210,6 +6263,7 @@ ) (func $~lib/array/Array.create<~lib/array/Array> (; 155 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) local.get $0 global.get $~lib/util/runtime/MAX_BYTELENGTH i32.const 2 @@ -6220,25 +6274,29 @@ i32.const 280 i32.const 44 i32.const 62 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 2 - i32.const 11 - i32.const 0 - call $~lib/runtime/runtime.newArray - local.set $1 - local.get $1 - i32.load offset=4 - i32.const 0 - local.get $1 - i32.load offset=8 - call $~lib/memory/memory.fill - local.get $1 + block $~lib/util/runtime/NEWARRAY<~lib/array/Array>|inlined.0 (result i32) + local.get $0 + local.set $1 + local.get $1 + i32.const 2 + i32.const 24 + i32.const 0 + call $~lib/util/runtime/makeArray + end + 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 $2 + i32.load offset=8 + call $~lib/memory/memory.fill + local.get $2 ) (func $~lib/array/Array<~lib/array/Array>#__unchecked_set (; 156 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -6286,7 +6344,7 @@ i32.const 280 i32.const 111 i32.const 38 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6470,9 +6528,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6556,7 +6614,7 @@ i32.const 280 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6570,7 +6628,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6637,12 +6695,13 @@ i32.const 160 i32.const 813 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) (func $~lib/array/Array.create> (; 167 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) local.get $0 global.get $~lib/util/runtime/MAX_BYTELENGTH i32.const 2 @@ -6653,25 +6712,29 @@ i32.const 280 i32.const 44 i32.const 62 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 2 - i32.const 12 - i32.const 0 - call $~lib/runtime/runtime.newArray - local.set $1 - local.get $1 - i32.load offset=4 - i32.const 0 - local.get $1 - i32.load offset=8 - call $~lib/memory/memory.fill - local.get $1 + block $~lib/util/runtime/NEWARRAY>|inlined.0 (result i32) + local.get $0 + local.set $1 + local.get $1 + i32.const 2 + i32.const 26 + i32.const 0 + call $~lib/util/runtime/makeArray + end + 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 $2 + i32.load offset=8 + call $~lib/memory/memory.fill + local.get $2 ) (func $std/array/Proxy#constructor (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -6679,7 +6742,7 @@ if i32.const 4 call $~lib/util/runtime/allocate - i32.const 13 + i32.const 25 call $~lib/util/runtime/register local.set $0 end @@ -6734,7 +6797,7 @@ i32.const 280 i32.const 111 i32.const 38 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6908,9 +6971,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6994,7 +7057,7 @@ i32.const 280 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -7008,7 +7071,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7075,7 +7138,7 @@ i32.const 160 i32.const 813 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7186,9 +7249,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7274,7 +7337,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7341,7 +7404,7 @@ i32.const 160 i32.const 813 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7607,6 +7670,7 @@ ) (func $~lib/array/Array.create<~lib/string/String> (; 194 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) local.get $0 global.get $~lib/util/runtime/MAX_BYTELENGTH i32.const 2 @@ -7617,25 +7681,29 @@ i32.const 280 i32.const 44 i32.const 62 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 2 - i32.const 15 - i32.const 0 - call $~lib/runtime/runtime.newArray - local.set $1 - local.get $1 - i32.load offset=4 - i32.const 0 - local.get $1 - i32.load offset=8 - call $~lib/memory/memory.fill - local.get $1 + block $~lib/util/runtime/NEWARRAY<~lib/string/String>|inlined.0 (result i32) + local.get $0 + local.set $1 + local.get $1 + i32.const 2 + i32.const 28 + i32.const 0 + call $~lib/util/runtime/makeArray + end + 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 $2 + i32.load offset=8 + call $~lib/memory/memory.fill + local.get $2 ) (func $~lib/string/String#charAt (; 195 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -7648,7 +7716,7 @@ i32.const 4384 i32.const 47 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -7671,7 +7739,7 @@ i32.load16_u i32.store16 local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/string/String#concat (; 196 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -7721,7 +7789,7 @@ local.get $3 call $~lib/memory/memory.copy local.get $5 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/string/String.__concat (; 197 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -7822,7 +7890,7 @@ i32.const 280 i32.const 111 i32.const 38 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7987,9 +8055,9 @@ if i32.const 0 i32.const 280 - i32.const 526 + i32.const 528 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8073,7 +8141,7 @@ i32.const 280 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -8087,7 +8155,7 @@ i32.const 280 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8154,7 +8222,7 @@ i32.const 160 i32.const 813 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8270,7 +8338,7 @@ i32.const 4384 i32.const 203 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8367,7 +8435,7 @@ local.get $3 call $~lib/memory/memory.copy local.get $10 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/runtime/discard (; 212 ;) (type $FUNCSIG$vi) (param $0 i32) @@ -8379,9 +8447,9 @@ if i32.const 0 i32.const 80 - i32.const 114 + i32.const 117 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8396,9 +8464,9 @@ if i32.const 0 i32.const 80 - i32.const 116 + i32.const 119 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -8575,7 +8643,7 @@ return end local.get $7 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 214 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -8849,7 +8917,7 @@ i32.store16 end local.get $3 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa (; 218 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -9046,7 +9114,7 @@ return end local.get $6 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 221 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -9088,7 +9156,7 @@ call $~lib/util/number/utoa32_lut end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa (; 223 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -9265,7 +9333,7 @@ return end local.get $6 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -10892,7 +10960,7 @@ return end local.get $6 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 236 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -11082,7 +11150,7 @@ call $~lib/memory/memory.copy end local.get $10 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/string/String>#join (; 238 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -11097,7 +11165,7 @@ if i32.const 0 call $~lib/util/runtime/allocate - i32.const 19 + i32.const 32 call $~lib/util/runtime/register local.set $0 end @@ -11249,7 +11317,7 @@ return end local.get $6 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 241 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -11477,7 +11545,7 @@ return end local.get $6 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 246 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -11673,7 +11741,7 @@ return end local.get $6 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 251 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -11949,7 +12017,7 @@ end end local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa (; 256 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) @@ -12153,7 +12221,7 @@ return end local.get $6 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 259 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -12254,7 +12322,7 @@ i32.store16 end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa (; 262 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) @@ -12480,7 +12548,7 @@ return end local.get $6 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 265 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -12675,7 +12743,7 @@ call $~lib/memory/memory.copy end local.get $10 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/string/String | null>#join (; 268 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -12991,7 +13059,7 @@ return end local.get $6 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 277 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -13370,7 +13438,7 @@ i32.const 160 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13383,7 +13451,7 @@ i32.const 160 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -13397,7 +13465,7 @@ i32.const 160 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -13412,7 +13480,7 @@ i32.const 160 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/num @@ -13425,7 +13493,7 @@ i32.const 160 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/str @@ -13438,7 +13506,7 @@ i32.const 160 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr8 @@ -13450,9 +13518,9 @@ global.get $std/array/arr8 i32.const 5 i32.const 0 - i32.const 7 + i32.const 20 i32.const 256 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13461,7 +13529,7 @@ i32.const 160 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr8 @@ -13473,9 +13541,9 @@ global.get $std/array/arr8 i32.const 5 i32.const 0 - i32.const 7 + i32.const 20 i32.const 328 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13484,7 +13552,7 @@ i32.const 160 i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr8 @@ -13496,9 +13564,9 @@ global.get $std/array/arr8 i32.const 5 i32.const 0 - i32.const 7 + i32.const 20 i32.const 352 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13507,7 +13575,7 @@ i32.const 160 i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr8 @@ -13519,9 +13587,9 @@ global.get $std/array/arr8 i32.const 5 i32.const 0 - i32.const 7 + i32.const 20 i32.const 376 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13530,7 +13598,7 @@ i32.const 160 i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr8 @@ -13542,9 +13610,9 @@ global.get $std/array/arr8 i32.const 5 i32.const 0 - i32.const 7 + i32.const 20 i32.const 400 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13553,7 +13621,7 @@ i32.const 160 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr32 @@ -13565,9 +13633,9 @@ global.get $std/array/arr32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 496 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13576,7 +13644,7 @@ i32.const 160 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr32 @@ -13588,9 +13656,9 @@ global.get $std/array/arr32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 536 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13599,7 +13667,7 @@ i32.const 160 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr32 @@ -13611,9 +13679,9 @@ global.get $std/array/arr32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 576 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13622,7 +13690,7 @@ i32.const 160 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr32 @@ -13634,9 +13702,9 @@ global.get $std/array/arr32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 616 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13645,7 +13713,7 @@ i32.const 160 i32.const 77 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr32 @@ -13657,9 +13725,9 @@ global.get $std/array/arr32 i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 656 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13668,7 +13736,7 @@ i32.const 160 i32.const 80 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13681,7 +13749,7 @@ i32.const 160 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13694,7 +13762,7 @@ i32.const 160 i32.const 85 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13712,7 +13780,7 @@ i32.const 160 i32.const 89 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13725,7 +13793,7 @@ i32.const 160 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13738,7 +13806,7 @@ i32.const 160 i32.const 91 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13753,7 +13821,7 @@ i32.const 160 i32.const 95 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13766,7 +13834,7 @@ i32.const 160 i32.const 96 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13779,7 +13847,7 @@ i32.const 160 i32.const 97 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13796,7 +13864,7 @@ i32.const 160 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13809,7 +13877,7 @@ i32.const 160 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13823,7 +13891,7 @@ i32.const 160 i32.const 103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13840,7 +13908,7 @@ i32.const 160 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13853,7 +13921,7 @@ i32.const 160 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13867,7 +13935,7 @@ i32.const 160 i32.const 109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13881,7 +13949,7 @@ i32.const 160 i32.const 110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13898,7 +13966,7 @@ i32.const 160 i32.const 114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13911,7 +13979,7 @@ i32.const 160 i32.const 115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13925,7 +13993,7 @@ i32.const 160 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13939,7 +14007,7 @@ i32.const 160 i32.const 117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13953,7 +14021,7 @@ i32.const 160 i32.const 118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -13974,7 +14042,7 @@ i32.const 160 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -13987,7 +14055,7 @@ i32.const 160 i32.const 126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14000,15 +14068,15 @@ i32.const 160 i32.const 127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 696 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#concat drop global.get $std/array/arr @@ -14021,7 +14089,7 @@ i32.const 160 i32.const 130 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14035,7 +14103,7 @@ i32.const 160 i32.const 132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14049,7 +14117,7 @@ i32.const 160 i32.const 133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14063,7 +14131,7 @@ i32.const 160 i32.const 134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/other @@ -14088,7 +14156,7 @@ i32.const 160 i32.const 141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/other @@ -14101,7 +14169,7 @@ i32.const 160 i32.const 142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14114,7 +14182,7 @@ i32.const 160 i32.const 143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14128,7 +14196,7 @@ i32.const 160 i32.const 144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14142,7 +14210,7 @@ i32.const 160 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14156,7 +14224,7 @@ i32.const 160 i32.const 146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14170,7 +14238,7 @@ i32.const 160 i32.const 147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14184,7 +14252,7 @@ i32.const 160 i32.const 148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14200,7 +14268,7 @@ i32.const 160 i32.const 151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14217,7 +14285,7 @@ i32.const 160 i32.const 154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/out @@ -14231,7 +14299,7 @@ i32.const 160 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/source @@ -14244,7 +14312,7 @@ i32.const 160 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/source @@ -14261,7 +14329,7 @@ i32.const 160 i32.const 160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/source @@ -14274,14 +14342,14 @@ i32.const 160 i32.const 161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 760 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 0 @@ -14290,9 +14358,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 800 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14301,14 +14369,14 @@ i32.const 160 i32.const 167 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 840 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 1 @@ -14317,9 +14385,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 880 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14328,14 +14396,14 @@ i32.const 160 i32.const 169 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 920 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 1 @@ -14344,9 +14412,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 960 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14355,14 +14423,14 @@ i32.const 160 i32.const 171 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1000 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 2 @@ -14371,9 +14439,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1040 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14382,14 +14450,14 @@ i32.const 160 i32.const 173 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1080 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 0 @@ -14398,9 +14466,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1120 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14409,14 +14477,14 @@ i32.const 160 i32.const 175 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1160 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 1 @@ -14425,9 +14493,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1200 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14436,14 +14504,14 @@ i32.const 160 i32.const 177 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1240 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 1 @@ -14452,9 +14520,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1280 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14463,14 +14531,14 @@ i32.const 160 i32.const 179 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1320 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 0 @@ -14479,9 +14547,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1360 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14490,14 +14558,14 @@ i32.const 160 i32.const 181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1400 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const 0 @@ -14506,9 +14574,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1440 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14517,14 +14585,14 @@ i32.const 160 i32.const 183 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1480 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const -4 @@ -14533,9 +14601,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1520 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14544,14 +14612,14 @@ i32.const 160 i32.const 185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1560 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const -4 @@ -14560,9 +14628,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1600 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14571,14 +14639,14 @@ i32.const 160 i32.const 187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1640 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/cwArr global.get $std/array/cwArr i32.const -4 @@ -14587,9 +14655,9 @@ call $~lib/array/Array#copyWithin i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1680 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14598,7 +14666,7 @@ i32.const 160 i32.const 189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14615,7 +14683,7 @@ i32.const 160 i32.const 195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14628,7 +14696,7 @@ i32.const 160 i32.const 196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14642,7 +14710,7 @@ i32.const 160 i32.const 197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14656,7 +14724,7 @@ i32.const 160 i32.const 198 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14670,7 +14738,7 @@ i32.const 160 i32.const 199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14684,7 +14752,7 @@ i32.const 160 i32.const 200 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14701,7 +14769,7 @@ i32.const 160 i32.const 204 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14714,7 +14782,7 @@ i32.const 160 i32.const 205 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14728,7 +14796,7 @@ i32.const 160 i32.const 206 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14742,7 +14810,7 @@ i32.const 160 i32.const 207 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14756,7 +14824,7 @@ i32.const 160 i32.const 208 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14770,7 +14838,7 @@ i32.const 160 i32.const 209 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14784,7 +14852,7 @@ i32.const 160 i32.const 210 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14799,7 +14867,7 @@ i32.const 160 i32.const 216 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14812,7 +14880,7 @@ i32.const 160 i32.const 217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14825,7 +14893,7 @@ i32.const 160 i32.const 218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14839,7 +14907,7 @@ i32.const 160 i32.const 219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14853,7 +14921,7 @@ i32.const 160 i32.const 220 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14867,7 +14935,7 @@ i32.const 160 i32.const 221 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14881,7 +14949,7 @@ i32.const 160 i32.const 222 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14896,7 +14964,7 @@ i32.const 160 i32.const 226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14909,7 +14977,7 @@ i32.const 160 i32.const 227 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14922,7 +14990,7 @@ i32.const 160 i32.const 228 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14936,7 +15004,7 @@ i32.const 160 i32.const 229 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14950,7 +15018,7 @@ i32.const 160 i32.const 230 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14964,7 +15032,7 @@ i32.const 160 i32.const 231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14980,7 +15048,7 @@ i32.const 160 i32.const 237 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -14993,7 +15061,7 @@ i32.const 160 i32.const 238 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15007,7 +15075,7 @@ i32.const 160 i32.const 239 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15021,7 +15089,7 @@ i32.const 160 i32.const 240 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15035,7 +15103,7 @@ i32.const 160 i32.const 241 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15060,7 +15128,7 @@ i32.const 160 i32.const 250 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15077,7 +15145,7 @@ i32.const 160 i32.const 254 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15094,7 +15162,7 @@ i32.const 160 i32.const 258 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15111,7 +15179,7 @@ i32.const 160 i32.const 262 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15128,7 +15196,7 @@ i32.const 160 i32.const 266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15145,7 +15213,7 @@ i32.const 160 i32.const 270 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15162,7 +15230,7 @@ i32.const 160 i32.const 274 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15179,7 +15247,7 @@ i32.const 160 i32.const 278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15196,7 +15264,7 @@ i32.const 160 i32.const 282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15213,7 +15281,7 @@ i32.const 160 i32.const 286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15230,7 +15298,7 @@ i32.const 160 i32.const 292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15247,7 +15315,7 @@ i32.const 160 i32.const 296 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15264,7 +15332,7 @@ i32.const 160 i32.const 300 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15281,7 +15349,7 @@ i32.const 160 i32.const 304 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15298,7 +15366,7 @@ i32.const 160 i32.const 308 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15315,7 +15383,7 @@ i32.const 160 i32.const 312 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15332,7 +15400,7 @@ i32.const 160 i32.const 316 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15349,7 +15417,7 @@ i32.const 160 i32.const 320 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15366,7 +15434,7 @@ i32.const 160 i32.const 324 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15383,7 +15451,7 @@ i32.const 160 i32.const 328 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15401,7 +15469,7 @@ i32.const 160 i32.const 332 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15414,7 +15482,7 @@ i32.const 160 i32.const 333 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15428,7 +15496,7 @@ i32.const 160 i32.const 334 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -15442,7 +15510,7 @@ i32.const 160 i32.const 335 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr @@ -15451,9 +15519,9 @@ call $~lib/array/Array#splice i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1792 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15462,15 +15530,15 @@ i32.const 160 i32.const 340 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1832 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15479,14 +15547,14 @@ i32.const 160 i32.const 341 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1848 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 2 @@ -15494,9 +15562,9 @@ call $~lib/array/Array#splice i32.const 3 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1888 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15505,15 +15573,15 @@ i32.const 160 i32.const 344 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1920 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15522,14 +15590,14 @@ i32.const 160 i32.const 345 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1944 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 2 @@ -15537,9 +15605,9 @@ call $~lib/array/Array#splice i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 1984 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15548,15 +15616,15 @@ i32.const 160 i32.const 348 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 3 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2008 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15565,14 +15633,14 @@ i32.const 160 i32.const 349 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2040 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 0 @@ -15580,9 +15648,9 @@ call $~lib/array/Array#splice i32.const 1 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2080 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15591,15 +15659,15 @@ i32.const 160 i32.const 352 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 4 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2104 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15608,14 +15676,14 @@ i32.const 160 i32.const 353 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2136 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const -1 @@ -15623,9 +15691,9 @@ call $~lib/array/Array#splice i32.const 1 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2176 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15634,15 +15702,15 @@ i32.const 160 i32.const 356 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 4 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2200 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15651,14 +15719,14 @@ i32.const 160 i32.const 357 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2232 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const -2 @@ -15666,9 +15734,9 @@ call $~lib/array/Array#splice i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2272 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15677,15 +15745,15 @@ i32.const 160 i32.const 360 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 3 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2296 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15694,14 +15762,14 @@ i32.const 160 i32.const 361 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2328 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const -2 @@ -15709,9 +15777,9 @@ call $~lib/array/Array#splice i32.const 1 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2368 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15720,15 +15788,15 @@ i32.const 160 i32.const 364 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 4 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2392 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15737,14 +15805,14 @@ i32.const 160 i32.const 365 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2424 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const -7 @@ -15752,9 +15820,9 @@ call $~lib/array/Array#splice i32.const 1 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2464 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15763,15 +15831,15 @@ i32.const 160 i32.const 368 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 4 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2488 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15780,14 +15848,14 @@ i32.const 160 i32.const 369 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2520 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const -2 @@ -15795,9 +15863,9 @@ call $~lib/array/Array#splice i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2560 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15806,15 +15874,15 @@ i32.const 160 i32.const 372 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2576 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15823,14 +15891,14 @@ i32.const 160 i32.const 373 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2616 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 1 @@ -15838,9 +15906,9 @@ call $~lib/array/Array#splice i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2656 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15849,15 +15917,15 @@ i32.const 160 i32.const 376 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2672 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15866,14 +15934,14 @@ i32.const 160 i32.const 377 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2712 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 4 @@ -15881,9 +15949,9 @@ call $~lib/array/Array#splice i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2752 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15892,15 +15960,15 @@ i32.const 160 i32.const 380 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2768 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15909,14 +15977,14 @@ i32.const 160 i32.const 381 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2808 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 7 @@ -15924,9 +15992,9 @@ call $~lib/array/Array#splice i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2848 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15935,15 +16003,15 @@ i32.const 160 i32.const 384 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2864 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15952,14 +16020,14 @@ i32.const 160 i32.const 385 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2904 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray global.set $std/array/sarr global.get $std/array/sarr i32.const 7 @@ -15967,9 +16035,9 @@ call $~lib/array/Array#splice i32.const 0 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2944 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15978,15 +16046,15 @@ i32.const 160 i32.const 388 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/sarr i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 2960 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15995,7 +16063,7 @@ i32.const 160 i32.const 389 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16027,7 +16095,7 @@ i32.const 160 i32.const 399 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16043,7 +16111,7 @@ i32.const 160 i32.const 402 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16059,7 +16127,7 @@ i32.const 160 i32.const 405 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16075,7 +16143,7 @@ i32.const 160 i32.const 413 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16088,7 +16156,7 @@ i32.const 160 i32.const 414 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16104,7 +16172,7 @@ i32.const 160 i32.const 416 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16132,7 +16200,7 @@ i32.const 160 i32.const 429 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16145,7 +16213,7 @@ i32.const 160 i32.const 430 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16169,7 +16237,7 @@ i32.const 160 i32.const 438 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16185,7 +16253,7 @@ i32.const 160 i32.const 441 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16201,7 +16269,7 @@ i32.const 160 i32.const 449 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16214,7 +16282,7 @@ i32.const 160 i32.const 450 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16230,7 +16298,7 @@ i32.const 160 i32.const 452 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16258,7 +16326,7 @@ i32.const 160 i32.const 465 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16271,7 +16339,7 @@ i32.const 160 i32.const 466 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16295,7 +16363,7 @@ i32.const 160 i32.const 474 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16311,7 +16379,7 @@ i32.const 160 i32.const 477 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16327,7 +16395,7 @@ i32.const 160 i32.const 485 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16340,7 +16408,7 @@ i32.const 160 i32.const 486 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16356,7 +16424,7 @@ i32.const 160 i32.const 488 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16384,7 +16452,7 @@ i32.const 160 i32.const 501 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16397,7 +16465,7 @@ i32.const 160 i32.const 502 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16422,7 +16490,7 @@ i32.const 160 i32.const 511 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -16439,7 +16507,7 @@ i32.const 160 i32.const 520 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16452,7 +16520,7 @@ i32.const 160 i32.const 521 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -16469,7 +16537,7 @@ i32.const 160 i32.const 524 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16498,7 +16566,7 @@ i32.const 160 i32.const 538 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16511,7 +16579,7 @@ i32.const 160 i32.const 539 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16535,7 +16603,7 @@ i32.const 160 i32.const 564 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|0 @@ -16589,7 +16657,7 @@ i32.const 160 i32.const 575 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/newArr @@ -16606,7 +16674,7 @@ i32.const 160 i32.const 576 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -16624,7 +16692,7 @@ i32.const 160 i32.const 585 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16637,7 +16705,7 @@ i32.const 160 i32.const 586 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -16655,7 +16723,7 @@ i32.const 160 i32.const 593 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16685,7 +16753,7 @@ i32.const 160 i32.const 608 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16698,7 +16766,7 @@ i32.const 160 i32.const 609 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16723,7 +16791,7 @@ i32.const 160 i32.const 617 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -16741,7 +16809,7 @@ i32.const 160 i32.const 626 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16754,7 +16822,7 @@ i32.const 160 i32.const 627 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -16772,7 +16840,7 @@ i32.const 160 i32.const 634 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16802,7 +16870,7 @@ i32.const 160 i32.const 649 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16815,7 +16883,7 @@ i32.const 160 i32.const 650 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16840,7 +16908,7 @@ i32.const 160 i32.const 658 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16857,7 +16925,7 @@ i32.const 160 i32.const 662 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16876,7 +16944,7 @@ i32.const 160 i32.const 665 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16895,7 +16963,7 @@ i32.const 160 i32.const 668 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16912,7 +16980,7 @@ i32.const 160 i32.const 676 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16925,7 +16993,7 @@ i32.const 160 i32.const 677 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16942,7 +17010,7 @@ i32.const 160 i32.const 679 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16971,7 +17039,7 @@ i32.const 160 i32.const 692 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -16984,7 +17052,7 @@ i32.const 160 i32.const 693 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -17009,7 +17077,7 @@ i32.const 160 i32.const 701 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -17026,7 +17094,7 @@ i32.const 160 i32.const 705 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -17045,7 +17113,7 @@ i32.const 160 i32.const 708 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -17064,7 +17132,7 @@ i32.const 160 i32.const 711 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -17081,7 +17149,7 @@ i32.const 160 i32.const 719 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -17094,7 +17162,7 @@ i32.const 160 i32.const 720 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -17111,7 +17179,7 @@ i32.const 160 i32.const 722 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -17140,7 +17208,7 @@ i32.const 160 i32.const 735 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -17153,7 +17221,7 @@ i32.const 160 i32.const 736 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/arr @@ -17186,9 +17254,9 @@ global.get $std/array/f32ArrayTyped i32.const 8 i32.const 2 - i32.const 9 + i32.const 22 i32.const 3312 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17197,7 +17265,7 @@ i32.const 160 i32.const 824 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -17211,9 +17279,9 @@ global.get $std/array/f64ArrayTyped i32.const 8 i32.const 3 - i32.const 10 + i32.const 23 i32.const 3472 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17222,7 +17290,7 @@ i32.const 160 i32.const 828 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -17236,9 +17304,9 @@ global.get $std/array/i32ArrayTyped i32.const 5 i32.const 2 - i32.const 4 + i32.const 17 i32.const 3624 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17247,7 +17315,7 @@ i32.const 160 i32.const 832 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -17261,9 +17329,9 @@ global.get $std/array/u32ArrayTyped i32.const 5 i32.const 2 - i32.const 8 + i32.const 21 i32.const 3736 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17272,7 +17340,7 @@ i32.const 160 i32.const 836 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 64 @@ -17297,9 +17365,9 @@ global.get $std/array/reversed1 i32.const 1 i32.const 2 - i32.const 4 + i32.const 17 i32.const 4064 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17308,7 +17376,7 @@ i32.const 160 i32.const 856 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed2 @@ -17316,9 +17384,9 @@ global.get $std/array/reversed2 i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 4088 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17327,7 +17395,7 @@ i32.const 160 i32.const 859 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed4 @@ -17342,7 +17410,7 @@ i32.const 160 i32.const 862 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed64 @@ -17357,7 +17425,7 @@ i32.const 160 i32.const 865 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed128 @@ -17372,7 +17440,7 @@ i32.const 160 i32.const 868 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed1024 @@ -17387,7 +17455,7 @@ i32.const 160 i32.const 871 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed10000 @@ -17402,7 +17470,7 @@ i32.const 160 i32.const 874 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/randomized512 @@ -17454,7 +17522,7 @@ i32.const 160 i32.const 904 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 400 @@ -17469,9 +17537,9 @@ end i32.const 2 i32.const 0 - i32.const 16 + i32.const 29 i32.const 4560 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 4536 call $~lib/array/Array#join i32.const 4584 @@ -17482,14 +17550,14 @@ i32.const 160 i32.const 913 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 2 - i32.const 4 + i32.const 17 i32.const 5128 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 4208 call $~lib/array/Array#join i32.const 5160 @@ -17500,14 +17568,14 @@ i32.const 160 i32.const 914 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 2 - i32.const 8 + i32.const 21 i32.const 5248 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 5224 call $~lib/array/Array#join i32.const 5160 @@ -17518,14 +17586,14 @@ i32.const 160 i32.const 915 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 5328 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 5304 call $~lib/array/Array#join i32.const 5352 @@ -17536,14 +17604,14 @@ i32.const 160 i32.const 916 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 6 i32.const 3 - i32.const 10 + i32.const 23 i32.const 6680 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 5480 call $~lib/array/Array#join i32.const 6744 @@ -17554,14 +17622,14 @@ i32.const 160 i32.const 917 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 2 - i32.const 15 + i32.const 28 i32.const 6896 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray i32.const 4208 call $~lib/array/Array<~lib/string/String>#join i32.const 6840 @@ -17572,15 +17640,15 @@ i32.const 160 i32.const 918 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) i32.const 3 i32.const 2 - i32.const 20 + i32.const 33 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $0 local.get $0 i32.load offset=4 @@ -17640,7 +17708,7 @@ i32.const 160 i32.const 920 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed0 @@ -17653,7 +17721,7 @@ i32.const 160 i32.const 924 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed1 @@ -17666,7 +17734,7 @@ i32.const 160 i32.const 925 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed2 @@ -17679,7 +17747,7 @@ i32.const 160 i32.const 926 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/reversed4 @@ -17692,14 +17760,14 @@ i32.const 160 i32.const 927 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 0 - i32.const 21 + i32.const 34 i32.const 7136 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#toString i32.const 7160 call $~lib/string/String.__eq @@ -17709,14 +17777,14 @@ i32.const 160 i32.const 929 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 1 - i32.const 22 + i32.const 35 i32.const 7216 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#toString i32.const 7240 call $~lib/string/String.__eq @@ -17726,14 +17794,14 @@ i32.const 160 i32.const 930 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 i32.const 3 - i32.const 17 + i32.const 30 i32.const 7320 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#toString i32.const 7360 call $~lib/string/String.__eq @@ -17743,14 +17811,14 @@ i32.const 160 i32.const 931 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 i32.const 3 - i32.const 23 + i32.const 36 i32.const 7472 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array#toString i32.const 7520 call $~lib/string/String.__eq @@ -17760,7 +17828,7 @@ i32.const 160 i32.const 932 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/array/randomStringsExpected @@ -17773,14 +17841,14 @@ i32.const 160 i32.const 933 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 i32.const 2 - i32.const 15 + i32.const 28 i32.const 7752 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/array/Array<~lib/string/String>#toString i32.const 7784 call $~lib/string/String.__eq @@ -17790,15 +17858,15 @@ i32.const 160 i32.const 934 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) i32.const 2 i32.const 2 - i32.const 11 + i32.const 24 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $1 local.get $1 i32.load offset=4 @@ -17807,9 +17875,9 @@ block (result i32) i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 7840 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $2 local.get $2 local.get $1 @@ -17821,9 +17889,9 @@ block (result i32) i32.const 2 i32.const 2 - i32.const 4 + i32.const 17 i32.const 7864 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $2 local.get $2 local.get $1 @@ -17844,15 +17912,15 @@ i32.const 160 i32.const 937 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) i32.const 2 i32.const 2 - i32.const 24 + i32.const 37 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $0 local.get $0 i32.load offset=4 @@ -17861,9 +17929,9 @@ block (result i32) i32.const 2 i32.const 0 - i32.const 7 + i32.const 20 i32.const 7944 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $2 local.get $2 local.get $0 @@ -17875,9 +17943,9 @@ block (result i32) i32.const 2 i32.const 0 - i32.const 7 + i32.const 20 i32.const 7968 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $2 local.get $2 local.get $0 @@ -17898,15 +17966,15 @@ i32.const 160 i32.const 940 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) i32.const 1 i32.const 2 - i32.const 26 + i32.const 39 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $0 local.get $0 i32.load offset=4 @@ -17916,9 +17984,9 @@ block (result i32) i32.const 1 i32.const 2 - i32.const 25 + i32.const 38 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $2 local.get $2 i32.load offset=4 @@ -17927,9 +17995,9 @@ block (result i32) i32.const 1 i32.const 2 - i32.const 8 + i32.const 21 i32.const 8064 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $4 local.get $4 local.get $2 @@ -17959,7 +18027,7 @@ i32.const 160 i32.const 943 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -17972,9 +18040,233 @@ global.set $~lib/started end ) - (func $start (; 288 ;) (type $FUNCSIG$v) - call $start:std/array + (func $~lib/runtime/runtime.instanceof (; 288 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 289 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 289 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 290 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 291 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 292 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 293 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.tee $6 + local.get $1 + local.tee $7 + local.get $6 + i32.load + local.tee $8 + i32.ne + if (result i32) + local.get $8 + if + local.get $8 + local.get $6 + call $~lib/collector/dummy/__ref_unlink + end + local.get $7 + local.get $6 + call $~lib/collector/dummy/__ref_link + local.get $7 + else + local.get $7 + end + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $8 + block $break|0 + loop $continue|0 + local.get $6 + local.get $8 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $7 + local.get $7 + if + local.get $7 + local.get $5 + call $~lib/collector/dummy/__ref_link + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/Root#constructor (; 294 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 40 + call $~lib/util/runtime/register + local.set $0 + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 295 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_link + ) + (func $~lib/runtime/runtime.release (; 296 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_unlink + ) + (func $~lib/collector/dummy/__ref_collect (; 297 ;) (type $FUNCSIG$v) + nop + ) + (func $~lib/runtime/runtime.collect (; 298 ;) (type $FUNCSIG$v) + call $~lib/collector/dummy/__ref_collect + ) + (func $~lib/runtime/runtime#constructor (; 299 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 300 ;) (type $FUNCSIG$v) + call $start:std/array + i32.const 0 + call $~lib/runtime/Root#constructor + global.set $~lib/runtime/ROOT + ) + (func $null (; 301 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/arraybuffer.optimized.wat b/tests/compiler/std/arraybuffer.optimized.wat index ceb90c52..2f794dd4 100644 --- a/tests/compiler/std/arraybuffer.optimized.wat +++ b/tests/compiler/std/arraybuffer.optimized.wat @@ -5,17 +5,19 @@ (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$v (func)) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\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 56) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 104) "\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 152) "\02\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 168) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\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 56) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 104) "\10\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 152) "\0f\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 168) "\10\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data (i32.const 208) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 248) "\1d") + (data (i32.const 384) "!\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/arraybuffer/buffer (mut i32) (i32.const 0)) @@ -23,7 +25,15 @@ (global $std/arraybuffer/arr8 (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -322,14 +332,14 @@ (func $~lib/util/runtime/register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 208 + i32.const 488 i32.le_u if i32.const 0 i32.const 64 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -342,9 +352,9 @@ if i32.const 0 i32.const 64 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -362,7 +372,7 @@ i32.const 16 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -371,7 +381,7 @@ local.get $0 call $~lib/memory/memory.fill local.get $1 - i32.const 2 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/memory/memory.copy (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) @@ -612,7 +622,7 @@ local.get $2 call $~lib/memory/memory.copy local.get $3 - i32.const 2 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBufferView#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -627,7 +637,7 @@ i32.const 16 i32.const 12 i32.const 57 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -641,7 +651,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 14 call $~lib/util/runtime/register local.set $0 end @@ -665,17 +675,17 @@ i32.store offset=8 local.get $0 ) - (func $~lib/runtime/runtime.newArray (; 9 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/runtime/makeArray (; 9 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) i32.const 16 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 17 call $~lib/util/runtime/register local.tee $0 i32.const 8 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 15 call $~lib/util/runtime/register local.tee $1 i32.store @@ -711,12 +721,12 @@ i32.const 176 i32.const 21 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 12 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 29 call $~lib/util/runtime/register local.tee $2 i32.const 0 @@ -761,7 +771,7 @@ call $~lib/dataview/DataView#constructor ) (func $start:std/arraybuffer (; 12 ;) (type $FUNCSIG$v) - i32.const 208 + i32.const 488 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -779,7 +789,7 @@ i32.const 112 i32.const 3 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -798,7 +808,7 @@ i32.const 112 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/sliced @@ -809,7 +819,7 @@ i32.const 112 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -828,7 +838,7 @@ i32.const 112 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -847,7 +857,7 @@ i32.const 112 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -866,7 +876,7 @@ i32.const 112 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -885,7 +895,7 @@ i32.const 112 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -904,7 +914,7 @@ i32.const 112 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -923,7 +933,7 @@ i32.const 112 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -940,7 +950,7 @@ i32.const 112 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/sliced @@ -950,17 +960,17 @@ i32.const 112 i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 12 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 19 call $~lib/util/runtime/register i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor global.set $std/arraybuffer/arr8 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray drop global.get $std/arraybuffer/arr8 if (result i32) @@ -974,14 +984,14 @@ i32.const 112 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $__inlined_func$~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array>11 (result i32) i32.const 1 i32.const 12 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 23 call $~lib/util/runtime/register i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor @@ -995,7 +1005,7 @@ i32.const 112 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -1015,14 +1025,197 @@ i32.const 112 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 13 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 248 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 248 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 248 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 248 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + i32.const 248 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 248 + i32.add + i32.load + end + local.tee $3 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 8 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $2 + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $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 $0 + local.get $2 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $3 + i32.const 512 + i32.and + if + local.get $1 + local.get $2 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + if + i32.const 0 + i32.const 216 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 20 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 216 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 21 ;) (type $FUNCSIG$v) call $start:std/arraybuffer ) - (func $null (; 14 ;) (type $FUNCSIG$v) + (func $null (; 22 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/arraybuffer.untouched.wat b/tests/compiler/std/arraybuffer.untouched.wat index 00dee2f8..825e15de 100644 --- a/tests/compiler/std/arraybuffer.untouched.wat +++ b/tests/compiler/std/arraybuffer.untouched.wat @@ -6,13 +6,16 @@ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 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) "\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 56) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 104) "\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 152) "\02\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 168) "\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 8) "\10\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 56) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 104) "\10\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 152) "\0f\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 168) "\10\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 208) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 248) "\1d\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -25,9 +28,18 @@ (global $std/arraybuffer/sliced (mut i32) (i32.const 0)) (global $std/arraybuffer/arr8 (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 208)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 248)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 488)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -407,9 +419,9 @@ if i32.const 0 i32.const 64 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -424,9 +436,9 @@ if i32.const 0 i32.const 64 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -444,7 +456,7 @@ i32.const 16 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -455,7 +467,7 @@ local.get $1 call $~lib/memory/memory.fill local.get $2 - i32.const 2 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -753,7 +765,7 @@ local.get $6 call $~lib/memory/memory.copy local.get $7 - i32.const 2 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -1338,7 +1350,7 @@ i32.const 16 i32.const 12 i32.const 57 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1354,7 +1366,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 14 call $~lib/util/runtime/register local.set $0 end @@ -1386,7 +1398,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 19 call $~lib/util/runtime/register end local.get $1 @@ -1395,7 +1407,7 @@ local.set $0 local.get $0 ) - (func $~lib/runtime/runtime.newArray (; 18 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/runtime/makeArray (; 18 ;) (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) @@ -1410,7 +1422,7 @@ local.set $5 local.get $5 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 15 call $~lib/util/runtime/register local.set $6 local.get $4 @@ -1441,7 +1453,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 23 call $~lib/util/runtime/register end local.get $1 @@ -1467,7 +1479,7 @@ i32.const 176 i32.const 21 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -1476,7 +1488,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 29 call $~lib/util/runtime/register local.set $0 end @@ -1559,7 +1571,7 @@ i32.const 112 i32.const 3 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -1577,7 +1589,7 @@ i32.const 112 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/sliced @@ -1589,7 +1601,7 @@ i32.const 112 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -1607,7 +1619,7 @@ i32.const 112 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -1625,7 +1637,7 @@ i32.const 112 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -1643,7 +1655,7 @@ i32.const 112 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -1661,7 +1673,7 @@ i32.const 112 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -1679,7 +1691,7 @@ i32.const 112 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -1697,7 +1709,7 @@ i32.const 112 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/buffer @@ -1715,7 +1727,7 @@ i32.const 112 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/sliced @@ -1727,7 +1739,7 @@ i32.const 112 i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1739,7 +1751,7 @@ i32.const 112 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1751,7 +1763,7 @@ i32.const 112 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1763,7 +1775,7 @@ i32.const 112 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1775,7 +1787,7 @@ i32.const 112 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1787,7 +1799,7 @@ i32.const 112 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1796,9 +1808,9 @@ global.set $std/arraybuffer/arr8 i32.const 2 i32.const 2 - i32.const 5 + i32.const 17 i32.const 160 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> i32.eqz i32.eqz @@ -1807,7 +1819,7 @@ i32.const 112 i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/arraybuffer/arr8 @@ -1818,7 +1830,7 @@ i32.const 112 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1831,7 +1843,7 @@ i32.const 112 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -1851,13 +1863,207 @@ i32.const 112 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 24 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 29 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.get $1 + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $7 + block $break|0 + loop $continue|0 + local.get $6 + local.get $7 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $8 + local.get $8 + if + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 216 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/runtime.retain (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.release (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 32 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 216 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/runtime/runtime#constructor (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 34 ;) (type $FUNCSIG$v) call $start:std/arraybuffer ) - (func $null (; 25 ;) (type $FUNCSIG$v) + (func $null (; 35 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/dataview.optimized.wat b/tests/compiler/std/dataview.optimized.wat index cec7a2f0..7d084c70 100644 --- a/tests/compiler/std/dataview.optimized.wat +++ b/tests/compiler/std/dataview.optimized.wat @@ -13,22 +13,32 @@ (type $FUNCSIG$vifi (func (param i32 f32 i32))) (type $FUNCSIG$vidi (func (param i32 f64 i32))) (type $FUNCSIG$viji (func (param i32 i64 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\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 56) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 104) "\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 152) "\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 192) "\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\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 56) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 104) "\10\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 152) "\10\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data (i32.const 192) "\10\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data (i32.const 232) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 272) "\13") + (data (i32.const 412) "\0e") + (data (i32.const 424) "!\00\00\00\0e") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/dataview/array (mut i32) (i32.const 0)) (global $std/dataview/view (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -160,14 +170,14 @@ (func $~lib/util/runtime/register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 232 + i32.const 432 i32.le_u if i32.const 0 i32.const 64 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -180,9 +190,9 @@ if i32.const 0 i32.const 64 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -197,7 +207,7 @@ local.tee $1 call $~lib/memory/memory.fill local.get $1 - i32.const 2 + i32.const 15 call $~lib/util/runtime/register local.set $1 local.get $0 @@ -205,7 +215,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 14 call $~lib/util/runtime/register local.set $0 end @@ -239,7 +249,7 @@ i32.const 112 i32.const 116 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -268,12 +278,12 @@ i32.const 160 i32.const 21 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 12 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 18 call $~lib/util/runtime/register local.tee $3 i32.const 0 @@ -313,7 +323,7 @@ i32.const 160 i32.const 44 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -379,7 +389,7 @@ i32.const 160 i32.const 58 i32.const 7 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -405,7 +415,7 @@ i32.const 160 i32.const 69 i32.const 49 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -430,7 +440,7 @@ i32.const 160 i32.const 77 i32.const 7 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -472,7 +482,7 @@ i32.const 160 i32.const 86 i32.const 7 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -509,7 +519,7 @@ i32.const 160 i32.const 180 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -534,7 +544,7 @@ i32.const 160 i32.const 92 i32.const 49 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -559,7 +569,7 @@ i32.const 160 i32.const 100 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -599,7 +609,7 @@ i32.const 160 i32.const 109 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -636,7 +646,7 @@ i32.const 160 i32.const 189 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -661,7 +671,7 @@ i32.const 160 i32.const 118 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -699,7 +709,7 @@ i32.const 160 i32.const 127 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -727,7 +737,7 @@ i32.const 160 i32.const 133 i32.const 49 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -745,7 +755,7 @@ i32.const 160 i32.const 141 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -781,7 +791,7 @@ i32.const 160 i32.const 149 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -817,7 +827,7 @@ i32.const 160 i32.const 198 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -841,7 +851,7 @@ i32.const 160 i32.const 154 i32.const 49 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -859,7 +869,7 @@ i32.const 160 i32.const 162 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -893,7 +903,7 @@ i32.const 160 i32.const 170 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -929,7 +939,7 @@ i32.const 160 i32.const 206 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -968,13 +978,13 @@ ) (func $start:std/dataview (; 30 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 232 + i32.const 432 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset i32.const 12 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 17 call $~lib/util/runtime/register call $~lib/arraybuffer/ArrayBufferView#constructor global.set $std/dataview/array @@ -1033,7 +1043,7 @@ i32.const 200 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1047,7 +1057,7 @@ i32.const 200 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1061,7 +1071,7 @@ i32.const 200 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1075,7 +1085,7 @@ i32.const 200 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1089,7 +1099,7 @@ i32.const 200 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1103,7 +1113,7 @@ i32.const 200 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1117,7 +1127,7 @@ i32.const 200 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1131,7 +1141,7 @@ i32.const 200 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1145,7 +1155,7 @@ i32.const 200 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1159,7 +1169,7 @@ i32.const 200 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1172,7 +1182,7 @@ i32.const 200 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1185,7 +1195,7 @@ i32.const 200 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1198,7 +1208,7 @@ i32.const 200 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1211,7 +1221,7 @@ i32.const 200 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1224,7 +1234,7 @@ i32.const 200 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1237,7 +1247,7 @@ i32.const 200 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1250,7 +1260,7 @@ i32.const 200 i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1263,7 +1273,7 @@ i32.const 200 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1276,7 +1286,7 @@ i32.const 200 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1289,7 +1299,7 @@ i32.const 200 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1305,7 +1315,7 @@ i32.const 200 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1321,7 +1331,7 @@ i32.const 200 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1337,7 +1347,7 @@ i32.const 200 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1353,7 +1363,7 @@ i32.const 200 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1369,7 +1379,7 @@ i32.const 200 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1385,7 +1395,7 @@ i32.const 200 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1401,7 +1411,7 @@ i32.const 200 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1417,7 +1427,7 @@ i32.const 200 i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1433,7 +1443,7 @@ i32.const 200 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1449,7 +1459,7 @@ i32.const 200 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1465,7 +1475,7 @@ i32.const 200 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1481,7 +1491,7 @@ i32.const 200 i32.const 50 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1497,7 +1507,7 @@ i32.const 200 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1513,7 +1523,7 @@ i32.const 200 i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1527,7 +1537,7 @@ i32.const 200 i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1541,7 +1551,7 @@ i32.const 200 i32.const 55 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1555,7 +1565,7 @@ i32.const 200 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1569,7 +1579,7 @@ i32.const 200 i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1583,7 +1593,7 @@ i32.const 200 i32.const 58 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1597,7 +1607,7 @@ i32.const 200 i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1611,7 +1621,7 @@ i32.const 200 i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1625,7 +1635,7 @@ i32.const 200 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1639,7 +1649,7 @@ i32.const 200 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1653,7 +1663,7 @@ i32.const 200 i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1666,7 +1676,7 @@ i32.const 200 i32.const 66 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1679,7 +1689,7 @@ i32.const 200 i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1692,7 +1702,7 @@ i32.const 200 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1705,7 +1715,7 @@ i32.const 200 i32.const 70 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1718,7 +1728,7 @@ i32.const 200 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1731,7 +1741,7 @@ i32.const 200 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1744,7 +1754,7 @@ i32.const 200 i32.const 73 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1757,7 +1767,7 @@ i32.const 200 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1770,7 +1780,7 @@ i32.const 200 i32.const 75 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1783,7 +1793,7 @@ i32.const 200 i32.const 76 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1799,7 +1809,7 @@ i32.const 200 i32.const 78 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1815,7 +1825,7 @@ i32.const 200 i32.const 79 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1831,7 +1841,7 @@ i32.const 200 i32.const 80 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1847,7 +1857,7 @@ i32.const 200 i32.const 81 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1863,7 +1873,7 @@ i32.const 200 i32.const 82 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1879,7 +1889,7 @@ i32.const 200 i32.const 83 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1895,7 +1905,7 @@ i32.const 200 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1911,7 +1921,7 @@ i32.const 200 i32.const 86 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1927,7 +1937,7 @@ i32.const 200 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1943,7 +1953,7 @@ i32.const 200 i32.const 88 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1959,7 +1969,7 @@ i32.const 200 i32.const 89 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1975,7 +1985,7 @@ i32.const 200 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1991,7 +2001,7 @@ i32.const 200 i32.const 91 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2007,7 +2017,7 @@ i32.const 200 i32.const 92 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2021,7 +2031,7 @@ i32.const 200 i32.const 94 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2035,7 +2045,7 @@ i32.const 200 i32.const 95 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2049,7 +2059,7 @@ i32.const 200 i32.const 96 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2063,7 +2073,7 @@ i32.const 200 i32.const 97 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2077,7 +2087,7 @@ i32.const 200 i32.const 98 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2091,7 +2101,7 @@ i32.const 200 i32.const 100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2105,7 +2115,7 @@ i32.const 200 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2119,7 +2129,7 @@ i32.const 200 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2133,7 +2143,7 @@ i32.const 200 i32.const 103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2147,7 +2157,7 @@ i32.const 200 i32.const 104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2160,7 +2170,7 @@ i32.const 200 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2173,7 +2183,7 @@ i32.const 200 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2191,7 +2201,7 @@ i32.const 200 i32.const 110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2209,7 +2219,7 @@ i32.const 200 i32.const 113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2226,7 +2236,7 @@ i32.const 200 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2243,7 +2253,7 @@ i32.const 200 i32.const 119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2258,7 +2268,7 @@ i32.const 200 i32.const 122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2278,7 +2288,7 @@ i32.const 200 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2298,7 +2308,7 @@ i32.const 200 i32.const 128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2316,7 +2326,7 @@ i32.const 200 i32.const 131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2334,7 +2344,7 @@ i32.const 200 i32.const 134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2351,7 +2361,7 @@ i32.const 200 i32.const 137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2368,7 +2378,7 @@ i32.const 200 i32.const 140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2383,7 +2393,7 @@ i32.const 200 i32.const 143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2403,7 +2413,7 @@ i32.const 200 i32.const 146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2423,7 +2433,7 @@ i32.const 200 i32.const 149 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2441,7 +2451,7 @@ i32.const 200 i32.const 152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2459,7 +2469,7 @@ i32.const 200 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2476,7 +2486,7 @@ i32.const 200 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2493,7 +2503,7 @@ i32.const 200 i32.const 161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -2513,7 +2523,7 @@ i32.const 200 i32.const 164 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2525,14 +2535,197 @@ i32.const 200 i32.const 165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 31 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 272 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 272 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 272 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 272 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + i32.const 272 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 272 + i32.add + i32.load + end + local.tee $3 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 8 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $2 + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $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 $0 + local.get $2 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $3 + i32.const 512 + i32.and + if + local.get $1 + local.get $2 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + if + i32.const 0 + i32.const 240 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 38 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 240 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 39 ;) (type $FUNCSIG$v) call $start:std/dataview ) - (func $null (; 32 ;) (type $FUNCSIG$v) + (func $null (; 40 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/dataview.untouched.wat b/tests/compiler/std/dataview.untouched.wat index caabcb01..cdb5839d 100644 --- a/tests/compiler/std/dataview.untouched.wat +++ b/tests/compiler/std/dataview.untouched.wat @@ -13,13 +13,16 @@ (type $FUNCSIG$viidi (func (param i32 i32 f64 i32))) (type $FUNCSIG$viiji (func (param i32 i32 i64 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 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) "\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 56) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 104) "\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 152) "\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 192) "\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 8) "\10\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 56) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 104) "\10\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 152) "\10\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 192) "\10\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 232) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 272) "\13\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -31,9 +34,18 @@ (global $std/dataview/array (mut i32) (i32.const 0)) (global $std/dataview/view (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 232)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 272)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 432)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -413,9 +425,9 @@ if i32.const 0 i32.const 64 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -430,9 +442,9 @@ if i32.const 0 i32.const 64 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -450,7 +462,7 @@ i32.const 16 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -461,7 +473,7 @@ local.get $1 call $~lib/memory/memory.fill local.get $2 - i32.const 2 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBufferView#constructor (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -476,7 +488,7 @@ i32.const 16 i32.const 12 i32.const 57 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -492,7 +504,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 14 call $~lib/util/runtime/register local.set $0 end @@ -524,7 +536,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 17 call $~lib/util/runtime/register end local.get $1 @@ -543,7 +555,7 @@ i32.const 112 i32.const 116 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -576,7 +588,7 @@ i32.const 160 i32.const 21 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -585,7 +597,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -659,7 +671,7 @@ i32.const 160 i32.const 44 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -736,7 +748,7 @@ i32.const 160 i32.const 58 i32.const 7 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -768,7 +780,7 @@ i32.const 160 i32.const 69 i32.const 49 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -810,7 +822,7 @@ i32.const 160 i32.const 77 i32.const 7 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -860,7 +872,7 @@ i32.const 160 i32.const 86 i32.const 7 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -935,7 +947,7 @@ i32.const 160 i32.const 180 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -964,7 +976,7 @@ i32.const 160 i32.const 92 i32.const 49 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1004,7 +1016,7 @@ i32.const 160 i32.const 100 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1040,7 +1052,7 @@ i32.const 160 i32.const 109 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1076,7 +1088,7 @@ i32.const 160 i32.const 189 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1111,7 +1123,7 @@ i32.const 160 i32.const 118 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1151,7 +1163,7 @@ i32.const 160 i32.const 127 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1185,7 +1197,7 @@ i32.const 160 i32.const 133 i32.const 49 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1211,7 +1223,7 @@ i32.const 160 i32.const 141 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1245,7 +1257,7 @@ i32.const 160 i32.const 149 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1279,7 +1291,7 @@ i32.const 160 i32.const 198 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1307,7 +1319,7 @@ i32.const 160 i32.const 154 i32.const 49 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1333,7 +1345,7 @@ i32.const 160 i32.const 162 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1367,7 +1379,7 @@ i32.const 160 i32.const 170 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1401,7 +1413,7 @@ i32.const 160 i32.const 206 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1523,7 +1535,7 @@ i32.const 200 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1538,7 +1550,7 @@ i32.const 200 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1553,7 +1565,7 @@ i32.const 200 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1568,7 +1580,7 @@ i32.const 200 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1583,7 +1595,7 @@ i32.const 200 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1598,7 +1610,7 @@ i32.const 200 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1613,7 +1625,7 @@ i32.const 200 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1628,7 +1640,7 @@ i32.const 200 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1643,7 +1655,7 @@ i32.const 200 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1658,7 +1670,7 @@ i32.const 200 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1673,7 +1685,7 @@ i32.const 200 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1688,7 +1700,7 @@ i32.const 200 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1702,7 +1714,7 @@ i32.const 200 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1716,7 +1728,7 @@ i32.const 200 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1730,7 +1742,7 @@ i32.const 200 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1744,7 +1756,7 @@ i32.const 200 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1758,7 +1770,7 @@ i32.const 200 i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1772,7 +1784,7 @@ i32.const 200 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1786,7 +1798,7 @@ i32.const 200 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1800,7 +1812,7 @@ i32.const 200 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1819,7 +1831,7 @@ i32.const 200 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1838,7 +1850,7 @@ i32.const 200 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1857,7 +1869,7 @@ i32.const 200 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1876,7 +1888,7 @@ i32.const 200 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1895,7 +1907,7 @@ i32.const 200 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1914,7 +1926,7 @@ i32.const 200 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1933,7 +1945,7 @@ i32.const 200 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1952,7 +1964,7 @@ i32.const 200 i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1971,7 +1983,7 @@ i32.const 200 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -1990,7 +2002,7 @@ i32.const 200 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2009,7 +2021,7 @@ i32.const 200 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2028,7 +2040,7 @@ i32.const 200 i32.const 50 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2047,7 +2059,7 @@ i32.const 200 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2066,7 +2078,7 @@ i32.const 200 i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2081,7 +2093,7 @@ i32.const 200 i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2096,7 +2108,7 @@ i32.const 200 i32.const 55 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2111,7 +2123,7 @@ i32.const 200 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2126,7 +2138,7 @@ i32.const 200 i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2141,7 +2153,7 @@ i32.const 200 i32.const 58 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2156,7 +2168,7 @@ i32.const 200 i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2171,7 +2183,7 @@ i32.const 200 i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2186,7 +2198,7 @@ i32.const 200 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2201,7 +2213,7 @@ i32.const 200 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2216,7 +2228,7 @@ i32.const 200 i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2231,7 +2243,7 @@ i32.const 200 i32.const 66 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2246,7 +2258,7 @@ i32.const 200 i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2260,7 +2272,7 @@ i32.const 200 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2274,7 +2286,7 @@ i32.const 200 i32.const 70 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2288,7 +2300,7 @@ i32.const 200 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2302,7 +2314,7 @@ i32.const 200 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2316,7 +2328,7 @@ i32.const 200 i32.const 73 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2330,7 +2342,7 @@ i32.const 200 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2344,7 +2356,7 @@ i32.const 200 i32.const 75 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2358,7 +2370,7 @@ i32.const 200 i32.const 76 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2375,7 +2387,7 @@ i32.const 200 i32.const 78 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2392,7 +2404,7 @@ i32.const 200 i32.const 79 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2409,7 +2421,7 @@ i32.const 200 i32.const 80 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2426,7 +2438,7 @@ i32.const 200 i32.const 81 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2443,7 +2455,7 @@ i32.const 200 i32.const 82 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2460,7 +2472,7 @@ i32.const 200 i32.const 83 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2477,7 +2489,7 @@ i32.const 200 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2494,7 +2506,7 @@ i32.const 200 i32.const 86 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2511,7 +2523,7 @@ i32.const 200 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2528,7 +2540,7 @@ i32.const 200 i32.const 88 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2545,7 +2557,7 @@ i32.const 200 i32.const 89 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2562,7 +2574,7 @@ i32.const 200 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2579,7 +2591,7 @@ i32.const 200 i32.const 91 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2596,7 +2608,7 @@ i32.const 200 i32.const 92 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2611,7 +2623,7 @@ i32.const 200 i32.const 94 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2626,7 +2638,7 @@ i32.const 200 i32.const 95 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2641,7 +2653,7 @@ i32.const 200 i32.const 96 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2656,7 +2668,7 @@ i32.const 200 i32.const 97 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2671,7 +2683,7 @@ i32.const 200 i32.const 98 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2686,7 +2698,7 @@ i32.const 200 i32.const 100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2701,7 +2713,7 @@ i32.const 200 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2716,7 +2728,7 @@ i32.const 200 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2731,7 +2743,7 @@ i32.const 200 i32.const 103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2746,7 +2758,7 @@ i32.const 200 i32.const 104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2761,7 +2773,7 @@ i32.const 200 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2776,7 +2788,7 @@ i32.const 200 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2796,7 +2808,7 @@ i32.const 200 i32.const 110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2816,7 +2828,7 @@ i32.const 200 i32.const 113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2836,7 +2848,7 @@ i32.const 200 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2856,7 +2868,7 @@ i32.const 200 i32.const 119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2874,7 +2886,7 @@ i32.const 200 i32.const 122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2898,7 +2910,7 @@ i32.const 200 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2922,7 +2934,7 @@ i32.const 200 i32.const 128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2942,7 +2954,7 @@ i32.const 200 i32.const 131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2962,7 +2974,7 @@ i32.const 200 i32.const 134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -2982,7 +2994,7 @@ i32.const 200 i32.const 137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -3002,7 +3014,7 @@ i32.const 200 i32.const 140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -3020,7 +3032,7 @@ i32.const 200 i32.const 143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -3042,7 +3054,7 @@ i32.const 200 i32.const 146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -3064,7 +3076,7 @@ i32.const 200 i32.const 149 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -3084,7 +3096,7 @@ i32.const 200 i32.const 152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -3104,7 +3116,7 @@ i32.const 200 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -3124,7 +3136,7 @@ i32.const 200 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -3144,7 +3156,7 @@ i32.const 200 i32.const 161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -3168,7 +3180,7 @@ i32.const 200 i32.const 164 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/dataview/view @@ -3181,13 +3193,207 @@ i32.const 200 i32.const 165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 46 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 51 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.get $1 + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $7 + block $break|0 + loop $continue|0 + local.get $6 + local.get $7 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $8 + local.get $8 + if + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 240 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/runtime.retain (; 52 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.release (; 53 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 54 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 240 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/runtime/runtime#constructor (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 56 ;) (type $FUNCSIG$v) call $start:std/dataview ) - (func $null (; 47 ;) (type $FUNCSIG$v) + (func $null (; 57 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/date.optimized.wat b/tests/compiler/std/date.optimized.wat index 8cea4628..961665f0 100644 --- a/tests/compiler/std/date.optimized.wat +++ b/tests/compiler/std/date.optimized.wat @@ -3,21 +3,32 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$d (func (result f64))) (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$v (func)) + (type $FUNCSIG$vi (func (param i32))) (import "Date" "UTC" (func $~lib/bindings/Date/UTC (param i32 i32 i32 i32 i32 i32 f64) (result f64))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "Date" "now" (func $~lib/bindings/Date/now (result f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s") - (data (i32.const 40) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s") + (data (i32.const 40) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 88) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 128) "\12") + (data (i32.const 272) "!\00\00\00\0e") (global $std/date/creationTime (mut i64) (i64.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/date/date (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -81,40 +92,61 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/util/runtime/register (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) + i32.const 1 + i32.const 32 local.get $0 - i32.const 88 + i32.const 7 + i32.add + i32.clz + i32.sub + i32.shl + call $~lib/allocator/arena/__mem_allocate + local.tee $1 + i32.const -1520547049 + i32.store + local.get $1 + local.get $0 + i32.store offset=4 + local.get $1 + i32.const 8 + i32.add + ) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + i32.const 280 i32.le_u if i32.const 0 i32.const 48 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 i32.const 8 i32.sub - local.tee $1 + local.tee $2 i32.load i32.const -1520547049 i32.ne if i32.const 0 i32.const 48 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - i32.const 2 i32.store local.get $0 ) - (func $start:std/date (; 5 ;) (type $FUNCSIG$v) + (func $start:std/date (; 6 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 1970 @@ -133,7 +165,7 @@ i32.const 16 i32.const 1 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1970 @@ -152,7 +184,7 @@ i32.const 16 i32.const 2 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2018 @@ -173,7 +205,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $~lib/bindings/Date/now @@ -185,26 +217,18 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 88 + i32.const 280 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset global.get $std/date/creationTime local.set $1 - i32.const 16 - call $~lib/allocator/arena/__mem_allocate - local.tee $0 - i32.const -1520547049 - i32.store - local.get $0 i32.const 8 - i32.store offset=4 - local.get $0 - i32.const 8 - i32.add + call $~lib/util/runtime/allocate + i32.const 17 call $~lib/util/runtime/register local.tee $0 i64.const 0 @@ -223,33 +247,216 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/date/date - local.tee $0 global.get $std/date/creationTime i64.const 1 i64.add - local.tee $1 i64.store - local.get $0 + global.get $std/date/date i64.load - local.get $1 + global.get $std/date/creationTime + i64.const 1 + i64.add i64.ne if i32.const 0 i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 6 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 128 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 128 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 128 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 128 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + i32.const 128 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 128 + i32.add + i32.load + end + local.tee $3 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 8 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $2 + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $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 $0 + local.get $2 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $3 + i32.const 512 + i32.and + if + local.get $1 + local.get $2 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + if + i32.const 0 + i32.const 96 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 14 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 96 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 15 ;) (type $FUNCSIG$v) call $start:std/date ) - (func $null (; 7 ;) (type $FUNCSIG$v) + (func $null (; 16 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/date.untouched.wat b/tests/compiler/std/date.untouched.wat index c226b9a8..66285d60 100644 --- a/tests/compiler/std/date.untouched.wat +++ b/tests/compiler/std/date.untouched.wat @@ -8,12 +8,15 @@ (type $FUNCSIG$ji (func (param i32) (result i64))) (type $FUNCSIG$jij (func (param i32 i64) (result i64))) (type $FUNCSIG$v (func)) + (type $FUNCSIG$vi (func (param i32))) (import "Date" "UTC" (func $~lib/bindings/Date/UTC (param i32 i32 i32 i32 i32 i32 f64) (result f64))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "Date" "now" (func $~lib/bindings/Date/now (result f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s\00") - (data (i32.const 40) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s\00") + (data (i32.const 40) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 88) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 128) "\12\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/date/creationTime (mut i64) (i64.const 0)) @@ -23,9 +26,18 @@ (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $std/date/date (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 88)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 128)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 280)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/util/runtime/adjust (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -148,9 +160,9 @@ if i32.const 0 i32.const 48 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -165,9 +177,9 @@ if i32.const 0 i32.const 48 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -182,7 +194,7 @@ if i32.const 8 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -247,7 +259,7 @@ i32.const 16 i32.const 1 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/date/Date.UTC|inlined.1 (result i64) @@ -284,7 +296,7 @@ i32.const 16 i32.const 2 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/date/Date.UTC|inlined.2 (result i64) @@ -323,7 +335,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/date/Date.now|inlined.0 (result i64) @@ -338,7 +350,7 @@ i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/memory/HEAP_BASE @@ -365,7 +377,7 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/date/date @@ -386,13 +398,213 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 12 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 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) + (local $7 i32) + (local $8 i32) + local.get $0 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.get $1 + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $7 + block $break|0 + loop $continue|0 + local.get $6 + local.get $7 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $8 + local.get $8 + if + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/runtime.retain (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.release (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 21 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 96 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/runtime/runtime#constructor (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 23 ;) (type $FUNCSIG$v) call $start:std/date ) - (func $null (; 13 ;) (type $FUNCSIG$v) + (func $null (; 24 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/hash.optimized.wat b/tests/compiler/std/hash.optimized.wat index c544cb7b..6bb84d52 100644 --- a/tests/compiler/std/hash.optimized.wat +++ b/tests/compiler/std/hash.optimized.wat @@ -3,14 +3,11 @@ (type $FUNCSIG$ij (func (param i64) (result i32))) (type $FUNCSIG$v (func)) (memory $0 1) - (data (i32.const 8) "\01") - (data (i32.const 16) "\01\00\00\00\02\00\00\00a") - (data (i32.const 32) "\01\00\00\00\04\00\00\00a\00b") - (data (i32.const 48) "\01\00\00\00\06\00\00\00a\00b\00c") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10") + (data (i32.const 16) "\10\00\00\00\02\00\00\00a") + (data (i32.const 32) "\10\00\00\00\04\00\00\00a\00b") + (data (i32.const 48) "\10\00\00\00\06\00\00\00a\00b\00c") (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/util/hash/hashStr (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) diff --git a/tests/compiler/std/hash.untouched.wat b/tests/compiler/std/hash.untouched.wat index 33697e2f..85478d25 100644 --- a/tests/compiler/std/hash.untouched.wat +++ b/tests/compiler/std/hash.untouched.wat @@ -3,16 +3,14 @@ (type $FUNCSIG$ij (func (param i64) (result i32))) (type $FUNCSIG$v (func)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\00\00\00\00") - (data (i32.const 16) "\01\00\00\00\02\00\00\00a\00") - (data (i32.const 32) "\01\00\00\00\04\00\00\00a\00b\00") - (data (i32.const 48) "\01\00\00\00\06\00\00\00a\00b\00c\00") + (data (i32.const 8) "\10\00\00\00\00\00\00\00") + (data (i32.const 16) "\10\00\00\00\02\00\00\00a\00") + (data (i32.const 32) "\10\00\00\00\04\00\00\00a\00b\00") + (data (i32.const 48) "\10\00\00\00\06\00\00\00a\00b\00c\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 64)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/string/String#get:length (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 diff --git a/tests/compiler/std/libm.optimized.wat b/tests/compiler/std/libm.optimized.wat index f9c83f5c..3ac8166d 100644 --- a/tests/compiler/std/libm.optimized.wat +++ b/tests/compiler/std/libm.optimized.wat @@ -5,8 +5,6 @@ (type $FUNCSIG$fd (func (param f64) (result f32))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $std/libm/E f64 (f64.const 2.718281828459045)) (global $std/libm/LN10 f64 (f64.const 2.302585092994046)) (global $std/libm/LN2 f64 (f64.const 0.6931471805599453)) @@ -16,7 +14,6 @@ (global $std/libm/SQRT1_2 f64 (f64.const 0.7071067811865476)) (global $std/libm/SQRT2 f64 (f64.const 1.4142135623730951)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "E" (global $std/libm/E)) (export "LN10" (global $std/libm/LN10)) (export "LN2" (global $std/libm/LN2)) diff --git a/tests/compiler/std/libm.untouched.wat b/tests/compiler/std/libm.untouched.wat index 5d067960..2a93d70e 100644 --- a/tests/compiler/std/libm.untouched.wat +++ b/tests/compiler/std/libm.untouched.wat @@ -25,9 +25,7 @@ (global $~lib/math/NativeMath.SQRT2 f64 (f64.const 1.4142135623730951)) (global $std/libm/SQRT2 f64 (f64.const 1.4142135623730951)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "E" (global $std/libm/E)) (export "LN10" (global $std/libm/LN10)) (export "LN2" (global $std/libm/LN2)) diff --git a/tests/compiler/std/map.optimized.wat b/tests/compiler/std/map.optimized.wat index cd823e72..ec344312 100644 --- a/tests/compiler/std/map.optimized.wat +++ b/tests/compiler/std/map.optimized.wat @@ -21,21 +21,30 @@ (type $FUNCSIG$vij (func (param i32 i64))) (type $FUNCSIG$vif (func (param i32 f32))) (type $FUNCSIG$vid (func (param i32 f64))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 8) "\10\00\00\00(") (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 64) "\02\00\00\00&") + (data (i32.const 64) "\10\00\00\00&") (data (i32.const 80) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 120) "\02\00\00\00\14") + (data (i32.const 120) "\10\00\00\00\14") (data (i32.const 136) "s\00t\00d\00/\00m\00a\00p\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 160) "\1c") + (data (i32.const 296) "$\04\00\00\00\00\00\00$\04\00\00\00\00\00\00$\08\00\00\00\00\00\00$\08\00\00\00\00\00\00$\10\00\00\00\00\00\00$\10\00\00\00\00\00\00$ \00\00\00\00\00\00$ \00\00\00\00\00\00$\10\00\00\00\00\00\00$ \00\00\00\00\00\00!\00\00\00\0e") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -130,14 +139,14 @@ (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 156 + i32.const 392 i32.le_u if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -150,9 +159,9 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -381,7 +390,7 @@ i32.const 80 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -390,7 +399,7 @@ local.get $0 call $~lib/memory/memory.fill local.get $1 - i32.const 3 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/map/Map#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) @@ -432,7 +441,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -832,7 +841,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -854,7 +863,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -873,7 +882,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -894,7 +903,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -913,7 +922,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -932,7 +941,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -954,7 +963,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -973,7 +982,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -994,7 +1003,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1013,7 +1022,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1032,7 +1041,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1046,7 +1055,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -1067,7 +1076,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1085,7 +1094,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1107,7 +1116,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1121,7 +1130,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -1142,7 +1151,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1154,7 +1163,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1162,7 +1171,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 18 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -1509,7 +1518,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1529,7 +1538,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1546,7 +1555,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -1567,7 +1576,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1586,7 +1595,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1603,7 +1612,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1623,7 +1632,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1640,7 +1649,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -1661,7 +1670,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1680,7 +1689,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1697,7 +1706,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1711,7 +1720,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -1732,7 +1741,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1750,7 +1759,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1770,7 +1779,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1784,7 +1793,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -1805,7 +1814,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1817,7 +1826,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1825,7 +1834,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 19 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -2270,7 +2279,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2292,7 +2301,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2311,7 +2320,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -2332,7 +2341,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2351,7 +2360,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2370,7 +2379,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2392,7 +2401,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2411,7 +2420,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -2432,7 +2441,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2451,7 +2460,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2470,7 +2479,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2484,7 +2493,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -2505,7 +2514,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2523,7 +2532,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2545,7 +2554,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2559,7 +2568,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -2580,7 +2589,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2592,7 +2601,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2600,7 +2609,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 20 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -2992,7 +3001,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3012,7 +3021,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3029,7 +3038,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3050,7 +3059,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -3069,7 +3078,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3086,7 +3095,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3106,7 +3115,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3123,7 +3132,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3144,7 +3153,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -3163,7 +3172,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3180,7 +3189,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3194,7 +3203,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3215,7 +3224,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -3233,7 +3242,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3253,7 +3262,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3267,7 +3276,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3288,7 +3297,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3300,7 +3309,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3308,7 +3317,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 21 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -3704,7 +3713,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3722,7 +3731,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3737,7 +3746,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3758,7 +3767,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -3777,7 +3786,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3792,7 +3801,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3810,7 +3819,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3825,7 +3834,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3846,7 +3855,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -3865,7 +3874,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3880,7 +3889,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3894,7 +3903,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3915,7 +3924,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -3933,7 +3942,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3951,7 +3960,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3965,7 +3974,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3986,7 +3995,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3998,7 +4007,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4006,7 +4015,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 8 + i32.const 22 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -4048,7 +4057,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4066,7 +4075,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4081,7 +4090,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -4102,7 +4111,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -4121,7 +4130,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4136,7 +4145,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4154,7 +4163,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4169,7 +4178,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -4190,7 +4199,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -4209,7 +4218,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4224,7 +4233,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4238,7 +4247,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -4259,7 +4268,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -4277,7 +4286,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4295,7 +4304,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4309,7 +4318,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -4330,7 +4339,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4342,7 +4351,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4385,7 +4394,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 9 + i32.const 23 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -4817,7 +4826,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4836,7 +4845,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4852,7 +4861,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -4873,7 +4882,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -4892,7 +4901,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4908,7 +4917,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4927,7 +4936,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4943,7 +4952,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -4964,7 +4973,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -4983,7 +4992,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4999,7 +5008,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5013,7 +5022,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5034,7 +5043,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -5052,7 +5061,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5071,7 +5080,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5085,7 +5094,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5106,7 +5115,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5118,7 +5127,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5126,7 +5135,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 24 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -5168,7 +5177,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5187,7 +5196,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5203,7 +5212,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5224,7 +5233,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -5243,7 +5252,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5259,7 +5268,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5278,7 +5287,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5294,7 +5303,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5315,7 +5324,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -5334,7 +5343,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5350,7 +5359,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5364,7 +5373,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5385,7 +5394,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -5403,7 +5412,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5422,7 +5431,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5436,7 +5445,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5457,7 +5466,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5469,7 +5478,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5477,7 +5486,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 11 + i32.const 25 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -5848,7 +5857,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5867,7 +5876,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5883,7 +5892,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5904,7 +5913,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -5923,7 +5932,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5939,7 +5948,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5958,7 +5967,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5974,7 +5983,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5995,7 +6004,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -6014,7 +6023,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6030,7 +6039,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6044,7 +6053,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -6065,7 +6074,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -6083,7 +6092,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6102,7 +6111,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6116,7 +6125,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -6137,7 +6146,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6149,7 +6158,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6157,7 +6166,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 12 + i32.const 26 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -6528,7 +6537,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6547,7 +6556,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6563,7 +6572,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -6584,7 +6593,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -6603,7 +6612,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6619,7 +6628,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6638,7 +6647,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6654,7 +6663,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -6675,7 +6684,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -6694,7 +6703,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6710,7 +6719,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6724,7 +6733,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -6745,7 +6754,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -6763,7 +6772,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6782,7 +6791,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6796,7 +6805,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -6817,7 +6826,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6829,12 +6838,187 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 76 ;) (type $FUNCSIG$v) - i32.const 160 + (func $~lib/runtime/runtime.instanceof (; 76 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 160 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 160 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 77 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 160 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 160 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 78 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 79 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 80 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 81 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.tee $2 + i32.eqz + local.tee $0 + if (result i32) + local.get $0 + else + local.get $2 + i32.const 160 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $2 + i32.const 3 + i32.shl + i32.const 160 + i32.add + i32.load + end + local.tee $0 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 16 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $3 + local.get $2 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $2 + i32.load + drop + local.get $2 + local.get $1 + i32.store + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $3 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $0 + i32.const 512 + i32.and + if + local.get $1 + local.get $3 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load + drop + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $2 + ) + (func $~lib/runtime/runtime.retain (; 82 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 83 ;) (type $FUNCSIG$v) + nop + ) + (func $start (; 84 ;) (type $FUNCSIG$v) + i32.const 392 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -6848,8 +7032,10 @@ call $std/map/testNumeric call $std/map/testNumeric call $std/map/testNumeric - ) - (func $null (; 77 ;) (type $FUNCSIG$v) - nop + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 28 + call $~lib/util/runtime/register + global.set $~lib/runtime/ROOT ) ) diff --git a/tests/compiler/std/map.untouched.wat b/tests/compiler/std/map.untouched.wat index e10187c5..f030a8a1 100644 --- a/tests/compiler/std/map.untouched.wat +++ b/tests/compiler/std/map.untouched.wat @@ -17,11 +17,12 @@ (type $FUNCSIG$iid (func (param i32 f64) (result i32))) (type $FUNCSIG$iidi (func (param i32 f64 i32) (result i32))) (type $FUNCSIG$vidi (func (param i32 f64 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 64) "\02\00\00\00&\00\00\00\00\00\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 120) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\10\00\00\00&\00\00\00\00\00\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 120) "\10\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s\00") + (data (i32.const 160) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$\04\00\00\00\00\00\00$\04\00\00\00\00\00\00$\08\00\00\00\00\00\00$\08\00\00\00\00\00\00$\10\00\00\00\00\00\00$\10\00\00\00\00\00\00$ \00\00\00\00\00\00$ \00\00\00\00\00\00$\10\00\00\00\00\00\00$ \00\00\00\00\00\00!\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -30,10 +31,20 @@ (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/util/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 156)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 160)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 392)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -166,9 +177,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -183,9 +194,9 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -462,7 +473,7 @@ i32.const 80 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -473,7 +484,7 @@ local.get $1 call $~lib/memory/memory.fill local.get $2 - i32.const 3 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/collector/dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -558,7 +569,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -1081,7 +1092,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1103,7 +1114,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1123,7 +1134,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1146,7 +1157,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -1168,7 +1179,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1188,7 +1199,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1210,7 +1221,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1230,7 +1241,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1253,7 +1264,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -1275,7 +1286,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1295,7 +1306,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1312,7 +1323,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1335,7 +1346,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -1358,7 +1369,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1380,7 +1391,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1397,7 +1408,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1420,7 +1431,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1435,7 +1446,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1515,7 +1526,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -2021,7 +2032,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2041,7 +2052,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2059,7 +2070,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2082,7 +2093,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -2104,7 +2115,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2122,7 +2133,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2142,7 +2153,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2160,7 +2171,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2183,7 +2194,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -2205,7 +2216,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2223,7 +2234,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2240,7 +2251,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2263,7 +2274,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -2286,7 +2297,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2306,7 +2317,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2323,7 +2334,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2346,7 +2357,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2361,7 +2372,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2441,7 +2452,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 19 call $~lib/util/runtime/register local.set $0 end @@ -2979,7 +2990,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3001,7 +3012,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3021,7 +3032,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -3044,7 +3055,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -3066,7 +3077,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3086,7 +3097,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3108,7 +3119,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3128,7 +3139,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -3151,7 +3162,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -3173,7 +3184,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3193,7 +3204,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3210,7 +3221,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -3233,7 +3244,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -3256,7 +3267,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3278,7 +3289,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3295,7 +3306,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -3318,7 +3329,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3333,7 +3344,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3413,7 +3424,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 20 call $~lib/util/runtime/register local.set $0 end @@ -3919,7 +3930,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3939,7 +3950,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3957,7 +3968,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -3980,7 +3991,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -4002,7 +4013,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4020,7 +4031,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4040,7 +4051,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4058,7 +4069,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -4081,7 +4092,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -4103,7 +4114,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4121,7 +4132,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4138,7 +4149,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -4161,7 +4172,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -4184,7 +4195,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4204,7 +4215,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4221,7 +4232,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -4244,7 +4255,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4259,7 +4270,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4339,7 +4350,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 21 call $~lib/util/runtime/register local.set $0 end @@ -4877,7 +4888,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4895,7 +4906,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4911,7 +4922,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -4934,7 +4945,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -4956,7 +4967,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4972,7 +4983,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4990,7 +5001,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5006,7 +5017,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -5029,7 +5040,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -5051,7 +5062,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5067,7 +5078,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5084,7 +5095,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -5107,7 +5118,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -5130,7 +5141,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5148,7 +5159,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5165,7 +5176,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -5188,7 +5199,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5203,7 +5214,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5283,7 +5294,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 8 + i32.const 22 call $~lib/util/runtime/register local.set $0 end @@ -5779,7 +5790,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5797,7 +5808,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5813,7 +5824,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -5836,7 +5847,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -5858,7 +5869,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5874,7 +5885,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5892,7 +5903,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5908,7 +5919,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -5931,7 +5942,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -5953,7 +5964,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5969,7 +5980,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5986,7 +5997,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6009,7 +6020,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -6032,7 +6043,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6050,7 +6061,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6067,7 +6078,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6090,7 +6101,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6105,7 +6116,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6185,7 +6196,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 9 + i32.const 23 call $~lib/util/runtime/register local.set $0 end @@ -6772,7 +6783,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6791,7 +6802,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6808,7 +6819,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6831,7 +6842,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -6853,7 +6864,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6870,7 +6881,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6889,7 +6900,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6906,7 +6917,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6929,7 +6940,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -6951,7 +6962,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6968,7 +6979,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6985,7 +6996,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -7008,7 +7019,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -7031,7 +7042,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7050,7 +7061,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7067,7 +7078,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -7090,7 +7101,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7105,7 +7116,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7185,7 +7196,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 24 call $~lib/util/runtime/register local.set $0 end @@ -7684,7 +7695,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7703,7 +7714,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7720,7 +7731,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -7743,7 +7754,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -7765,7 +7776,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7782,7 +7793,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7801,7 +7812,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7818,7 +7829,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -7841,7 +7852,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -7863,7 +7874,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7880,7 +7891,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7897,7 +7908,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -7920,7 +7931,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -7943,7 +7954,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7962,7 +7973,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7979,7 +7990,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -8002,7 +8013,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8017,7 +8028,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8097,7 +8108,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 11 + i32.const 25 call $~lib/util/runtime/register local.set $0 end @@ -8601,7 +8612,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8620,7 +8631,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8637,7 +8648,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -8660,7 +8671,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -8682,7 +8693,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8699,7 +8710,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8718,7 +8729,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8735,7 +8746,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -8758,7 +8769,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -8780,7 +8791,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8797,7 +8808,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8814,7 +8825,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -8837,7 +8848,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -8860,7 +8871,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8879,7 +8890,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8896,7 +8907,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -8919,7 +8930,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8934,7 +8945,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9014,7 +9025,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 12 + i32.const 26 call $~lib/util/runtime/register local.set $0 end @@ -9518,7 +9529,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9537,7 +9548,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9554,7 +9565,7 @@ i32.const 136 i32.const 11 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -9577,7 +9588,7 @@ i32.const 136 i32.const 13 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -9599,7 +9610,7 @@ i32.const 136 i32.const 17 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9616,7 +9627,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9635,7 +9646,7 @@ i32.const 136 i32.const 20 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9652,7 +9663,7 @@ i32.const 136 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -9675,7 +9686,7 @@ i32.const 136 i32.const 23 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -9697,7 +9708,7 @@ i32.const 136 i32.const 27 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9714,7 +9725,7 @@ i32.const 136 i32.const 28 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9731,7 +9742,7 @@ i32.const 136 i32.const 30 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -9754,7 +9765,7 @@ i32.const 136 i32.const 32 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -9777,7 +9788,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9796,7 +9807,7 @@ i32.const 136 i32.const 38 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9813,7 +9824,7 @@ i32.const 136 i32.const 40 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -9836,7 +9847,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9851,7 +9862,7 @@ i32.const 136 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9877,9 +9888,239 @@ call $std/map/testNumeric call $std/map/testNumeric ) - (func $start (; 116 ;) (type $FUNCSIG$v) - call $start:std/map + (func $~lib/runtime/runtime.instanceof (; 116 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 117 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 117 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 118 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 119 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 120 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 121 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 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 $6 i32) + (local $7 i32) + (local $8 i32) + local.get $0 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.tee $6 + local.get $1 + local.tee $7 + local.get $6 + i32.load + local.tee $8 + i32.ne + if (result i32) + local.get $8 + if + local.get $8 + local.get $6 + call $~lib/collector/dummy/__ref_unlink + end + local.get $7 + local.get $6 + call $~lib/collector/dummy/__ref_link + local.get $7 + else + local.get $7 + end + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $8 + block $break|0 + loop $continue|0 + local.get $6 + local.get $8 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $7 + local.get $7 + if + local.get $7 + local.get $5 + call $~lib/collector/dummy/__ref_link + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/Root#constructor (; 123 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 28 + call $~lib/util/runtime/register + local.set $0 + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 124 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_link + ) + (func $~lib/runtime/runtime.release (; 125 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_unlink + ) + (func $~lib/collector/dummy/__ref_collect (; 126 ;) (type $FUNCSIG$v) + nop + ) + (func $~lib/runtime/runtime.collect (; 127 ;) (type $FUNCSIG$v) + call $~lib/collector/dummy/__ref_collect + ) + (func $~lib/runtime/runtime#constructor (; 128 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 129 ;) (type $FUNCSIG$v) + call $start:std/map + i32.const 0 + call $~lib/runtime/Root#constructor + global.set $~lib/runtime/ROOT + ) + (func $null (; 130 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index e243996b..7259c1ec 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -29,7 +29,7 @@ (import "Math" "PI" (global $~lib/bindings/Math/PI f64)) (import "Math" "SQRT1_2" (global $~lib/bindings/Math/SQRT1_2 f64)) (import "Math" "SQRT2" (global $~lib/bindings/Math/SQRT2 f64)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "Math" "abs" (func $~lib/bindings/Math/abs (param f64) (result f64))) (import "Math" "acos" (func $~lib/bindings/Math/acos (param f64) (result f64))) (import "Math" "acosh" (func $~lib/bindings/Math/acosh (param f64) (result f64))) @@ -60,12 +60,10 @@ (import "Math" "tanh" (func $~lib/bindings/Math/tanh (param f64) (result f64))) (import "Math" "trunc" (func $~lib/bindings/Math/trunc (param f64) (result f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 40) "\02\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 80) "\03\00\00\00\10\00\00\000\00\00\000\00\00\00 \00\00\00\04") - (data (i32.const 104) "\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s") + (data (i32.const 40) "\0f\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 80) "\11\00\00\00\10\00\00\000\00\00\000\00\00\00 \00\00\00\04") + (data (i32.const 104) "\10\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") (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)) @@ -73,7 +71,6 @@ (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/math/NativeMath.scalbn (; 30 ;) (type $FUNCSIG$ddi) (param $0 f64) (param $1 i32) (result f64) local.get $1 @@ -8407,7 +8404,7 @@ i32.const 112 i32.const 1021 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -8473,7 +8470,7 @@ i32.const 112 i32.const 1030 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/random_state0_64 @@ -8520,7 +8517,7 @@ i32.const 112 i32.const 2312 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/random_state0_32 @@ -10873,7 +10870,7 @@ i32.const 16 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6931471805599453 @@ -10886,7 +10883,7 @@ i32.const 16 i32.const 109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.302585092994046 @@ -10899,7 +10896,7 @@ i32.const 16 i32.const 110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.4426950408889634 @@ -10912,7 +10909,7 @@ i32.const 16 i32.const 111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3.141592653589793 @@ -10925,7 +10922,7 @@ i32.const 16 i32.const 112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7071067811865476 @@ -10938,7 +10935,7 @@ i32.const 16 i32.const 113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.4142135623730951 @@ -10951,7 +10948,7 @@ i32.const 16 i32.const 114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.7182817459106445 @@ -10965,7 +10962,7 @@ i32.const 16 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6931471824645996 @@ -10979,7 +10976,7 @@ i32.const 16 i32.const 117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3025851249694824 @@ -10993,7 +10990,7 @@ i32.const 16 i32.const 118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.4426950216293335 @@ -11007,7 +11004,7 @@ i32.const 16 i32.const 119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3.1415927410125732 @@ -11021,7 +11018,7 @@ i32.const 16 i32.const 120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7071067690849304 @@ -11035,7 +11032,7 @@ i32.const 16 i32.const 121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.4142135381698608 @@ -11049,7 +11046,7 @@ i32.const 16 i32.const 122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -11062,7 +11059,7 @@ i32.const 16 i32.const 133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -11075,7 +11072,7 @@ i32.const 16 i32.const 134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -11088,7 +11085,7 @@ i32.const 16 i32.const 135 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -11101,7 +11098,7 @@ i32.const 16 i32.const 136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -11114,7 +11111,7 @@ i32.const 16 i32.const 137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -11127,7 +11124,7 @@ i32.const 16 i32.const 138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -11140,7 +11137,7 @@ i32.const 16 i32.const 139 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -11153,7 +11150,7 @@ i32.const 16 i32.const 140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -11166,7 +11163,7 @@ i32.const 16 i32.const 141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -11179,7 +11176,7 @@ i32.const 16 i32.const 142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -11192,7 +11189,7 @@ i32.const 16 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -11205,7 +11202,7 @@ i32.const 16 i32.const 146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -11218,7 +11215,7 @@ i32.const 16 i32.const 147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -11231,7 +11228,7 @@ i32.const 16 i32.const 148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -11244,7 +11241,7 @@ i32.const 16 i32.const 149 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -11257,7 +11254,7 @@ i32.const 16 i32.const 150 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -11270,7 +11267,7 @@ i32.const 16 i32.const 151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -11283,7 +11280,7 @@ i32.const 16 i32.const 152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -11296,7 +11293,7 @@ i32.const 16 i32.const 153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -11309,7 +11306,7 @@ i32.const 16 i32.const 154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -11322,7 +11319,7 @@ i32.const 16 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -11335,7 +11332,7 @@ i32.const 16 i32.const 156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -11348,7 +11345,7 @@ i32.const 16 i32.const 157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -11361,7 +11358,7 @@ i32.const 16 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 8988465674311579538646525e283 @@ -11374,7 +11371,7 @@ i32.const 16 i32.const 159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -11387,7 +11384,7 @@ i32.const 16 i32.const 160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.000244140625 @@ -11400,7 +11397,7 @@ i32.const 16 i32.const 161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7499999999999999 @@ -11413,7 +11410,7 @@ i32.const 16 i32.const 162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5000000000000012 @@ -11426,7 +11423,7 @@ i32.const 16 i32.const 163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -11439,7 +11436,7 @@ i32.const 16 i32.const 172 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -11452,7 +11449,7 @@ i32.const 16 i32.const 173 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -11465,7 +11462,7 @@ i32.const 16 i32.const 174 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -11478,7 +11475,7 @@ i32.const 16 i32.const 175 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -11491,7 +11488,7 @@ i32.const 16 i32.const 176 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -11504,7 +11501,7 @@ i32.const 16 i32.const 177 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -11517,7 +11514,7 @@ i32.const 16 i32.const 178 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -11530,7 +11527,7 @@ i32.const 16 i32.const 179 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -11543,7 +11540,7 @@ i32.const 16 i32.const 180 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -11556,7 +11553,7 @@ i32.const 16 i32.const 181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -11569,7 +11566,7 @@ i32.const 16 i32.const 184 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -11582,7 +11579,7 @@ i32.const 16 i32.const 185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -11595,7 +11592,7 @@ i32.const 16 i32.const 186 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -11608,7 +11605,7 @@ i32.const 16 i32.const 187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -11621,7 +11618,7 @@ i32.const 16 i32.const 188 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -11634,7 +11631,7 @@ i32.const 16 i32.const 189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -11647,7 +11644,7 @@ i32.const 16 i32.const 190 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -11660,7 +11657,7 @@ i32.const 16 i32.const 191 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -11673,7 +11670,7 @@ i32.const 16 i32.const 192 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -11686,7 +11683,7 @@ i32.const 16 i32.const 193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -11699,7 +11696,7 @@ i32.const 16 i32.const 194 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -11712,7 +11709,7 @@ i32.const 16 i32.const 195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -11725,7 +11722,7 @@ i32.const 16 i32.const 196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -11738,7 +11735,7 @@ i32.const 16 i32.const 197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 @@ -11751,7 +11748,7 @@ i32.const 16 i32.const 198 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -11764,7 +11761,7 @@ i32.const 16 i32.const 199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.000244140625 @@ -11777,7 +11774,7 @@ i32.const 16 i32.const 200 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7499999403953552 @@ -11790,7 +11787,7 @@ i32.const 16 i32.const 201 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5000006556510925 @@ -11803,7 +11800,7 @@ i32.const 16 i32.const 202 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -11815,7 +11812,7 @@ i32.const 16 i32.const 214 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -11827,7 +11824,7 @@ i32.const 16 i32.const 215 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -11839,7 +11836,7 @@ i32.const 16 i32.const 216 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -11851,7 +11848,7 @@ i32.const 16 i32.const 217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -11863,7 +11860,7 @@ i32.const 16 i32.const 218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -11875,7 +11872,7 @@ i32.const 16 i32.const 219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -11887,7 +11884,7 @@ i32.const 16 i32.const 220 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -11899,7 +11896,7 @@ i32.const 16 i32.const 221 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -11911,7 +11908,7 @@ i32.const 16 i32.const 222 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -11923,7 +11920,7 @@ i32.const 16 i32.const 223 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -11935,7 +11932,7 @@ i32.const 16 i32.const 226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -11947,7 +11944,7 @@ i32.const 16 i32.const 227 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -11959,7 +11956,7 @@ i32.const 16 i32.const 228 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -11971,7 +11968,7 @@ i32.const 16 i32.const 229 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -11983,7 +11980,7 @@ i32.const 16 i32.const 230 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -11995,7 +11992,7 @@ i32.const 16 i32.const 231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -12007,7 +12004,7 @@ i32.const 16 i32.const 232 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -12019,7 +12016,7 @@ i32.const 16 i32.const 241 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -12031,7 +12028,7 @@ i32.const 16 i32.const 242 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -12043,7 +12040,7 @@ i32.const 16 i32.const 243 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -12055,7 +12052,7 @@ i32.const 16 i32.const 244 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -12067,7 +12064,7 @@ i32.const 16 i32.const 245 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -12079,7 +12076,7 @@ i32.const 16 i32.const 246 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -12091,7 +12088,7 @@ i32.const 16 i32.const 247 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -12103,7 +12100,7 @@ i32.const 16 i32.const 248 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -12115,7 +12112,7 @@ i32.const 16 i32.const 249 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -12127,7 +12124,7 @@ i32.const 16 i32.const 250 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -12139,7 +12136,7 @@ i32.const 16 i32.const 253 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -12151,7 +12148,7 @@ i32.const 16 i32.const 254 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -12163,7 +12160,7 @@ i32.const 16 i32.const 255 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -12175,7 +12172,7 @@ i32.const 16 i32.const 256 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -12187,7 +12184,7 @@ i32.const 16 i32.const 257 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -12199,7 +12196,7 @@ i32.const 16 i32.const 258 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -12211,7 +12208,7 @@ i32.const 16 i32.const 259 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -12224,7 +12221,7 @@ i32.const 16 i32.const 271 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -12237,7 +12234,7 @@ i32.const 16 i32.const 272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -12250,7 +12247,7 @@ i32.const 16 i32.const 273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -12263,7 +12260,7 @@ i32.const 16 i32.const 274 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -12276,7 +12273,7 @@ i32.const 16 i32.const 275 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -12289,7 +12286,7 @@ i32.const 16 i32.const 276 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -12302,7 +12299,7 @@ i32.const 16 i32.const 277 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -12315,7 +12312,7 @@ i32.const 16 i32.const 278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -12328,7 +12325,7 @@ i32.const 16 i32.const 279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -12341,7 +12338,7 @@ i32.const 16 i32.const 280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -12354,7 +12351,7 @@ i32.const 16 i32.const 283 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -12367,7 +12364,7 @@ i32.const 16 i32.const 284 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -12380,7 +12377,7 @@ i32.const 16 i32.const 285 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000000000000002 @@ -12393,7 +12390,7 @@ i32.const 16 i32.const 286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000000000000002 @@ -12406,7 +12403,7 @@ i32.const 16 i32.const 287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -12419,7 +12416,7 @@ i32.const 16 i32.const 288 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -12432,7 +12429,7 @@ i32.const 16 i32.const 289 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -12445,7 +12442,7 @@ i32.const 16 i32.const 290 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5309227209592985 @@ -12458,7 +12455,7 @@ i32.const 16 i32.const 291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.4939556746399746 @@ -12471,7 +12468,7 @@ i32.const 16 i32.const 292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -12484,7 +12481,7 @@ i32.const 16 i32.const 301 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -12497,7 +12494,7 @@ i32.const 16 i32.const 302 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -12510,7 +12507,7 @@ i32.const 16 i32.const 303 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -12523,7 +12520,7 @@ i32.const 16 i32.const 304 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -12536,7 +12533,7 @@ i32.const 16 i32.const 305 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -12549,7 +12546,7 @@ i32.const 16 i32.const 306 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -12562,7 +12559,7 @@ i32.const 16 i32.const 307 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -12575,7 +12572,7 @@ i32.const 16 i32.const 308 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -12588,7 +12585,7 @@ i32.const 16 i32.const 309 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -12601,7 +12598,7 @@ i32.const 16 i32.const 310 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -12614,7 +12611,7 @@ i32.const 16 i32.const 313 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -12627,7 +12624,7 @@ i32.const 16 i32.const 314 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -12640,7 +12637,7 @@ i32.const 16 i32.const 315 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000001192092896 @@ -12653,7 +12650,7 @@ i32.const 16 i32.const 316 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000001192092896 @@ -12666,7 +12663,7 @@ i32.const 16 i32.const 317 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -12679,7 +12676,7 @@ i32.const 16 i32.const 318 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -12692,7 +12689,7 @@ i32.const 16 i32.const 319 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -12705,7 +12702,7 @@ i32.const 16 i32.const 320 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.49965065717697144 @@ -12718,7 +12715,7 @@ i32.const 16 i32.const 321 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5051405429840088 @@ -12731,7 +12728,7 @@ i32.const 16 i32.const 322 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5189794898033142 @@ -12744,7 +12741,7 @@ i32.const 16 i32.const 323 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -12757,7 +12754,7 @@ i32.const 16 i32.const 335 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -12770,7 +12767,7 @@ i32.const 16 i32.const 336 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -12783,7 +12780,7 @@ i32.const 16 i32.const 337 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -12796,7 +12793,7 @@ i32.const 16 i32.const 338 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -12809,7 +12806,7 @@ i32.const 16 i32.const 339 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -12822,7 +12819,7 @@ i32.const 16 i32.const 340 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -12835,7 +12832,7 @@ i32.const 16 i32.const 341 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -12848,7 +12845,7 @@ i32.const 16 i32.const 342 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -12861,7 +12858,7 @@ i32.const 16 i32.const 343 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -12874,7 +12871,7 @@ i32.const 16 i32.const 344 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -12887,7 +12884,7 @@ i32.const 16 i32.const 347 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -12900,7 +12897,7 @@ i32.const 16 i32.const 348 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -12913,7 +12910,7 @@ i32.const 16 i32.const 349 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -12926,7 +12923,7 @@ i32.const 16 i32.const 350 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -12939,7 +12936,7 @@ i32.const 16 i32.const 351 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -12952,7 +12949,7 @@ i32.const 16 i32.const 352 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -12965,7 +12962,7 @@ i32.const 16 i32.const 353 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1060831199926429 @@ -12978,7 +12975,7 @@ i32.const 16 i32.const 369 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1089809557628658 @@ -12991,7 +12988,7 @@ i32.const 16 i32.const 371 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1169429159875521 @@ -13004,7 +13001,7 @@ i32.const 16 i32.const 372 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -13017,7 +13014,7 @@ i32.const 16 i32.const 381 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -13030,7 +13027,7 @@ i32.const 16 i32.const 382 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -13043,7 +13040,7 @@ i32.const 16 i32.const 383 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -13056,7 +13053,7 @@ i32.const 16 i32.const 384 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -13069,7 +13066,7 @@ i32.const 16 i32.const 385 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -13082,7 +13079,7 @@ i32.const 16 i32.const 386 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -13095,7 +13092,7 @@ i32.const 16 i32.const 387 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -13108,7 +13105,7 @@ i32.const 16 i32.const 388 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -13121,7 +13118,7 @@ i32.const 16 i32.const 389 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -13134,7 +13131,7 @@ i32.const 16 i32.const 390 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -13147,7 +13144,7 @@ i32.const 16 i32.const 393 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -13160,7 +13157,7 @@ i32.const 16 i32.const 394 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -13173,7 +13170,7 @@ i32.const 16 i32.const 395 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -13186,7 +13183,7 @@ i32.const 16 i32.const 396 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -13199,7 +13196,7 @@ i32.const 16 i32.const 397 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -13212,7 +13209,7 @@ i32.const 16 i32.const 398 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -13225,7 +13222,7 @@ i32.const 16 i32.const 399 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1125899906842624 @@ -13238,7 +13235,7 @@ i32.const 16 i32.const 400 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -13251,7 +13248,7 @@ i32.const 16 i32.const 412 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -13264,7 +13261,7 @@ i32.const 16 i32.const 413 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -13277,7 +13274,7 @@ i32.const 16 i32.const 414 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -13290,7 +13287,7 @@ i32.const 16 i32.const 415 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -13303,7 +13300,7 @@ i32.const 16 i32.const 416 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -13316,7 +13313,7 @@ i32.const 16 i32.const 417 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -13329,7 +13326,7 @@ i32.const 16 i32.const 418 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -13342,7 +13339,7 @@ i32.const 16 i32.const 419 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -13355,7 +13352,7 @@ i32.const 16 i32.const 420 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -13368,7 +13365,7 @@ i32.const 16 i32.const 421 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -13381,7 +13378,7 @@ i32.const 16 i32.const 424 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -13394,7 +13391,7 @@ i32.const 16 i32.const 425 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -13407,7 +13404,7 @@ i32.const 16 i32.const 426 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -13420,7 +13417,7 @@ i32.const 16 i32.const 427 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000000000000002 @@ -13433,7 +13430,7 @@ i32.const 16 i32.const 428 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000000000000002 @@ -13446,7 +13443,7 @@ i32.const 16 i32.const 429 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -13459,7 +13456,7 @@ i32.const 16 i32.const 430 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -13472,7 +13469,7 @@ i32.const 16 i32.const 431 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -13485,7 +13482,7 @@ i32.const 16 i32.const 432 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5073043929119148 @@ -13498,7 +13495,7 @@ i32.const 16 i32.const 433 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -13511,7 +13508,7 @@ i32.const 16 i32.const 442 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -13524,7 +13521,7 @@ i32.const 16 i32.const 443 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -13537,7 +13534,7 @@ i32.const 16 i32.const 444 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -13550,7 +13547,7 @@ i32.const 16 i32.const 445 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -13563,7 +13560,7 @@ i32.const 16 i32.const 446 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -13576,7 +13573,7 @@ i32.const 16 i32.const 447 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -13589,7 +13586,7 @@ i32.const 16 i32.const 448 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -13602,7 +13599,7 @@ i32.const 16 i32.const 449 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -13615,7 +13612,7 @@ i32.const 16 i32.const 450 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -13628,7 +13625,7 @@ i32.const 16 i32.const 451 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -13641,7 +13638,7 @@ i32.const 16 i32.const 454 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -13654,7 +13651,7 @@ i32.const 16 i32.const 455 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -13667,7 +13664,7 @@ i32.const 16 i32.const 456 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -13680,7 +13677,7 @@ i32.const 16 i32.const 457 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000001192092896 @@ -13693,7 +13690,7 @@ i32.const 16 i32.const 458 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000001192092896 @@ -13706,7 +13703,7 @@ i32.const 16 i32.const 459 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -13719,7 +13716,7 @@ i32.const 16 i32.const 460 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -13732,7 +13729,7 @@ i32.const 16 i32.const 461 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -13745,7 +13742,7 @@ i32.const 16 i32.const 462 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5004770159721375 @@ -13758,7 +13755,7 @@ i32.const 16 i32.const 463 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -13771,7 +13768,7 @@ i32.const 16 i32.const 475 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -13784,7 +13781,7 @@ i32.const 16 i32.const 476 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -13797,7 +13794,7 @@ i32.const 16 i32.const 477 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -13810,7 +13807,7 @@ i32.const 16 i32.const 478 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -13823,7 +13820,7 @@ i32.const 16 i32.const 479 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -13836,7 +13833,7 @@ i32.const 16 i32.const 480 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -13849,7 +13846,7 @@ i32.const 16 i32.const 481 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -13862,7 +13859,7 @@ i32.const 16 i32.const 482 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -13875,7 +13872,7 @@ i32.const 16 i32.const 483 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -13888,7 +13885,7 @@ i32.const 16 i32.const 484 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -13901,7 +13898,7 @@ i32.const 16 i32.const 487 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -13914,7 +13911,7 @@ i32.const 16 i32.const 488 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -13927,7 +13924,7 @@ i32.const 16 i32.const 489 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -13940,7 +13937,7 @@ i32.const 16 i32.const 490 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -13953,7 +13950,7 @@ i32.const 16 i32.const 491 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -13966,7 +13963,7 @@ i32.const 16 i32.const 520 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -13979,7 +13976,7 @@ i32.const 16 i32.const 521 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -13992,7 +13989,7 @@ i32.const 16 i32.const 522 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -14005,7 +14002,7 @@ i32.const 16 i32.const 523 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -14018,7 +14015,7 @@ i32.const 16 i32.const 524 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -14031,7 +14028,7 @@ i32.const 16 i32.const 525 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -14044,7 +14041,7 @@ i32.const 16 i32.const 526 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -14057,7 +14054,7 @@ i32.const 16 i32.const 527 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -14070,7 +14067,7 @@ i32.const 16 i32.const 528 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -14083,7 +14080,7 @@ i32.const 16 i32.const 529 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -14096,7 +14093,7 @@ i32.const 16 i32.const 532 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -14109,7 +14106,7 @@ i32.const 16 i32.const 533 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -14122,7 +14119,7 @@ i32.const 16 i32.const 534 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -14135,7 +14132,7 @@ i32.const 16 i32.const 535 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -14148,7 +14145,7 @@ i32.const 16 i32.const 536 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -14161,7 +14158,7 @@ i32.const 16 i32.const 548 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -14174,7 +14171,7 @@ i32.const 16 i32.const 549 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -14187,7 +14184,7 @@ i32.const 16 i32.const 550 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -14200,7 +14197,7 @@ i32.const 16 i32.const 551 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -14213,7 +14210,7 @@ i32.const 16 i32.const 552 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -14226,7 +14223,7 @@ i32.const 16 i32.const 553 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -14239,7 +14236,7 @@ i32.const 16 i32.const 554 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -14252,7 +14249,7 @@ i32.const 16 i32.const 555 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -14265,7 +14262,7 @@ i32.const 16 i32.const 556 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -14278,7 +14275,7 @@ i32.const 16 i32.const 557 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -14291,7 +14288,7 @@ i32.const 16 i32.const 560 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -14304,7 +14301,7 @@ i32.const 16 i32.const 561 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -14317,7 +14314,7 @@ i32.const 16 i32.const 562 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -14330,7 +14327,7 @@ i32.const 16 i32.const 563 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -14343,7 +14340,7 @@ i32.const 16 i32.const 564 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -14356,7 +14353,7 @@ i32.const 16 i32.const 565 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -14369,7 +14366,7 @@ i32.const 16 i32.const 566 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6929821535674624 @@ -14382,7 +14379,7 @@ i32.const 16 i32.const 567 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -14395,7 +14392,7 @@ i32.const 16 i32.const 576 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -14408,7 +14405,7 @@ i32.const 16 i32.const 577 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -14421,7 +14418,7 @@ i32.const 16 i32.const 578 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -14434,7 +14431,7 @@ i32.const 16 i32.const 579 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -14447,7 +14444,7 @@ i32.const 16 i32.const 580 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -14460,7 +14457,7 @@ i32.const 16 i32.const 581 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -14473,7 +14470,7 @@ i32.const 16 i32.const 582 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -14486,7 +14483,7 @@ i32.const 16 i32.const 583 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -14499,7 +14496,7 @@ i32.const 16 i32.const 584 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -14512,7 +14509,7 @@ i32.const 16 i32.const 585 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -14525,7 +14522,7 @@ i32.const 16 i32.const 588 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -14538,7 +14535,7 @@ i32.const 16 i32.const 589 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -14551,7 +14548,7 @@ i32.const 16 i32.const 590 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -14564,7 +14561,7 @@ i32.const 16 i32.const 591 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -14577,7 +14574,7 @@ i32.const 16 i32.const 592 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -14590,7 +14587,7 @@ i32.const 16 i32.const 593 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -14603,7 +14600,7 @@ i32.const 16 i32.const 594 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -14616,7 +14613,7 @@ i32.const 16 i32.const 606 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -14629,7 +14626,7 @@ i32.const 16 i32.const 607 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -14642,7 +14639,7 @@ i32.const 16 i32.const 608 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -14655,7 +14652,7 @@ i32.const 16 i32.const 609 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -14668,7 +14665,7 @@ i32.const 16 i32.const 610 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -14681,7 +14678,7 @@ i32.const 16 i32.const 611 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -14694,7 +14691,7 @@ i32.const 16 i32.const 612 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -14707,7 +14704,7 @@ i32.const 16 i32.const 613 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -14720,7 +14717,7 @@ i32.const 16 i32.const 614 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -14733,7 +14730,7 @@ i32.const 16 i32.const 615 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -14746,7 +14743,7 @@ i32.const 16 i32.const 618 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -14759,7 +14756,7 @@ i32.const 16 i32.const 619 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -14772,7 +14769,7 @@ i32.const 16 i32.const 620 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -14785,7 +14782,7 @@ i32.const 16 i32.const 621 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -14798,7 +14795,7 @@ i32.const 16 i32.const 622 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -14811,7 +14808,7 @@ i32.const 16 i32.const 623 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -14824,7 +14821,7 @@ i32.const 16 i32.const 624 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -14837,7 +14834,7 @@ i32.const 16 i32.const 625 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -14850,7 +14847,7 @@ i32.const 16 i32.const 626 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.3552527156068805e-20 @@ -14863,7 +14860,7 @@ i32.const 16 i32.const 627 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.332636185032189e-302 @@ -14876,7 +14873,7 @@ i32.const 16 i32.const 628 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5.562684646268003e-309 @@ -14889,7 +14886,7 @@ i32.const 16 i32.const 629 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -5.562684646268003e-309 @@ -14902,7 +14899,7 @@ i32.const 16 i32.const 630 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 8988465674311579538646525e283 @@ -14915,7 +14912,7 @@ i32.const 16 i32.const 631 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -14928,7 +14925,7 @@ i32.const 16 i32.const 640 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -14941,7 +14938,7 @@ i32.const 16 i32.const 641 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -14954,7 +14951,7 @@ i32.const 16 i32.const 642 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -14967,7 +14964,7 @@ i32.const 16 i32.const 643 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -14980,7 +14977,7 @@ i32.const 16 i32.const 644 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -14993,7 +14990,7 @@ i32.const 16 i32.const 645 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -15006,7 +15003,7 @@ i32.const 16 i32.const 646 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -15019,7 +15016,7 @@ i32.const 16 i32.const 647 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -15032,7 +15029,7 @@ i32.const 16 i32.const 648 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -15045,7 +15042,7 @@ i32.const 16 i32.const 649 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -15058,7 +15055,7 @@ i32.const 16 i32.const 652 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -15071,7 +15068,7 @@ i32.const 16 i32.const 653 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -15084,7 +15081,7 @@ i32.const 16 i32.const 654 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -15097,7 +15094,7 @@ i32.const 16 i32.const 655 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -15110,7 +15107,7 @@ i32.const 16 i32.const 656 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -15123,7 +15120,7 @@ i32.const 16 i32.const 657 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -15136,7 +15133,7 @@ i32.const 16 i32.const 658 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -15149,7 +15146,7 @@ i32.const 16 i32.const 659 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -15162,7 +15159,7 @@ i32.const 16 i32.const 660 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.3552527156068805e-20 @@ -15175,7 +15172,7 @@ i32.const 16 i32.const 661 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -15188,7 +15185,7 @@ i32.const 16 i32.const 662 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 @@ -15201,7 +15198,7 @@ i32.const 16 i32.const 663 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 @@ -15214,7 +15211,7 @@ i32.const 16 i32.const 664 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 @@ -15227,7 +15224,7 @@ i32.const 16 i32.const 665 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -15241,7 +15238,7 @@ i32.const 16 i32.const 677 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -15255,7 +15252,7 @@ i32.const 16 i32.const 678 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -15269,7 +15266,7 @@ i32.const 16 i32.const 679 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -15283,7 +15280,7 @@ i32.const 16 i32.const 680 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -15297,7 +15294,7 @@ i32.const 16 i32.const 681 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -15311,7 +15308,7 @@ i32.const 16 i32.const 682 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -15325,7 +15322,7 @@ i32.const 16 i32.const 683 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -15339,7 +15336,7 @@ i32.const 16 i32.const 684 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -15353,7 +15350,7 @@ i32.const 16 i32.const 685 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -15367,7 +15364,7 @@ i32.const 16 i32.const 686 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -15381,7 +15378,7 @@ i32.const 16 i32.const 689 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -15395,7 +15392,7 @@ i32.const 16 i32.const 690 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -15409,7 +15406,7 @@ i32.const 16 i32.const 691 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -15423,7 +15420,7 @@ i32.const 16 i32.const 692 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -15437,7 +15434,7 @@ i32.const 16 i32.const 693 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -15451,7 +15448,7 @@ i32.const 16 i32.const 694 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -15465,7 +15462,7 @@ i32.const 16 i32.const 695 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -15479,7 +15476,7 @@ i32.const 16 i32.const 696 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -15493,7 +15490,7 @@ i32.const 16 i32.const 697 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -15507,7 +15504,7 @@ i32.const 16 i32.const 698 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -15521,7 +15518,7 @@ i32.const 16 i32.const 699 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -15535,7 +15532,7 @@ i32.const 16 i32.const 700 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -15549,7 +15546,7 @@ i32.const 16 i32.const 701 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -15563,7 +15560,7 @@ i32.const 16 i32.const 702 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -15577,7 +15574,7 @@ i32.const 16 i32.const 703 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -15591,7 +15588,7 @@ i32.const 16 i32.const 704 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -15605,7 +15602,7 @@ i32.const 16 i32.const 705 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -15619,7 +15616,7 @@ i32.const 16 i32.const 706 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -15633,7 +15630,7 @@ i32.const 16 i32.const 707 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -15647,7 +15644,7 @@ i32.const 16 i32.const 708 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -15661,7 +15658,7 @@ i32.const 16 i32.const 709 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -15675,7 +15672,7 @@ i32.const 16 i32.const 710 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -15689,7 +15686,7 @@ i32.const 16 i32.const 711 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -15703,7 +15700,7 @@ i32.const 16 i32.const 712 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -15717,7 +15714,7 @@ i32.const 16 i32.const 713 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -15731,7 +15728,7 @@ i32.const 16 i32.const 714 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1125369292536007e-308 @@ -15745,7 +15742,7 @@ i32.const 16 i32.const 715 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -15759,7 +15756,7 @@ i32.const 16 i32.const 716 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -15773,7 +15770,7 @@ i32.const 16 i32.const 717 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -15787,7 +15784,7 @@ i32.const 16 i32.const 718 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -15801,7 +15798,7 @@ i32.const 16 i32.const 727 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -15815,7 +15812,7 @@ i32.const 16 i32.const 728 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -15829,7 +15826,7 @@ i32.const 16 i32.const 729 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -15843,7 +15840,7 @@ i32.const 16 i32.const 730 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -15857,7 +15854,7 @@ i32.const 16 i32.const 731 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -15871,7 +15868,7 @@ i32.const 16 i32.const 732 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -15885,7 +15882,7 @@ i32.const 16 i32.const 733 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -15899,7 +15896,7 @@ i32.const 16 i32.const 734 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -15913,7 +15910,7 @@ i32.const 16 i32.const 735 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -15927,7 +15924,7 @@ i32.const 16 i32.const 736 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -15941,7 +15938,7 @@ i32.const 16 i32.const 739 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -15955,7 +15952,7 @@ i32.const 16 i32.const 740 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -15969,7 +15966,7 @@ i32.const 16 i32.const 741 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -15983,7 +15980,7 @@ i32.const 16 i32.const 742 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -15997,7 +15994,7 @@ i32.const 16 i32.const 743 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -16011,7 +16008,7 @@ i32.const 16 i32.const 744 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -16025,7 +16022,7 @@ i32.const 16 i32.const 745 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -16039,7 +16036,7 @@ i32.const 16 i32.const 746 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -16053,7 +16050,7 @@ i32.const 16 i32.const 747 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -16067,7 +16064,7 @@ i32.const 16 i32.const 748 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -16081,7 +16078,7 @@ i32.const 16 i32.const 749 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -16095,7 +16092,7 @@ i32.const 16 i32.const 750 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -16109,7 +16106,7 @@ i32.const 16 i32.const 751 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -16123,7 +16120,7 @@ i32.const 16 i32.const 752 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -16137,7 +16134,7 @@ i32.const 16 i32.const 753 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -16151,7 +16148,7 @@ i32.const 16 i32.const 754 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -16165,7 +16162,7 @@ i32.const 16 i32.const 755 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -16179,7 +16176,7 @@ i32.const 16 i32.const 756 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -16193,7 +16190,7 @@ i32.const 16 i32.const 757 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -16207,7 +16204,7 @@ i32.const 16 i32.const 758 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -16221,7 +16218,7 @@ i32.const 16 i32.const 759 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -16235,7 +16232,7 @@ i32.const 16 i32.const 760 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -16249,7 +16246,7 @@ i32.const 16 i32.const 761 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -16263,7 +16260,7 @@ i32.const 16 i32.const 762 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -16277,7 +16274,7 @@ i32.const 16 i32.const 763 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -16291,7 +16288,7 @@ i32.const 16 i32.const 764 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 @@ -16305,7 +16302,7 @@ i32.const 16 i32.const 765 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -16319,7 +16316,7 @@ i32.const 16 i32.const 766 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -16332,7 +16329,7 @@ i32.const 16 i32.const 778 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -16345,7 +16342,7 @@ i32.const 16 i32.const 779 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -16358,7 +16355,7 @@ i32.const 16 i32.const 780 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -16371,7 +16368,7 @@ i32.const 16 i32.const 781 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -16384,7 +16381,7 @@ i32.const 16 i32.const 782 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -16397,7 +16394,7 @@ i32.const 16 i32.const 783 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -16410,7 +16407,7 @@ i32.const 16 i32.const 784 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -16423,7 +16420,7 @@ i32.const 16 i32.const 785 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -16436,7 +16433,7 @@ i32.const 16 i32.const 786 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -16449,7 +16446,7 @@ i32.const 16 i32.const 787 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -16462,7 +16459,7 @@ i32.const 16 i32.const 790 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -16475,7 +16472,7 @@ i32.const 16 i32.const 791 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -16488,7 +16485,7 @@ i32.const 16 i32.const 792 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -16501,7 +16498,7 @@ i32.const 16 i32.const 793 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -16514,7 +16511,7 @@ i32.const 16 i32.const 794 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.313225746154785e-10 @@ -16527,7 +16524,7 @@ i32.const 16 i32.const 795 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -9.313225746154785e-10 @@ -16540,7 +16537,7 @@ i32.const 16 i32.const 796 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -16553,7 +16550,7 @@ i32.const 16 i32.const 797 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -16566,7 +16563,7 @@ i32.const 16 i32.const 798 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 8 @@ -16579,7 +16576,7 @@ i32.const 16 i32.const 799 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -16592,7 +16589,7 @@ i32.const 16 i32.const 808 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -16605,7 +16602,7 @@ i32.const 16 i32.const 809 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -16618,7 +16615,7 @@ i32.const 16 i32.const 810 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -16631,7 +16628,7 @@ i32.const 16 i32.const 811 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -16644,7 +16641,7 @@ i32.const 16 i32.const 812 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -16657,7 +16654,7 @@ i32.const 16 i32.const 813 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -16670,7 +16667,7 @@ i32.const 16 i32.const 814 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -16683,7 +16680,7 @@ i32.const 16 i32.const 815 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -16696,7 +16693,7 @@ i32.const 16 i32.const 816 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -16709,7 +16706,7 @@ i32.const 16 i32.const 817 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -16722,7 +16719,7 @@ i32.const 16 i32.const 820 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -16735,7 +16732,7 @@ i32.const 16 i32.const 821 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -16748,7 +16745,7 @@ i32.const 16 i32.const 822 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -16761,7 +16758,7 @@ i32.const 16 i32.const 823 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -16774,7 +16771,7 @@ i32.const 16 i32.const 824 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.313225746154785e-10 @@ -16787,7 +16784,7 @@ i32.const 16 i32.const 825 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -9.313225746154785e-10 @@ -16800,7 +16797,7 @@ i32.const 16 i32.const 826 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -16813,7 +16810,7 @@ i32.const 16 i32.const 827 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -16826,7 +16823,7 @@ i32.const 16 i32.const 828 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 8 @@ -16839,7 +16836,7 @@ i32.const 16 i32.const 829 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -16851,7 +16848,7 @@ i32.const 16 i32.const 841 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -16863,7 +16860,7 @@ i32.const 16 i32.const 842 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -16875,7 +16872,7 @@ i32.const 16 i32.const 843 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -16887,7 +16884,7 @@ i32.const 16 i32.const 844 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -16899,7 +16896,7 @@ i32.const 16 i32.const 845 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -16911,7 +16908,7 @@ i32.const 16 i32.const 846 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -16923,7 +16920,7 @@ i32.const 16 i32.const 847 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -16935,7 +16932,7 @@ i32.const 16 i32.const 848 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -16947,7 +16944,7 @@ i32.const 16 i32.const 849 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -16959,7 +16956,7 @@ i32.const 16 i32.const 850 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -16971,7 +16968,7 @@ i32.const 16 i32.const 853 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -16983,7 +16980,7 @@ i32.const 16 i32.const 854 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -16995,7 +16992,7 @@ i32.const 16 i32.const 855 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -17007,7 +17004,7 @@ i32.const 16 i32.const 856 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -17019,7 +17016,7 @@ i32.const 16 i32.const 857 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -17031,7 +17028,7 @@ i32.const 16 i32.const 858 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -17043,7 +17040,7 @@ i32.const 16 i32.const 859 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -17055,7 +17052,7 @@ i32.const 16 i32.const 860 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -17067,7 +17064,7 @@ i32.const 16 i32.const 861 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -17079,7 +17076,7 @@ i32.const 16 i32.const 862 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -17091,7 +17088,7 @@ i32.const 16 i32.const 863 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -17103,7 +17100,7 @@ i32.const 16 i32.const 864 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -17115,7 +17112,7 @@ i32.const 16 i32.const 865 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -17127,7 +17124,7 @@ i32.const 16 i32.const 866 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -17139,7 +17136,7 @@ i32.const 16 i32.const 867 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -17151,7 +17148,7 @@ i32.const 16 i32.const 868 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -17163,7 +17160,7 @@ i32.const 16 i32.const 869 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -17175,7 +17172,7 @@ i32.const 16 i32.const 870 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -17187,7 +17184,7 @@ i32.const 16 i32.const 871 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -17199,7 +17196,7 @@ i32.const 16 i32.const 872 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -17211,7 +17208,7 @@ i32.const 16 i32.const 873 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -17223,7 +17220,7 @@ i32.const 16 i32.const 874 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -17235,7 +17232,7 @@ i32.const 16 i32.const 875 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -17247,7 +17244,7 @@ i32.const 16 i32.const 876 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -17259,7 +17256,7 @@ i32.const 16 i32.const 877 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -17271,7 +17268,7 @@ i32.const 16 i32.const 878 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -17283,7 +17280,7 @@ i32.const 16 i32.const 879 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -17295,7 +17292,7 @@ i32.const 16 i32.const 880 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -17307,7 +17304,7 @@ i32.const 16 i32.const 881 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -17319,7 +17316,7 @@ i32.const 16 i32.const 882 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -17331,7 +17328,7 @@ i32.const 16 i32.const 883 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -17343,7 +17340,7 @@ i32.const 16 i32.const 884 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -17355,7 +17352,7 @@ i32.const 16 i32.const 885 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -17367,7 +17364,7 @@ i32.const 16 i32.const 886 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -17379,7 +17376,7 @@ i32.const 16 i32.const 887 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -17391,7 +17388,7 @@ i32.const 16 i32.const 888 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -17403,7 +17400,7 @@ i32.const 16 i32.const 889 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -17415,7 +17412,7 @@ i32.const 16 i32.const 890 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -17427,7 +17424,7 @@ i32.const 16 i32.const 891 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -17439,7 +17436,7 @@ i32.const 16 i32.const 892 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -17451,7 +17448,7 @@ i32.const 16 i32.const 893 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -17463,7 +17460,7 @@ i32.const 16 i32.const 894 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -17475,7 +17472,7 @@ i32.const 16 i32.const 895 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -17487,7 +17484,7 @@ i32.const 16 i32.const 896 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -17499,7 +17496,7 @@ i32.const 16 i32.const 897 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -17511,7 +17508,7 @@ i32.const 16 i32.const 906 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -17523,7 +17520,7 @@ i32.const 16 i32.const 907 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -17535,7 +17532,7 @@ i32.const 16 i32.const 908 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -17547,7 +17544,7 @@ i32.const 16 i32.const 909 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -17559,7 +17556,7 @@ i32.const 16 i32.const 910 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -17571,7 +17568,7 @@ i32.const 16 i32.const 911 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -17583,7 +17580,7 @@ i32.const 16 i32.const 912 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -17595,7 +17592,7 @@ i32.const 16 i32.const 913 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -17607,7 +17604,7 @@ i32.const 16 i32.const 914 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -17619,7 +17616,7 @@ i32.const 16 i32.const 915 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -17631,7 +17628,7 @@ i32.const 16 i32.const 918 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -17643,7 +17640,7 @@ i32.const 16 i32.const 919 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -17655,7 +17652,7 @@ i32.const 16 i32.const 920 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -17667,7 +17664,7 @@ i32.const 16 i32.const 921 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -17679,7 +17676,7 @@ i32.const 16 i32.const 922 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -17691,7 +17688,7 @@ i32.const 16 i32.const 923 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -17703,7 +17700,7 @@ i32.const 16 i32.const 924 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -17715,7 +17712,7 @@ i32.const 16 i32.const 925 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -17727,7 +17724,7 @@ i32.const 16 i32.const 926 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -17739,7 +17736,7 @@ i32.const 16 i32.const 927 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -17751,7 +17748,7 @@ i32.const 16 i32.const 928 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -17763,7 +17760,7 @@ i32.const 16 i32.const 929 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -17775,7 +17772,7 @@ i32.const 16 i32.const 930 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -17787,7 +17784,7 @@ i32.const 16 i32.const 931 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -17799,7 +17796,7 @@ i32.const 16 i32.const 932 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -17811,7 +17808,7 @@ i32.const 16 i32.const 933 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -17823,7 +17820,7 @@ i32.const 16 i32.const 934 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -17835,7 +17832,7 @@ i32.const 16 i32.const 935 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -17847,7 +17844,7 @@ i32.const 16 i32.const 936 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -17859,7 +17856,7 @@ i32.const 16 i32.const 937 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -17871,7 +17868,7 @@ i32.const 16 i32.const 938 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -17883,7 +17880,7 @@ i32.const 16 i32.const 939 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -17895,7 +17892,7 @@ i32.const 16 i32.const 940 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -17907,7 +17904,7 @@ i32.const 16 i32.const 941 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -17919,7 +17916,7 @@ i32.const 16 i32.const 942 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -17931,7 +17928,7 @@ i32.const 16 i32.const 943 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -17943,7 +17940,7 @@ i32.const 16 i32.const 944 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -17955,7 +17952,7 @@ i32.const 16 i32.const 945 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -17967,7 +17964,7 @@ i32.const 16 i32.const 946 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -17979,7 +17976,7 @@ i32.const 16 i32.const 947 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -17991,7 +17988,7 @@ i32.const 16 i32.const 948 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -18003,7 +18000,7 @@ i32.const 16 i32.const 949 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -18015,7 +18012,7 @@ i32.const 16 i32.const 950 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -18027,7 +18024,7 @@ i32.const 16 i32.const 951 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -18039,7 +18036,7 @@ i32.const 16 i32.const 952 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -18051,7 +18048,7 @@ i32.const 16 i32.const 953 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -18063,7 +18060,7 @@ i32.const 16 i32.const 954 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -18075,7 +18072,7 @@ i32.const 16 i32.const 955 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -18087,7 +18084,7 @@ i32.const 16 i32.const 956 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -18099,7 +18096,7 @@ i32.const 16 i32.const 957 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -18111,7 +18108,7 @@ i32.const 16 i32.const 958 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -18123,7 +18120,7 @@ i32.const 16 i32.const 959 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -18135,7 +18132,7 @@ i32.const 16 i32.const 960 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -18147,7 +18144,7 @@ i32.const 16 i32.const 961 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -18159,7 +18156,7 @@ i32.const 16 i32.const 962 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -18172,7 +18169,7 @@ i32.const 16 i32.const 1073 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -18185,7 +18182,7 @@ i32.const 16 i32.const 1074 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -18198,7 +18195,7 @@ i32.const 16 i32.const 1075 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -18211,7 +18208,7 @@ i32.const 16 i32.const 1076 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -18224,7 +18221,7 @@ i32.const 16 i32.const 1077 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -18237,7 +18234,7 @@ i32.const 16 i32.const 1078 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -18250,7 +18247,7 @@ i32.const 16 i32.const 1079 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -18263,7 +18260,7 @@ i32.const 16 i32.const 1080 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -18276,7 +18273,7 @@ i32.const 16 i32.const 1081 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -18289,7 +18286,7 @@ i32.const 16 i32.const 1082 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -18302,7 +18299,7 @@ i32.const 16 i32.const 1085 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -18315,7 +18312,7 @@ i32.const 16 i32.const 1086 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -18328,7 +18325,7 @@ i32.const 16 i32.const 1087 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -18341,7 +18338,7 @@ i32.const 16 i32.const 1088 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -18354,7 +18351,7 @@ i32.const 16 i32.const 1089 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.862645149230957e-09 @@ -18367,7 +18364,7 @@ i32.const 16 i32.const 1092 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.862645149230957e-09 @@ -18380,7 +18377,7 @@ i32.const 16 i32.const 1093 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 @@ -18393,7 +18390,7 @@ i32.const 16 i32.const 1094 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754943508222875e-38 @@ -18406,7 +18403,7 @@ i32.const 16 i32.const 1095 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -18419,7 +18416,7 @@ i32.const 16 i32.const 1096 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 @@ -18432,7 +18429,7 @@ i32.const 16 i32.const 1097 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 @@ -18445,7 +18442,7 @@ i32.const 16 i32.const 1098 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.2611686178923354e-44 @@ -18458,7 +18455,7 @@ i32.const 16 i32.const 1099 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 @@ -18471,7 +18468,7 @@ i32.const 16 i32.const 1100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 @@ -18484,7 +18481,7 @@ i32.const 16 i32.const 1101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754940705625946e-38 @@ -18497,7 +18494,7 @@ i32.const 16 i32.const 1102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754942106924411e-38 @@ -18510,7 +18507,7 @@ i32.const 16 i32.const 1103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.175494490952134e-38 @@ -18523,7 +18520,7 @@ i32.const 16 i32.const 1104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754946310819804e-38 @@ -18536,7 +18533,7 @@ i32.const 16 i32.const 1105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509880009953429e-38 @@ -18549,7 +18546,7 @@ i32.const 16 i32.const 1106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 @@ -18562,7 +18559,7 @@ i32.const 16 i32.const 1107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509895424236536e-38 @@ -18575,7 +18572,7 @@ i32.const 16 i32.const 1108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 @@ -18588,7 +18585,7 @@ i32.const 16 i32.const 1109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.450580596923828e-09 @@ -18601,7 +18598,7 @@ i32.const 16 i32.const 1110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.000244140625 @@ -18614,7 +18611,7 @@ i32.const 16 i32.const 1111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.00048828125 @@ -18627,7 +18624,7 @@ i32.const 16 i32.const 1112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.0009765625 @@ -18640,7 +18637,7 @@ i32.const 16 i32.const 1113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.802596928649634e-45 @@ -18653,7 +18650,7 @@ i32.const 16 i32.const 1114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.2611686178923354e-44 @@ -18666,7 +18663,7 @@ i32.const 16 i32.const 1115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 @@ -18679,7 +18676,7 @@ i32.const 16 i32.const 1116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -5.877471754111438e-39 @@ -18692,7 +18689,7 @@ i32.const 16 i32.const 1117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754940705625946e-38 @@ -18705,7 +18702,7 @@ i32.const 16 i32.const 1118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 @@ -18718,7 +18715,7 @@ i32.const 16 i32.const 1119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.175494490952134e-38 @@ -18731,7 +18728,7 @@ i32.const 16 i32.const 1120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754946310819804e-38 @@ -18744,7 +18741,7 @@ i32.const 16 i32.const 1121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509880009953429e-38 @@ -18757,7 +18754,7 @@ i32.const 16 i32.const 1122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.350988701644575e-38 @@ -18770,7 +18767,7 @@ i32.const 16 i32.const 1123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509895424236536e-38 @@ -18783,7 +18780,7 @@ i32.const 16 i32.const 1124 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -4.70197740328915e-38 @@ -18796,7 +18793,7 @@ i32.const 16 i32.const 1125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.450580596923828e-09 @@ -18809,7 +18806,7 @@ i32.const 16 i32.const 1126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.000244140625 @@ -18822,7 +18819,7 @@ i32.const 16 i32.const 1127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.00048828125 @@ -18835,7 +18832,7 @@ i32.const 16 i32.const 1128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.0009765625 @@ -18848,7 +18845,7 @@ i32.const 16 i32.const 1129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 255.99993896484375 @@ -18861,7 +18858,7 @@ i32.const 16 i32.const 1132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5033165 @@ -18874,7 +18871,7 @@ i32.const 16 i32.const 1133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 421657440 @@ -18887,7 +18884,7 @@ i32.const 16 i32.const 1134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2147483392 @@ -18900,7 +18897,7 @@ i32.const 16 i32.const 1135 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 68719476736 @@ -18913,7 +18910,7 @@ i32.const 16 i32.const 1136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 549755813888 @@ -18926,7 +18923,7 @@ i32.const 16 i32.const 1137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 @@ -18939,7 +18936,7 @@ i32.const 16 i32.const 1138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -255.99993896484375 @@ -18952,7 +18949,7 @@ i32.const 16 i32.const 1139 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -5033165 @@ -18965,7 +18962,7 @@ i32.const 16 i32.const 1140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -421657440 @@ -18978,7 +18975,7 @@ i32.const 16 i32.const 1141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2147483392 @@ -18991,7 +18988,7 @@ i32.const 16 i32.const 1142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -68719476736 @@ -19004,7 +19001,7 @@ i32.const 16 i32.const 1143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -549755813888 @@ -19017,7 +19014,7 @@ i32.const 16 i32.const 1144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3402823466385288598117041e14 @@ -19030,7 +19027,7 @@ i32.const 16 i32.const 1145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -19043,7 +19040,7 @@ i32.const 16 i32.const 1156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -19056,7 +19053,7 @@ i32.const 16 i32.const 1157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -19069,7 +19066,7 @@ i32.const 16 i32.const 1158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -19082,7 +19079,7 @@ i32.const 16 i32.const 1159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -19095,7 +19092,7 @@ i32.const 16 i32.const 1160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -19108,7 +19105,7 @@ i32.const 16 i32.const 1161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -19121,7 +19118,7 @@ i32.const 16 i32.const 1162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -19134,7 +19131,7 @@ i32.const 16 i32.const 1163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -19147,7 +19144,7 @@ i32.const 16 i32.const 1164 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -19160,7 +19157,7 @@ i32.const 16 i32.const 1165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -19173,7 +19170,7 @@ i32.const 16 i32.const 1168 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -19186,7 +19183,7 @@ i32.const 16 i32.const 1169 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -19199,7 +19196,7 @@ i32.const 16 i32.const 1170 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -19212,7 +19209,7 @@ i32.const 16 i32.const 1171 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -19225,7 +19222,7 @@ i32.const 16 i32.const 1172 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -19238,7 +19235,7 @@ i32.const 16 i32.const 1181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -19251,7 +19248,7 @@ i32.const 16 i32.const 1182 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -19264,7 +19261,7 @@ i32.const 16 i32.const 1183 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -19277,7 +19274,7 @@ i32.const 16 i32.const 1184 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -19290,7 +19287,7 @@ i32.const 16 i32.const 1185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -19303,7 +19300,7 @@ i32.const 16 i32.const 1186 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -19316,7 +19313,7 @@ i32.const 16 i32.const 1187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -19329,7 +19326,7 @@ i32.const 16 i32.const 1188 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -19342,7 +19339,7 @@ i32.const 16 i32.const 1189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -19355,7 +19352,7 @@ i32.const 16 i32.const 1190 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -19368,7 +19365,7 @@ i32.const 16 i32.const 1193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -19381,7 +19378,7 @@ i32.const 16 i32.const 1194 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -19394,7 +19391,7 @@ i32.const 16 i32.const 1195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -19407,7 +19404,7 @@ i32.const 16 i32.const 1196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -19420,7 +19417,7 @@ i32.const 16 i32.const 1197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -19433,7 +19430,7 @@ i32.const 16 i32.const 1209 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -19446,7 +19443,7 @@ i32.const 16 i32.const 1210 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -19459,7 +19456,7 @@ i32.const 16 i32.const 1211 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -19472,7 +19469,7 @@ i32.const 16 i32.const 1212 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -19485,7 +19482,7 @@ i32.const 16 i32.const 1213 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -19498,7 +19495,7 @@ i32.const 16 i32.const 1214 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -19511,7 +19508,7 @@ i32.const 16 i32.const 1215 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -19524,7 +19521,7 @@ i32.const 16 i32.const 1216 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -19537,7 +19534,7 @@ i32.const 16 i32.const 1217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -19550,7 +19547,7 @@ i32.const 16 i32.const 1218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -19563,7 +19560,7 @@ i32.const 16 i32.const 1221 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -19576,7 +19573,7 @@ i32.const 16 i32.const 1222 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -19589,7 +19586,7 @@ i32.const 16 i32.const 1223 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -19602,7 +19599,7 @@ i32.const 16 i32.const 1224 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -19615,7 +19612,7 @@ i32.const 16 i32.const 1225 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -19628,7 +19625,7 @@ i32.const 16 i32.const 1226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -19641,7 +19638,7 @@ i32.const 16 i32.const 1227 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0397214889526365 @@ -19654,7 +19651,7 @@ i32.const 16 i32.const 1228 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0397214889526365 @@ -19667,7 +19664,7 @@ i32.const 16 i32.const 1229 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0397210121154785 @@ -19680,7 +19677,7 @@ i32.const 16 i32.const 1230 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0397214889526367 @@ -19693,7 +19690,7 @@ i32.const 16 i32.const 1231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -19706,7 +19703,7 @@ i32.const 16 i32.const 1234 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -5e-324 @@ -19719,7 +19716,7 @@ i32.const 16 i32.const 1235 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 709.782712893384 @@ -19732,7 +19729,7 @@ i32.const 16 i32.const 1237 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 709.7827128933841 @@ -19745,7 +19742,7 @@ i32.const 16 i32.const 1244 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -745.1332191019411 @@ -19758,7 +19755,7 @@ i32.const 16 i32.const 1245 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -745.1332191019412 @@ -19771,7 +19768,7 @@ i32.const 16 i32.const 1252 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -708.3964185322641 @@ -19784,7 +19781,7 @@ i32.const 16 i32.const 1259 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -708.3964185322642 @@ -19797,7 +19794,7 @@ i32.const 16 i32.const 1266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5006933289508785 @@ -19810,7 +19807,7 @@ i32.const 16 i32.const 1273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.628493326460252 @@ -19823,7 +19820,7 @@ i32.const 16 i32.const 1280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.837522455340574 @@ -19836,7 +19833,7 @@ i32.const 16 i32.const 1287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.8504909932810999 @@ -19849,7 +19846,7 @@ i32.const 16 i32.const 1293 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.6270060846924657 @@ -19862,7 +19859,7 @@ i32.const 16 i32.const 1299 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.6744336219614115 @@ -19875,7 +19872,7 @@ i32.const 16 i32.const 1305 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 6.657914718791208 @@ -19888,7 +19885,7 @@ i32.const 16 i32.const 1312 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 11.022872793631722 @@ -19901,7 +19898,7 @@ i32.const 16 i32.const 1319 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 11.411195701885317 @@ -19914,7 +19911,7 @@ i32.const 16 i32.const 1326 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 11.794490387560606 @@ -19927,7 +19924,7 @@ i32.const 16 i32.const 1333 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 412.83872756953286 @@ -19940,7 +19937,7 @@ i32.const 16 i32.const 1340 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 510.87569028483415 @@ -19953,7 +19950,7 @@ i32.const 16 i32.const 1347 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2.6589841439772853e-14 @@ -19966,7 +19963,7 @@ i32.const 16 i32.const 1354 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2.7144952952085447e-14 @@ -19979,7 +19976,7 @@ i32.const 16 i32.const 1361 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -19992,7 +19989,7 @@ i32.const 16 i32.const 1375 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -20005,7 +20002,7 @@ i32.const 16 i32.const 1376 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -20018,7 +20015,7 @@ i32.const 16 i32.const 1377 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -20031,7 +20028,7 @@ i32.const 16 i32.const 1378 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -20044,7 +20041,7 @@ i32.const 16 i32.const 1379 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -20057,7 +20054,7 @@ i32.const 16 i32.const 1380 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -20070,7 +20067,7 @@ i32.const 16 i32.const 1381 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -20083,7 +20080,7 @@ i32.const 16 i32.const 1382 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -20096,7 +20093,7 @@ i32.const 16 i32.const 1383 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -20109,7 +20106,7 @@ i32.const 16 i32.const 1384 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -20122,7 +20119,7 @@ i32.const 16 i32.const 1387 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -20135,7 +20132,7 @@ i32.const 16 i32.const 1388 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -20148,7 +20145,7 @@ i32.const 16 i32.const 1389 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -20161,7 +20158,7 @@ i32.const 16 i32.const 1390 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -20174,7 +20171,7 @@ i32.const 16 i32.const 1391 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -20187,7 +20184,7 @@ i32.const 16 i32.const 1392 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -20200,7 +20197,7 @@ i32.const 16 i32.const 1393 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 88.72283172607422 @@ -20213,7 +20210,7 @@ i32.const 16 i32.const 1394 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 88.72283935546875 @@ -20226,7 +20223,7 @@ i32.const 16 i32.const 1395 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -103.97207641601562 @@ -20239,7 +20236,7 @@ i32.const 16 i32.const 1396 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -103.97208404541016 @@ -20252,7 +20249,7 @@ i32.const 16 i32.const 1397 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.3465735614299774 @@ -20265,7 +20262,7 @@ i32.const 16 i32.const 1398 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.3465735912322998 @@ -20278,7 +20275,7 @@ i32.const 16 i32.const 1399 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.3465736210346222 @@ -20291,7 +20288,7 @@ i32.const 16 i32.const 1400 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -20304,7 +20301,7 @@ i32.const 16 i32.const 1412 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -20317,7 +20314,7 @@ i32.const 16 i32.const 1413 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -20330,7 +20327,7 @@ i32.const 16 i32.const 1414 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -20343,7 +20340,7 @@ i32.const 16 i32.const 1415 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -20356,7 +20353,7 @@ i32.const 16 i32.const 1416 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -20369,7 +20366,7 @@ i32.const 16 i32.const 1417 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -20382,7 +20379,7 @@ i32.const 16 i32.const 1418 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -20395,7 +20392,7 @@ i32.const 16 i32.const 1419 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -20408,7 +20405,7 @@ i32.const 16 i32.const 1420 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -20421,7 +20418,7 @@ i32.const 16 i32.const 1421 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -20434,7 +20431,7 @@ i32.const 16 i32.const 1424 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -20447,7 +20444,7 @@ i32.const 16 i32.const 1425 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -20460,7 +20457,7 @@ i32.const 16 i32.const 1426 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -20473,7 +20470,7 @@ i32.const 16 i32.const 1427 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -20486,7 +20483,7 @@ i32.const 16 i32.const 1428 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -20499,7 +20496,7 @@ i32.const 16 i32.const 1429 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -20512,7 +20509,7 @@ i32.const 16 i32.const 1430 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507201e-308 @@ -20525,7 +20522,7 @@ i32.const 16 i32.const 1431 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2.225073858507201e-308 @@ -20538,7 +20535,7 @@ i32.const 16 i32.const 1432 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -20551,7 +20548,7 @@ i32.const 16 i32.const 1441 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -20564,7 +20561,7 @@ i32.const 16 i32.const 1442 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -20577,7 +20574,7 @@ i32.const 16 i32.const 1443 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -20590,7 +20587,7 @@ i32.const 16 i32.const 1444 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -20603,7 +20600,7 @@ i32.const 16 i32.const 1445 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -20616,7 +20613,7 @@ i32.const 16 i32.const 1446 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -20629,7 +20626,7 @@ i32.const 16 i32.const 1447 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -20642,7 +20639,7 @@ i32.const 16 i32.const 1448 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -20655,7 +20652,7 @@ i32.const 16 i32.const 1449 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -20668,7 +20665,7 @@ i32.const 16 i32.const 1450 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -20681,7 +20678,7 @@ i32.const 16 i32.const 1453 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -20694,7 +20691,7 @@ i32.const 16 i32.const 1454 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -20707,7 +20704,7 @@ i32.const 16 i32.const 1455 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -20720,7 +20717,7 @@ i32.const 16 i32.const 1456 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -20733,7 +20730,7 @@ i32.const 16 i32.const 1457 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -20746,7 +20743,7 @@ i32.const 16 i32.const 1458 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -20759,7 +20756,7 @@ i32.const 16 i32.const 1459 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -20771,7 +20768,7 @@ i32.const 16 i32.const 1471 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -20783,7 +20780,7 @@ i32.const 16 i32.const 1472 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -20795,7 +20792,7 @@ i32.const 16 i32.const 1473 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -20807,7 +20804,7 @@ i32.const 16 i32.const 1474 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -20819,7 +20816,7 @@ i32.const 16 i32.const 1475 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -20831,7 +20828,7 @@ i32.const 16 i32.const 1476 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -20843,7 +20840,7 @@ i32.const 16 i32.const 1477 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -20855,7 +20852,7 @@ i32.const 16 i32.const 1478 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -20867,7 +20864,7 @@ i32.const 16 i32.const 1479 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -20879,7 +20876,7 @@ i32.const 16 i32.const 1480 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -20891,7 +20888,7 @@ i32.const 16 i32.const 1483 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -20903,7 +20900,7 @@ i32.const 16 i32.const 1484 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -20915,7 +20912,7 @@ i32.const 16 i32.const 1485 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -20927,7 +20924,7 @@ i32.const 16 i32.const 1486 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -20939,7 +20936,7 @@ i32.const 16 i32.const 1487 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -20951,7 +20948,7 @@ i32.const 16 i32.const 1488 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -20963,7 +20960,7 @@ i32.const 16 i32.const 1489 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -20975,7 +20972,7 @@ i32.const 16 i32.const 1490 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -20987,7 +20984,7 @@ i32.const 16 i32.const 1491 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -20999,7 +20996,7 @@ i32.const 16 i32.const 1492 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -21011,7 +21008,7 @@ i32.const 16 i32.const 1493 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -21023,7 +21020,7 @@ i32.const 16 i32.const 1494 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -21035,7 +21032,7 @@ i32.const 16 i32.const 1495 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -21047,7 +21044,7 @@ i32.const 16 i32.const 1496 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -21059,7 +21056,7 @@ i32.const 16 i32.const 1497 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -21071,7 +21068,7 @@ i32.const 16 i32.const 1506 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -21083,7 +21080,7 @@ i32.const 16 i32.const 1507 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -21095,7 +21092,7 @@ i32.const 16 i32.const 1508 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -21107,7 +21104,7 @@ i32.const 16 i32.const 1509 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -21119,7 +21116,7 @@ i32.const 16 i32.const 1510 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -21131,7 +21128,7 @@ i32.const 16 i32.const 1511 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -21143,7 +21140,7 @@ i32.const 16 i32.const 1512 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -21155,7 +21152,7 @@ i32.const 16 i32.const 1513 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -21167,7 +21164,7 @@ i32.const 16 i32.const 1514 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -21179,7 +21176,7 @@ i32.const 16 i32.const 1515 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -21191,7 +21188,7 @@ i32.const 16 i32.const 1518 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -21203,7 +21200,7 @@ i32.const 16 i32.const 1519 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -21215,7 +21212,7 @@ i32.const 16 i32.const 1520 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -21227,7 +21224,7 @@ i32.const 16 i32.const 1521 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -21239,7 +21236,7 @@ i32.const 16 i32.const 1522 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -21251,7 +21248,7 @@ i32.const 16 i32.const 1523 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -21263,7 +21260,7 @@ i32.const 16 i32.const 1524 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -21275,7 +21272,7 @@ i32.const 16 i32.const 1525 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -21287,7 +21284,7 @@ i32.const 16 i32.const 1526 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -21299,7 +21296,7 @@ i32.const 16 i32.const 1527 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -21311,7 +21308,7 @@ i32.const 16 i32.const 1528 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -21323,7 +21320,7 @@ i32.const 16 i32.const 1529 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -21335,7 +21332,7 @@ i32.const 16 i32.const 1530 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -21347,7 +21344,7 @@ i32.const 16 i32.const 1531 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -21359,7 +21356,7 @@ i32.const 16 i32.const 1532 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -21373,7 +21370,7 @@ i32.const 16 i32.const 1544 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -21387,7 +21384,7 @@ i32.const 16 i32.const 1545 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -21401,7 +21398,7 @@ i32.const 16 i32.const 1546 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -21415,7 +21412,7 @@ i32.const 16 i32.const 1547 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -21429,7 +21426,7 @@ i32.const 16 i32.const 1548 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -21443,7 +21440,7 @@ i32.const 16 i32.const 1549 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -21457,7 +21454,7 @@ i32.const 16 i32.const 1550 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -21471,7 +21468,7 @@ i32.const 16 i32.const 1551 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -21485,7 +21482,7 @@ i32.const 16 i32.const 1552 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -21499,7 +21496,7 @@ i32.const 16 i32.const 1553 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3 @@ -21513,7 +21510,7 @@ i32.const 16 i32.const 1556 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -21527,7 +21524,7 @@ i32.const 16 i32.const 1557 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4 @@ -21541,7 +21538,7 @@ i32.const 16 i32.const 1558 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4 @@ -21555,7 +21552,7 @@ i32.const 16 i32.const 1559 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -21569,7 +21566,7 @@ i32.const 16 i32.const 1560 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -21583,7 +21580,7 @@ i32.const 16 i32.const 1561 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -21597,7 +21594,7 @@ i32.const 16 i32.const 1562 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -21611,7 +21608,7 @@ i32.const 16 i32.const 1563 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -21625,7 +21622,7 @@ i32.const 16 i32.const 1564 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -21639,7 +21636,7 @@ i32.const 16 i32.const 1565 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -21653,7 +21650,7 @@ i32.const 16 i32.const 1566 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -21667,7 +21664,7 @@ i32.const 16 i32.const 1567 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -21681,7 +21678,7 @@ i32.const 16 i32.const 1568 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -21695,7 +21692,7 @@ i32.const 16 i32.const 1569 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -21709,7 +21706,7 @@ i32.const 16 i32.const 1570 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -21723,7 +21720,7 @@ i32.const 16 i32.const 1571 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -21737,7 +21734,7 @@ i32.const 16 i32.const 1572 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -21751,7 +21748,7 @@ i32.const 16 i32.const 1573 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -21765,7 +21762,7 @@ i32.const 16 i32.const 1574 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -21779,7 +21776,7 @@ i32.const 16 i32.const 1583 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -21793,7 +21790,7 @@ i32.const 16 i32.const 1584 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -21807,7 +21804,7 @@ i32.const 16 i32.const 1585 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -21821,7 +21818,7 @@ i32.const 16 i32.const 1586 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -21835,7 +21832,7 @@ i32.const 16 i32.const 1587 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -21849,7 +21846,7 @@ i32.const 16 i32.const 1588 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -21863,7 +21860,7 @@ i32.const 16 i32.const 1589 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -21877,7 +21874,7 @@ i32.const 16 i32.const 1590 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -21891,7 +21888,7 @@ i32.const 16 i32.const 1591 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -21905,7 +21902,7 @@ i32.const 16 i32.const 1592 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3 @@ -21919,7 +21916,7 @@ i32.const 16 i32.const 1595 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -21933,7 +21930,7 @@ i32.const 16 i32.const 1596 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4 @@ -21947,7 +21944,7 @@ i32.const 16 i32.const 1597 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4 @@ -21961,7 +21958,7 @@ i32.const 16 i32.const 1598 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -21975,7 +21972,7 @@ i32.const 16 i32.const 1599 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 @@ -21989,7 +21986,7 @@ i32.const 16 i32.const 1600 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 @@ -22003,7 +22000,7 @@ i32.const 16 i32.const 1601 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -22017,7 +22014,7 @@ i32.const 16 i32.const 1602 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -22031,7 +22028,7 @@ i32.const 16 i32.const 1603 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -22045,7 +22042,7 @@ i32.const 16 i32.const 1604 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -22059,7 +22056,7 @@ i32.const 16 i32.const 1605 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -22073,7 +22070,7 @@ i32.const 16 i32.const 1606 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -22087,7 +22084,7 @@ i32.const 16 i32.const 1607 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -22101,7 +22098,7 @@ i32.const 16 i32.const 1608 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -22115,7 +22112,7 @@ i32.const 16 i32.const 1609 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -22129,7 +22126,7 @@ i32.const 16 i32.const 1610 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -22143,7 +22140,7 @@ i32.const 16 i32.const 1611 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -22157,7 +22154,7 @@ i32.const 16 i32.const 1612 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -22171,7 +22168,7 @@ i32.const 16 i32.const 1613 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -22184,7 +22181,7 @@ i32.const 16 i32.const 1625 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -22197,7 +22194,7 @@ i32.const 16 i32.const 1626 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -22210,7 +22207,7 @@ i32.const 16 i32.const 1627 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -22223,7 +22220,7 @@ i32.const 16 i32.const 1628 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -22236,7 +22233,7 @@ i32.const 16 i32.const 1629 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -22249,7 +22246,7 @@ i32.const 16 i32.const 1630 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -22262,7 +22259,7 @@ i32.const 16 i32.const 1631 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -22275,7 +22272,7 @@ i32.const 16 i32.const 1632 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -22288,7 +22285,7 @@ i32.const 16 i32.const 1633 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -22301,7 +22298,7 @@ i32.const 16 i32.const 1634 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -22314,7 +22311,7 @@ i32.const 16 i32.const 1637 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -22327,7 +22324,7 @@ i32.const 16 i32.const 1638 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -22340,7 +22337,7 @@ i32.const 16 i32.const 1639 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -22353,7 +22350,7 @@ i32.const 16 i32.const 1640 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -22366,7 +22363,7 @@ i32.const 16 i32.const 1641 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -22379,7 +22376,7 @@ i32.const 16 i32.const 1642 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -22392,7 +22389,7 @@ i32.const 16 i32.const 1643 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -22405,7 +22402,7 @@ i32.const 16 i32.const 1644 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -22417,7 +22414,7 @@ i32.const 16 i32.const 1653 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -22429,7 +22426,7 @@ i32.const 16 i32.const 1654 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -22441,7 +22438,7 @@ i32.const 16 i32.const 1655 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -22453,7 +22450,7 @@ i32.const 16 i32.const 1656 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -22465,7 +22462,7 @@ i32.const 16 i32.const 1657 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -22477,7 +22474,7 @@ i32.const 16 i32.const 1658 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -22489,7 +22486,7 @@ i32.const 16 i32.const 1659 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -22501,7 +22498,7 @@ i32.const 16 i32.const 1660 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -22513,7 +22510,7 @@ i32.const 16 i32.const 1663 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -22525,7 +22522,7 @@ i32.const 16 i32.const 1664 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -22537,7 +22534,7 @@ i32.const 16 i32.const 1665 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -22549,7 +22546,7 @@ i32.const 16 i32.const 1666 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -22561,7 +22558,7 @@ i32.const 16 i32.const 1667 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -22573,7 +22570,7 @@ i32.const 16 i32.const 1668 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -22585,7 +22582,7 @@ i32.const 16 i32.const 1669 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -22597,7 +22594,7 @@ i32.const 16 i32.const 1670 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -22610,7 +22607,7 @@ i32.const 16 i32.const 1682 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -22623,7 +22620,7 @@ i32.const 16 i32.const 1683 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -22636,7 +22633,7 @@ i32.const 16 i32.const 1684 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -22649,7 +22646,7 @@ i32.const 16 i32.const 1685 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -22662,7 +22659,7 @@ i32.const 16 i32.const 1686 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -22675,7 +22672,7 @@ i32.const 16 i32.const 1687 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -22688,7 +22685,7 @@ i32.const 16 i32.const 1688 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -22701,7 +22698,7 @@ i32.const 16 i32.const 1689 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -22714,7 +22711,7 @@ i32.const 16 i32.const 1690 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -22727,7 +22724,7 @@ i32.const 16 i32.const 1691 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -22740,7 +22737,7 @@ i32.const 16 i32.const 1694 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -22753,7 +22750,7 @@ i32.const 16 i32.const 1695 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -22766,7 +22763,7 @@ i32.const 16 i32.const 1696 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -22779,7 +22776,7 @@ i32.const 16 i32.const 1697 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -22792,7 +22789,7 @@ i32.const 16 i32.const 1698 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -22805,7 +22802,7 @@ i32.const 16 i32.const 1699 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -22818,7 +22815,7 @@ i32.const 16 i32.const 1700 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -22831,7 +22828,7 @@ i32.const 16 i32.const 1701 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -22844,7 +22841,7 @@ i32.const 16 i32.const 1710 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -22857,7 +22854,7 @@ i32.const 16 i32.const 1711 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -22870,7 +22867,7 @@ i32.const 16 i32.const 1712 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -22883,7 +22880,7 @@ i32.const 16 i32.const 1713 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -22896,7 +22893,7 @@ i32.const 16 i32.const 1714 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -22909,7 +22906,7 @@ i32.const 16 i32.const 1715 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -22922,7 +22919,7 @@ i32.const 16 i32.const 1716 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -22935,7 +22932,7 @@ i32.const 16 i32.const 1717 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -22948,7 +22945,7 @@ i32.const 16 i32.const 1718 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -22961,7 +22958,7 @@ i32.const 16 i32.const 1719 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -22974,7 +22971,7 @@ i32.const 16 i32.const 1722 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -22987,7 +22984,7 @@ i32.const 16 i32.const 1723 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -23000,7 +22997,7 @@ i32.const 16 i32.const 1724 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -23013,7 +23010,7 @@ i32.const 16 i32.const 1725 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -23026,7 +23023,7 @@ i32.const 16 i32.const 1726 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -23039,7 +23036,7 @@ i32.const 16 i32.const 1727 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -23052,7 +23049,7 @@ i32.const 16 i32.const 1728 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -23065,7 +23062,7 @@ i32.const 16 i32.const 1729 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -23078,7 +23075,7 @@ i32.const 16 i32.const 1741 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -23091,7 +23088,7 @@ i32.const 16 i32.const 1742 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -23104,7 +23101,7 @@ i32.const 16 i32.const 1743 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -23117,7 +23114,7 @@ i32.const 16 i32.const 1744 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -23130,7 +23127,7 @@ i32.const 16 i32.const 1745 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -23143,7 +23140,7 @@ i32.const 16 i32.const 1746 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -23156,7 +23153,7 @@ i32.const 16 i32.const 1747 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -23169,7 +23166,7 @@ i32.const 16 i32.const 1748 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -23182,7 +23179,7 @@ i32.const 16 i32.const 1749 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -23195,7 +23192,7 @@ i32.const 16 i32.const 1750 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -23208,7 +23205,7 @@ i32.const 16 i32.const 1753 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -23221,7 +23218,7 @@ i32.const 16 i32.const 1754 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -23234,7 +23231,7 @@ i32.const 16 i32.const 1755 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -23247,7 +23244,7 @@ i32.const 16 i32.const 1756 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -23260,7 +23257,7 @@ i32.const 16 i32.const 1757 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -23273,7 +23270,7 @@ i32.const 16 i32.const 1758 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -23286,7 +23283,7 @@ i32.const 16 i32.const 1759 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -23299,7 +23296,7 @@ i32.const 16 i32.const 1760 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -23312,7 +23309,7 @@ i32.const 16 i32.const 1769 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -23325,7 +23322,7 @@ i32.const 16 i32.const 1770 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -23338,7 +23335,7 @@ i32.const 16 i32.const 1771 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -23351,7 +23348,7 @@ i32.const 16 i32.const 1772 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -23364,7 +23361,7 @@ i32.const 16 i32.const 1773 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -23377,7 +23374,7 @@ i32.const 16 i32.const 1774 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -23390,7 +23387,7 @@ i32.const 16 i32.const 1775 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -23403,7 +23400,7 @@ i32.const 16 i32.const 1776 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -23416,7 +23413,7 @@ i32.const 16 i32.const 1777 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -23429,7 +23426,7 @@ i32.const 16 i32.const 1778 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -23442,7 +23439,7 @@ i32.const 16 i32.const 1781 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -23455,7 +23452,7 @@ i32.const 16 i32.const 1782 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -23468,7 +23465,7 @@ i32.const 16 i32.const 1783 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -23481,7 +23478,7 @@ i32.const 16 i32.const 1784 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -23494,7 +23491,7 @@ i32.const 16 i32.const 1785 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -23507,7 +23504,7 @@ i32.const 16 i32.const 1786 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -23520,7 +23517,7 @@ i32.const 16 i32.const 1787 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -23533,7 +23530,7 @@ i32.const 16 i32.const 1788 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 @@ -23546,7 +23543,7 @@ i32.const 16 i32.const 1789 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -23559,7 +23556,7 @@ i32.const 16 i32.const 1801 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -23572,7 +23569,7 @@ i32.const 16 i32.const 1802 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -23585,7 +23582,7 @@ i32.const 16 i32.const 1803 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -23598,7 +23595,7 @@ i32.const 16 i32.const 1804 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -23611,7 +23608,7 @@ i32.const 16 i32.const 1805 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -23624,7 +23621,7 @@ i32.const 16 i32.const 1806 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -23637,7 +23634,7 @@ i32.const 16 i32.const 1807 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -23650,7 +23647,7 @@ i32.const 16 i32.const 1808 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -23663,7 +23660,7 @@ i32.const 16 i32.const 1809 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -23676,7 +23673,7 @@ i32.const 16 i32.const 1810 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -23689,7 +23686,7 @@ i32.const 16 i32.const 1813 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -23702,7 +23699,7 @@ i32.const 16 i32.const 1814 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -23715,7 +23712,7 @@ i32.const 16 i32.const 1815 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -23728,7 +23725,7 @@ i32.const 16 i32.const 1816 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -23741,7 +23738,7 @@ i32.const 16 i32.const 1817 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -23754,7 +23751,7 @@ i32.const 16 i32.const 1818 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -23767,7 +23764,7 @@ i32.const 16 i32.const 1819 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -23780,7 +23777,7 @@ i32.const 16 i32.const 1820 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -23793,7 +23790,7 @@ i32.const 16 i32.const 1829 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -23806,7 +23803,7 @@ i32.const 16 i32.const 1830 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -23819,7 +23816,7 @@ i32.const 16 i32.const 1831 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -23832,7 +23829,7 @@ i32.const 16 i32.const 1832 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -23845,7 +23842,7 @@ i32.const 16 i32.const 1833 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -23858,7 +23855,7 @@ i32.const 16 i32.const 1834 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -23871,7 +23868,7 @@ i32.const 16 i32.const 1835 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -23884,7 +23881,7 @@ i32.const 16 i32.const 1836 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -23897,7 +23894,7 @@ i32.const 16 i32.const 1837 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -23910,7 +23907,7 @@ i32.const 16 i32.const 1838 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -23923,7 +23920,7 @@ i32.const 16 i32.const 1841 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -23936,7 +23933,7 @@ i32.const 16 i32.const 1842 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -23949,7 +23946,7 @@ i32.const 16 i32.const 1843 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -23962,7 +23959,7 @@ i32.const 16 i32.const 1844 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -23975,7 +23972,7 @@ i32.const 16 i32.const 1845 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -23988,7 +23985,7 @@ i32.const 16 i32.const 1846 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -24001,7 +23998,7 @@ i32.const 16 i32.const 1847 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -24014,7 +24011,7 @@ i32.const 16 i32.const 1848 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -24027,7 +24024,7 @@ i32.const 16 i32.const 1860 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -24040,7 +24037,7 @@ i32.const 16 i32.const 1861 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -24053,7 +24050,7 @@ i32.const 16 i32.const 1862 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -24066,7 +24063,7 @@ i32.const 16 i32.const 1863 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -24079,7 +24076,7 @@ i32.const 16 i32.const 1864 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -24092,7 +24089,7 @@ i32.const 16 i32.const 1865 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -24105,7 +24102,7 @@ i32.const 16 i32.const 1866 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -24118,7 +24115,7 @@ i32.const 16 i32.const 1867 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -24131,7 +24128,7 @@ i32.const 16 i32.const 1868 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -24144,7 +24141,7 @@ i32.const 16 i32.const 1869 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -24157,7 +24154,7 @@ i32.const 16 i32.const 1872 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -24170,7 +24167,7 @@ i32.const 16 i32.const 1873 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -24183,7 +24180,7 @@ i32.const 16 i32.const 1874 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -24196,7 +24193,7 @@ i32.const 16 i32.const 1875 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -24209,7 +24206,7 @@ i32.const 16 i32.const 1876 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -24222,7 +24219,7 @@ i32.const 16 i32.const 1877 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24235,7 +24232,7 @@ i32.const 16 i32.const 1878 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -24248,7 +24245,7 @@ i32.const 16 i32.const 1879 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -24261,7 +24258,7 @@ i32.const 16 i32.const 1880 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -24274,7 +24271,7 @@ i32.const 16 i32.const 1881 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -24287,7 +24284,7 @@ i32.const 16 i32.const 1882 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -24300,7 +24297,7 @@ i32.const 16 i32.const 1883 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -24313,7 +24310,7 @@ i32.const 16 i32.const 1884 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -24326,7 +24323,7 @@ i32.const 16 i32.const 1885 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -24339,7 +24336,7 @@ i32.const 16 i32.const 1886 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24352,7 +24349,7 @@ i32.const 16 i32.const 1887 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -24365,7 +24362,7 @@ i32.const 16 i32.const 1888 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -24378,7 +24375,7 @@ i32.const 16 i32.const 1889 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -24391,7 +24388,7 @@ i32.const 16 i32.const 1890 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -24404,7 +24401,7 @@ i32.const 16 i32.const 1891 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -24417,7 +24414,7 @@ i32.const 16 i32.const 1892 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -24430,7 +24427,7 @@ i32.const 16 i32.const 1893 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -24443,7 +24440,7 @@ i32.const 16 i32.const 1894 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -24456,7 +24453,7 @@ i32.const 16 i32.const 1895 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -24469,7 +24466,7 @@ i32.const 16 i32.const 1896 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -24482,7 +24479,7 @@ i32.const 16 i32.const 1897 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -24495,7 +24492,7 @@ i32.const 16 i32.const 1898 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -24508,7 +24505,7 @@ i32.const 16 i32.const 1899 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -24521,7 +24518,7 @@ i32.const 16 i32.const 1900 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -24534,7 +24531,7 @@ i32.const 16 i32.const 1901 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24547,7 +24544,7 @@ i32.const 16 i32.const 1902 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -24560,7 +24557,7 @@ i32.const 16 i32.const 1903 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -24573,7 +24570,7 @@ i32.const 16 i32.const 1904 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -24586,7 +24583,7 @@ i32.const 16 i32.const 1905 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24599,7 +24596,7 @@ i32.const 16 i32.const 1906 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -24612,7 +24609,7 @@ i32.const 16 i32.const 1907 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -24625,7 +24622,7 @@ i32.const 16 i32.const 1908 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24638,7 +24635,7 @@ i32.const 16 i32.const 1909 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24651,7 +24648,7 @@ i32.const 16 i32.const 1910 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24664,7 +24661,7 @@ i32.const 16 i32.const 1911 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -24677,7 +24674,7 @@ i32.const 16 i32.const 1912 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -24690,7 +24687,7 @@ i32.const 16 i32.const 1913 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -24703,7 +24700,7 @@ i32.const 16 i32.const 1914 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -24716,7 +24713,7 @@ i32.const 16 i32.const 1915 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -24729,7 +24726,7 @@ i32.const 16 i32.const 1916 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -24742,7 +24739,7 @@ i32.const 16 i32.const 1917 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -24755,7 +24752,7 @@ i32.const 16 i32.const 1918 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -24768,7 +24765,7 @@ i32.const 16 i32.const 1919 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24781,7 +24778,7 @@ i32.const 16 i32.const 1920 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -24794,7 +24791,7 @@ i32.const 16 i32.const 1921 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -24807,7 +24804,7 @@ i32.const 16 i32.const 1922 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -24820,7 +24817,7 @@ i32.const 16 i32.const 1923 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24833,7 +24830,7 @@ i32.const 16 i32.const 1924 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -24846,7 +24843,7 @@ i32.const 16 i32.const 1925 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -24859,7 +24856,7 @@ i32.const 16 i32.const 1926 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -24872,7 +24869,7 @@ i32.const 16 i32.const 1927 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -24885,7 +24882,7 @@ i32.const 16 i32.const 1928 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -24898,7 +24895,7 @@ i32.const 16 i32.const 1929 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -24911,7 +24908,7 @@ i32.const 16 i32.const 1938 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -24924,7 +24921,7 @@ i32.const 16 i32.const 1939 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -24937,7 +24934,7 @@ i32.const 16 i32.const 1940 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -24950,7 +24947,7 @@ i32.const 16 i32.const 1941 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -24963,7 +24960,7 @@ i32.const 16 i32.const 1942 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -24976,7 +24973,7 @@ i32.const 16 i32.const 1943 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -24989,7 +24986,7 @@ i32.const 16 i32.const 1944 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -25002,7 +24999,7 @@ i32.const 16 i32.const 1945 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -25015,7 +25012,7 @@ i32.const 16 i32.const 1946 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -25028,7 +25025,7 @@ i32.const 16 i32.const 1947 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -25041,7 +25038,7 @@ i32.const 16 i32.const 1950 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -25054,7 +25051,7 @@ i32.const 16 i32.const 1951 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -25067,7 +25064,7 @@ i32.const 16 i32.const 1952 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -25080,7 +25077,7 @@ i32.const 16 i32.const 1953 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -25093,7 +25090,7 @@ i32.const 16 i32.const 1954 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -25106,7 +25103,7 @@ i32.const 16 i32.const 1955 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25119,7 +25116,7 @@ i32.const 16 i32.const 1956 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -25132,7 +25129,7 @@ i32.const 16 i32.const 1957 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -25145,7 +25142,7 @@ i32.const 16 i32.const 1958 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -25158,7 +25155,7 @@ i32.const 16 i32.const 1959 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -25171,7 +25168,7 @@ i32.const 16 i32.const 1960 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -25184,7 +25181,7 @@ i32.const 16 i32.const 1961 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -25197,7 +25194,7 @@ i32.const 16 i32.const 1962 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -25210,7 +25207,7 @@ i32.const 16 i32.const 1963 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -25223,7 +25220,7 @@ i32.const 16 i32.const 1964 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25236,7 +25233,7 @@ i32.const 16 i32.const 1965 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -25249,7 +25246,7 @@ i32.const 16 i32.const 1966 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -25262,7 +25259,7 @@ i32.const 16 i32.const 1967 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -25275,7 +25272,7 @@ i32.const 16 i32.const 1968 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -25288,7 +25285,7 @@ i32.const 16 i32.const 1969 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -25301,7 +25298,7 @@ i32.const 16 i32.const 1970 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -25314,7 +25311,7 @@ i32.const 16 i32.const 1971 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -25327,7 +25324,7 @@ i32.const 16 i32.const 1972 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -25340,7 +25337,7 @@ i32.const 16 i32.const 1973 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -25353,7 +25350,7 @@ i32.const 16 i32.const 1974 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -25366,7 +25363,7 @@ i32.const 16 i32.const 1975 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -25379,7 +25376,7 @@ i32.const 16 i32.const 1976 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -25392,7 +25389,7 @@ i32.const 16 i32.const 1977 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -25405,7 +25402,7 @@ i32.const 16 i32.const 1978 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -25418,7 +25415,7 @@ i32.const 16 i32.const 1979 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25431,7 +25428,7 @@ i32.const 16 i32.const 1980 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -25444,7 +25441,7 @@ i32.const 16 i32.const 1981 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -25457,7 +25454,7 @@ i32.const 16 i32.const 1982 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -25470,7 +25467,7 @@ i32.const 16 i32.const 1983 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25483,7 +25480,7 @@ i32.const 16 i32.const 1984 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -25496,7 +25493,7 @@ i32.const 16 i32.const 1985 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -25509,7 +25506,7 @@ i32.const 16 i32.const 1986 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25522,7 +25519,7 @@ i32.const 16 i32.const 1987 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25535,7 +25532,7 @@ i32.const 16 i32.const 1988 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25548,7 +25545,7 @@ i32.const 16 i32.const 1989 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -25561,7 +25558,7 @@ i32.const 16 i32.const 1990 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -25574,7 +25571,7 @@ i32.const 16 i32.const 1991 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -25587,7 +25584,7 @@ i32.const 16 i32.const 1992 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -25600,7 +25597,7 @@ i32.const 16 i32.const 1993 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -25613,7 +25610,7 @@ i32.const 16 i32.const 1994 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -25626,7 +25623,7 @@ i32.const 16 i32.const 1995 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -25639,7 +25636,7 @@ i32.const 16 i32.const 1996 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -25652,7 +25649,7 @@ i32.const 16 i32.const 1997 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25665,7 +25662,7 @@ i32.const 16 i32.const 1998 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -25678,7 +25675,7 @@ i32.const 16 i32.const 1999 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -25691,7 +25688,7 @@ i32.const 16 i32.const 2000 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -25704,7 +25701,7 @@ i32.const 16 i32.const 2001 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25717,7 +25714,7 @@ i32.const 16 i32.const 2002 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -25730,7 +25727,7 @@ i32.const 16 i32.const 2003 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -25743,7 +25740,7 @@ i32.const 16 i32.const 2004 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -25756,7 +25753,7 @@ i32.const 16 i32.const 2005 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -25769,7 +25766,7 @@ i32.const 16 i32.const 2006 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -25782,7 +25779,7 @@ i32.const 16 i32.const 2007 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -25795,7 +25792,7 @@ i32.const 16 i32.const 2019 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -25808,7 +25805,7 @@ i32.const 16 i32.const 2020 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -25821,7 +25818,7 @@ i32.const 16 i32.const 2021 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -25834,7 +25831,7 @@ i32.const 16 i32.const 2022 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -25847,7 +25844,7 @@ i32.const 16 i32.const 2023 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -25860,7 +25857,7 @@ i32.const 16 i32.const 2024 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -25873,7 +25870,7 @@ i32.const 16 i32.const 2025 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -25886,7 +25883,7 @@ i32.const 16 i32.const 2026 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -25899,7 +25896,7 @@ i32.const 16 i32.const 2027 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -25912,7 +25909,7 @@ i32.const 16 i32.const 2028 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -25925,7 +25922,7 @@ i32.const 16 i32.const 2031 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -25938,7 +25935,7 @@ i32.const 16 i32.const 2032 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -25951,7 +25948,7 @@ i32.const 16 i32.const 2033 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -25964,7 +25961,7 @@ i32.const 16 i32.const 2034 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -25977,7 +25974,7 @@ i32.const 16 i32.const 2035 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -25990,7 +25987,7 @@ i32.const 16 i32.const 2036 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26003,7 +26000,7 @@ i32.const 16 i32.const 2037 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -26016,7 +26013,7 @@ i32.const 16 i32.const 2038 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -26029,7 +26026,7 @@ i32.const 16 i32.const 2039 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -26042,7 +26039,7 @@ i32.const 16 i32.const 2040 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -26055,7 +26052,7 @@ i32.const 16 i32.const 2041 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -26068,7 +26065,7 @@ i32.const 16 i32.const 2042 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -26081,7 +26078,7 @@ i32.const 16 i32.const 2043 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -26094,7 +26091,7 @@ i32.const 16 i32.const 2044 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -26107,7 +26104,7 @@ i32.const 16 i32.const 2045 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26120,7 +26117,7 @@ i32.const 16 i32.const 2046 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -26133,7 +26130,7 @@ i32.const 16 i32.const 2047 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -26146,7 +26143,7 @@ i32.const 16 i32.const 2048 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -26159,7 +26156,7 @@ i32.const 16 i32.const 2049 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -26172,7 +26169,7 @@ i32.const 16 i32.const 2050 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -26185,7 +26182,7 @@ i32.const 16 i32.const 2051 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -26198,7 +26195,7 @@ i32.const 16 i32.const 2052 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -26211,7 +26208,7 @@ i32.const 16 i32.const 2053 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -26224,7 +26221,7 @@ i32.const 16 i32.const 2054 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -26237,7 +26234,7 @@ i32.const 16 i32.const 2055 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -26250,7 +26247,7 @@ i32.const 16 i32.const 2056 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -26263,7 +26260,7 @@ i32.const 16 i32.const 2057 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -26276,7 +26273,7 @@ i32.const 16 i32.const 2058 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -26289,7 +26286,7 @@ i32.const 16 i32.const 2059 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -26302,7 +26299,7 @@ i32.const 16 i32.const 2060 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26315,7 +26312,7 @@ i32.const 16 i32.const 2061 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -26328,7 +26325,7 @@ i32.const 16 i32.const 2062 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -26341,7 +26338,7 @@ i32.const 16 i32.const 2063 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -26354,7 +26351,7 @@ i32.const 16 i32.const 2064 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26367,7 +26364,7 @@ i32.const 16 i32.const 2065 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -26380,7 +26377,7 @@ i32.const 16 i32.const 2066 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -26393,7 +26390,7 @@ i32.const 16 i32.const 2067 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26406,7 +26403,7 @@ i32.const 16 i32.const 2068 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26419,7 +26416,7 @@ i32.const 16 i32.const 2069 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26432,7 +26429,7 @@ i32.const 16 i32.const 2070 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -26445,7 +26442,7 @@ i32.const 16 i32.const 2071 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -26458,7 +26455,7 @@ i32.const 16 i32.const 2072 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -26471,7 +26468,7 @@ i32.const 16 i32.const 2073 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -26484,7 +26481,7 @@ i32.const 16 i32.const 2074 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -26497,7 +26494,7 @@ i32.const 16 i32.const 2075 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -26510,7 +26507,7 @@ i32.const 16 i32.const 2076 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -26523,7 +26520,7 @@ i32.const 16 i32.const 2077 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -26536,7 +26533,7 @@ i32.const 16 i32.const 2078 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26549,7 +26546,7 @@ i32.const 16 i32.const 2079 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -26562,7 +26559,7 @@ i32.const 16 i32.const 2080 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -26575,7 +26572,7 @@ i32.const 16 i32.const 2081 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -26588,7 +26585,7 @@ i32.const 16 i32.const 2082 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26601,7 +26598,7 @@ i32.const 16 i32.const 2083 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -26614,7 +26611,7 @@ i32.const 16 i32.const 2084 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -26627,7 +26624,7 @@ i32.const 16 i32.const 2085 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -26640,7 +26637,7 @@ i32.const 16 i32.const 2086 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -26653,7 +26650,7 @@ i32.const 16 i32.const 2087 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -26666,7 +26663,7 @@ i32.const 16 i32.const 2088 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -26679,7 +26676,7 @@ i32.const 16 i32.const 2097 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -26692,7 +26689,7 @@ i32.const 16 i32.const 2098 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -26705,7 +26702,7 @@ i32.const 16 i32.const 2099 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -26718,7 +26715,7 @@ i32.const 16 i32.const 2100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -26731,7 +26728,7 @@ i32.const 16 i32.const 2101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -26744,7 +26741,7 @@ i32.const 16 i32.const 2102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -26757,7 +26754,7 @@ i32.const 16 i32.const 2103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -26770,7 +26767,7 @@ i32.const 16 i32.const 2104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -26783,7 +26780,7 @@ i32.const 16 i32.const 2105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -26796,7 +26793,7 @@ i32.const 16 i32.const 2106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -26809,7 +26806,7 @@ i32.const 16 i32.const 2109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -26822,7 +26819,7 @@ i32.const 16 i32.const 2110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -26835,7 +26832,7 @@ i32.const 16 i32.const 2111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -26848,7 +26845,7 @@ i32.const 16 i32.const 2112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -26861,7 +26858,7 @@ i32.const 16 i32.const 2113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -26874,7 +26871,7 @@ i32.const 16 i32.const 2114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -26887,7 +26884,7 @@ i32.const 16 i32.const 2115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -26900,7 +26897,7 @@ i32.const 16 i32.const 2116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -26913,7 +26910,7 @@ i32.const 16 i32.const 2117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -26926,7 +26923,7 @@ i32.const 16 i32.const 2118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -26939,7 +26936,7 @@ i32.const 16 i32.const 2119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -26952,7 +26949,7 @@ i32.const 16 i32.const 2120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -26965,7 +26962,7 @@ i32.const 16 i32.const 2121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -26978,7 +26975,7 @@ i32.const 16 i32.const 2122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -26991,7 +26988,7 @@ i32.const 16 i32.const 2123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27004,7 +27001,7 @@ i32.const 16 i32.const 2124 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -27017,7 +27014,7 @@ i32.const 16 i32.const 2125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -27030,7 +27027,7 @@ i32.const 16 i32.const 2126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -27043,7 +27040,7 @@ i32.const 16 i32.const 2127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -27056,7 +27053,7 @@ i32.const 16 i32.const 2128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -27069,7 +27066,7 @@ i32.const 16 i32.const 2129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -27082,7 +27079,7 @@ i32.const 16 i32.const 2130 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -27095,7 +27092,7 @@ i32.const 16 i32.const 2131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -27108,7 +27105,7 @@ i32.const 16 i32.const 2132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -27121,7 +27118,7 @@ i32.const 16 i32.const 2133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -27134,7 +27131,7 @@ i32.const 16 i32.const 2134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -27147,7 +27144,7 @@ i32.const 16 i32.const 2135 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -27160,7 +27157,7 @@ i32.const 16 i32.const 2136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -27173,7 +27170,7 @@ i32.const 16 i32.const 2137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -27186,7 +27183,7 @@ i32.const 16 i32.const 2138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27199,7 +27196,7 @@ i32.const 16 i32.const 2139 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -27212,7 +27209,7 @@ i32.const 16 i32.const 2140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -27225,7 +27222,7 @@ i32.const 16 i32.const 2141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -27238,7 +27235,7 @@ i32.const 16 i32.const 2142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27251,7 +27248,7 @@ i32.const 16 i32.const 2143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -27264,7 +27261,7 @@ i32.const 16 i32.const 2144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -27277,7 +27274,7 @@ i32.const 16 i32.const 2145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27290,7 +27287,7 @@ i32.const 16 i32.const 2146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27303,7 +27300,7 @@ i32.const 16 i32.const 2147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27316,7 +27313,7 @@ i32.const 16 i32.const 2148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -27329,7 +27326,7 @@ i32.const 16 i32.const 2149 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -27342,7 +27339,7 @@ i32.const 16 i32.const 2150 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -27355,7 +27352,7 @@ i32.const 16 i32.const 2151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -27368,7 +27365,7 @@ i32.const 16 i32.const 2152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -27381,7 +27378,7 @@ i32.const 16 i32.const 2153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -27394,7 +27391,7 @@ i32.const 16 i32.const 2154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -27407,7 +27404,7 @@ i32.const 16 i32.const 2155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -27420,7 +27417,7 @@ i32.const 16 i32.const 2156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27433,7 +27430,7 @@ i32.const 16 i32.const 2157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -27446,7 +27443,7 @@ i32.const 16 i32.const 2158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -27459,7 +27456,7 @@ i32.const 16 i32.const 2159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -27472,7 +27469,7 @@ i32.const 16 i32.const 2160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27485,7 +27482,7 @@ i32.const 16 i32.const 2161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -27498,7 +27495,7 @@ i32.const 16 i32.const 2162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -27511,7 +27508,7 @@ i32.const 16 i32.const 2163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -27524,7 +27521,7 @@ i32.const 16 i32.const 2164 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -27537,7 +27534,7 @@ i32.const 16 i32.const 2165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -27550,7 +27547,7 @@ i32.const 16 i32.const 2166 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -27563,7 +27560,7 @@ i32.const 16 i32.const 2180 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -27576,7 +27573,7 @@ i32.const 16 i32.const 2181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -27589,7 +27586,7 @@ i32.const 16 i32.const 2182 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -27602,7 +27599,7 @@ i32.const 16 i32.const 2183 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -27615,7 +27612,7 @@ i32.const 16 i32.const 2184 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -27628,7 +27625,7 @@ i32.const 16 i32.const 2185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -27641,7 +27638,7 @@ i32.const 16 i32.const 2186 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -27654,7 +27651,7 @@ i32.const 16 i32.const 2187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -27667,7 +27664,7 @@ i32.const 16 i32.const 2188 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -27680,7 +27677,7 @@ i32.const 16 i32.const 2189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -27693,7 +27690,7 @@ i32.const 16 i32.const 2192 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -27706,7 +27703,7 @@ i32.const 16 i32.const 2193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -27719,7 +27716,7 @@ i32.const 16 i32.const 2194 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -27732,7 +27729,7 @@ i32.const 16 i32.const 2195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -27745,7 +27742,7 @@ i32.const 16 i32.const 2196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -27758,7 +27755,7 @@ i32.const 16 i32.const 2197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -27771,7 +27768,7 @@ i32.const 16 i32.const 2198 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -27784,7 +27781,7 @@ i32.const 16 i32.const 2199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -27797,7 +27794,7 @@ i32.const 16 i32.const 2200 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -27810,7 +27807,7 @@ i32.const 16 i32.const 2201 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -27823,7 +27820,7 @@ i32.const 16 i32.const 2202 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -27836,7 +27833,7 @@ i32.const 16 i32.const 2203 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -27849,7 +27846,7 @@ i32.const 16 i32.const 2204 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -27862,7 +27859,7 @@ i32.const 16 i32.const 2205 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -27875,7 +27872,7 @@ i32.const 16 i32.const 2206 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -27888,7 +27885,7 @@ i32.const 16 i32.const 2207 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -27901,7 +27898,7 @@ i32.const 16 i32.const 2208 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -27914,7 +27911,7 @@ i32.const 16 i32.const 2209 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -27927,7 +27924,7 @@ i32.const 16 i32.const 2210 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -27940,7 +27937,7 @@ i32.const 16 i32.const 2211 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -27953,7 +27950,7 @@ i32.const 16 i32.const 2212 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -27966,7 +27963,7 @@ i32.const 16 i32.const 2213 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -27979,7 +27976,7 @@ i32.const 16 i32.const 2214 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -27992,7 +27989,7 @@ i32.const 16 i32.const 2215 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -28005,7 +28002,7 @@ i32.const 16 i32.const 2216 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -28018,7 +28015,7 @@ i32.const 16 i32.const 2217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28031,7 +28028,7 @@ i32.const 16 i32.const 2218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28044,7 +28041,7 @@ i32.const 16 i32.const 2219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28057,7 +28054,7 @@ i32.const 16 i32.const 2220 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28070,7 +28067,7 @@ i32.const 16 i32.const 2221 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28083,7 +28080,7 @@ i32.const 16 i32.const 2222 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28096,7 +28093,7 @@ i32.const 16 i32.const 2223 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28109,7 +28106,7 @@ i32.const 16 i32.const 2224 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28122,7 +28119,7 @@ i32.const 16 i32.const 2225 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28135,7 +28132,7 @@ i32.const 16 i32.const 2226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28148,7 +28145,7 @@ i32.const 16 i32.const 2227 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -28161,7 +28158,7 @@ i32.const 16 i32.const 2228 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -28174,7 +28171,7 @@ i32.const 16 i32.const 2229 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28187,7 +28184,7 @@ i32.const 16 i32.const 2230 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -28200,7 +28197,7 @@ i32.const 16 i32.const 2231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -28213,7 +28210,7 @@ i32.const 16 i32.const 2232 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -28226,7 +28223,7 @@ i32.const 16 i32.const 2233 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28239,7 +28236,7 @@ i32.const 16 i32.const 2234 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -28252,7 +28249,7 @@ i32.const 16 i32.const 2235 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -28265,7 +28262,7 @@ i32.const 16 i32.const 2236 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28278,7 +28275,7 @@ i32.const 16 i32.const 2237 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28291,7 +28288,7 @@ i32.const 16 i32.const 2238 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28304,7 +28301,7 @@ i32.const 16 i32.const 2239 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -28317,7 +28314,7 @@ i32.const 16 i32.const 2240 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -28330,7 +28327,7 @@ i32.const 16 i32.const 2241 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -28343,7 +28340,7 @@ i32.const 16 i32.const 2242 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -28356,7 +28353,7 @@ i32.const 16 i32.const 2243 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -28369,7 +28366,7 @@ i32.const 16 i32.const 2244 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -28382,7 +28379,7 @@ i32.const 16 i32.const 2245 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -28395,7 +28392,7 @@ i32.const 16 i32.const 2246 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -28408,7 +28405,7 @@ i32.const 16 i32.const 2247 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28421,7 +28418,7 @@ i32.const 16 i32.const 2248 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -28434,7 +28431,7 @@ i32.const 16 i32.const 2249 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -28447,7 +28444,7 @@ i32.const 16 i32.const 2250 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -28460,7 +28457,7 @@ i32.const 16 i32.const 2251 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28473,7 +28470,7 @@ i32.const 16 i32.const 2252 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -28486,7 +28483,7 @@ i32.const 16 i32.const 2253 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -28499,7 +28496,7 @@ i32.const 16 i32.const 2254 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -28512,7 +28509,7 @@ i32.const 16 i32.const 2255 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -28525,7 +28522,7 @@ i32.const 16 i32.const 2256 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -28538,7 +28535,7 @@ i32.const 16 i32.const 2257 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -28551,7 +28548,7 @@ i32.const 16 i32.const 2266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -28564,7 +28561,7 @@ i32.const 16 i32.const 2267 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -28577,7 +28574,7 @@ i32.const 16 i32.const 2268 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -28590,7 +28587,7 @@ i32.const 16 i32.const 2269 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -28603,7 +28600,7 @@ i32.const 16 i32.const 2270 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -28616,7 +28613,7 @@ i32.const 16 i32.const 2271 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -28629,7 +28626,7 @@ i32.const 16 i32.const 2272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -28642,7 +28639,7 @@ i32.const 16 i32.const 2273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -28655,7 +28652,7 @@ i32.const 16 i32.const 2274 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -28668,7 +28665,7 @@ i32.const 16 i32.const 2275 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -28681,7 +28678,7 @@ i32.const 16 i32.const 2278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -28694,7 +28691,7 @@ i32.const 16 i32.const 2279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -28707,7 +28704,7 @@ i32.const 16 i32.const 2280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -28720,7 +28717,7 @@ i32.const 16 i32.const 2281 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -28733,7 +28730,7 @@ i32.const 16 i32.const 2282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -28746,7 +28743,7 @@ i32.const 16 i32.const 2283 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -28759,7 +28756,7 @@ i32.const 16 i32.const 2284 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -28772,7 +28769,7 @@ i32.const 16 i32.const 2285 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -28785,7 +28782,7 @@ i32.const 16 i32.const 2286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -28798,7 +28795,7 @@ i32.const 16 i32.const 2287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -28811,7 +28808,7 @@ i32.const 16 i32.const 2288 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -28824,7 +28821,7 @@ i32.const 16 i32.const 2289 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -28837,7 +28834,7 @@ i32.const 16 i32.const 2290 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -28850,7 +28847,7 @@ i32.const 16 i32.const 2291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -28863,7 +28860,7 @@ i32.const 16 i32.const 2292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -28876,7 +28873,7 @@ i32.const 16 i32.const 2293 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -28889,7 +28886,7 @@ i32.const 16 i32.const 2294 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -28902,7 +28899,7 @@ i32.const 16 i32.const 2295 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -28915,7 +28912,7 @@ i32.const 16 i32.const 2296 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -28928,7 +28925,7 @@ i32.const 16 i32.const 2297 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -28941,7 +28938,7 @@ i32.const 16 i32.const 2298 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -28954,7 +28951,7 @@ i32.const 16 i32.const 2299 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -28967,7 +28964,7 @@ i32.const 16 i32.const 2300 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -28980,7 +28977,7 @@ i32.const 16 i32.const 2301 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -28993,7 +28990,7 @@ i32.const 16 i32.const 2302 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -29006,7 +29003,7 @@ i32.const 16 i32.const 2303 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29019,7 +29016,7 @@ i32.const 16 i32.const 2304 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29032,7 +29029,7 @@ i32.const 16 i32.const 2305 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29045,7 +29042,7 @@ i32.const 16 i32.const 2306 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29058,7 +29055,7 @@ i32.const 16 i32.const 2307 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29071,7 +29068,7 @@ i32.const 16 i32.const 2308 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29084,7 +29081,7 @@ i32.const 16 i32.const 2309 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29097,7 +29094,7 @@ i32.const 16 i32.const 2310 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29110,7 +29107,7 @@ i32.const 16 i32.const 2311 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29123,7 +29120,7 @@ i32.const 16 i32.const 2312 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29136,7 +29133,7 @@ i32.const 16 i32.const 2313 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -29149,7 +29146,7 @@ i32.const 16 i32.const 2314 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -29162,7 +29159,7 @@ i32.const 16 i32.const 2315 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29175,7 +29172,7 @@ i32.const 16 i32.const 2316 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -29188,7 +29185,7 @@ i32.const 16 i32.const 2317 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -29201,7 +29198,7 @@ i32.const 16 i32.const 2318 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -29214,7 +29211,7 @@ i32.const 16 i32.const 2319 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29227,7 +29224,7 @@ i32.const 16 i32.const 2320 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -29240,7 +29237,7 @@ i32.const 16 i32.const 2321 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -29253,7 +29250,7 @@ i32.const 16 i32.const 2322 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29266,7 +29263,7 @@ i32.const 16 i32.const 2323 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29279,7 +29276,7 @@ i32.const 16 i32.const 2324 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29292,7 +29289,7 @@ i32.const 16 i32.const 2325 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -29305,7 +29302,7 @@ i32.const 16 i32.const 2326 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -29318,7 +29315,7 @@ i32.const 16 i32.const 2327 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -29331,7 +29328,7 @@ i32.const 16 i32.const 2328 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -29344,7 +29341,7 @@ i32.const 16 i32.const 2329 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -29357,7 +29354,7 @@ i32.const 16 i32.const 2330 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -29370,7 +29367,7 @@ i32.const 16 i32.const 2331 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -29383,7 +29380,7 @@ i32.const 16 i32.const 2332 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -29396,7 +29393,7 @@ i32.const 16 i32.const 2333 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29409,7 +29406,7 @@ i32.const 16 i32.const 2334 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -29422,7 +29419,7 @@ i32.const 16 i32.const 2335 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -29435,7 +29432,7 @@ i32.const 16 i32.const 2336 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -29448,7 +29445,7 @@ i32.const 16 i32.const 2337 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29461,7 +29458,7 @@ i32.const 16 i32.const 2338 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -29474,7 +29471,7 @@ i32.const 16 i32.const 2339 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -29487,7 +29484,7 @@ i32.const 16 i32.const 2340 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -29500,7 +29497,7 @@ i32.const 16 i32.const 2341 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -29513,7 +29510,7 @@ i32.const 16 i32.const 2342 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -29526,7 +29523,7 @@ i32.const 16 i32.const 2343 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -29540,7 +29537,7 @@ i32.const 16 i32.const 2355 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -29554,7 +29551,7 @@ i32.const 16 i32.const 2356 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -29568,7 +29565,7 @@ i32.const 16 i32.const 2357 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -29582,7 +29579,7 @@ i32.const 16 i32.const 2358 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -29596,7 +29593,7 @@ i32.const 16 i32.const 2359 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -29610,7 +29607,7 @@ i32.const 16 i32.const 2360 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -29624,7 +29621,7 @@ i32.const 16 i32.const 2361 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -29638,7 +29635,7 @@ i32.const 16 i32.const 2362 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -29652,7 +29649,7 @@ i32.const 16 i32.const 2363 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -29666,7 +29663,7 @@ i32.const 16 i32.const 2364 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29680,7 +29677,7 @@ i32.const 16 i32.const 2367 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29694,7 +29691,7 @@ i32.const 16 i32.const 2368 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29708,7 +29705,7 @@ i32.const 16 i32.const 2369 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29722,7 +29719,7 @@ i32.const 16 i32.const 2370 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29736,7 +29733,7 @@ i32.const 16 i32.const 2371 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29750,7 +29747,7 @@ i32.const 16 i32.const 2372 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29764,7 +29761,7 @@ i32.const 16 i32.const 2373 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29778,7 +29775,7 @@ i32.const 16 i32.const 2374 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29792,7 +29789,7 @@ i32.const 16 i32.const 2375 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29806,7 +29803,7 @@ i32.const 16 i32.const 2376 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29820,7 +29817,7 @@ i32.const 16 i32.const 2377 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29834,7 +29831,7 @@ i32.const 16 i32.const 2378 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29848,7 +29845,7 @@ i32.const 16 i32.const 2379 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -29862,7 +29859,7 @@ i32.const 16 i32.const 2380 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -29876,7 +29873,7 @@ i32.const 16 i32.const 2381 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -29890,7 +29887,7 @@ i32.const 16 i32.const 2382 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -29904,7 +29901,7 @@ i32.const 16 i32.const 2383 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -29918,7 +29915,7 @@ i32.const 16 i32.const 2384 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -29932,7 +29929,7 @@ i32.const 16 i32.const 2385 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -29946,7 +29943,7 @@ i32.const 16 i32.const 2386 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -29960,7 +29957,7 @@ i32.const 16 i32.const 2387 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -29974,7 +29971,7 @@ i32.const 16 i32.const 2388 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -29988,7 +29985,7 @@ i32.const 16 i32.const 2389 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30002,7 +29999,7 @@ i32.const 16 i32.const 2390 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30016,7 +30013,7 @@ i32.const 16 i32.const 2391 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30030,7 +30027,7 @@ i32.const 16 i32.const 2392 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30044,7 +30041,7 @@ i32.const 16 i32.const 2393 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30058,7 +30055,7 @@ i32.const 16 i32.const 2394 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -30072,7 +30069,7 @@ i32.const 16 i32.const 2395 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30086,7 +30083,7 @@ i32.const 16 i32.const 2396 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30100,7 +30097,7 @@ i32.const 16 i32.const 2397 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30114,7 +30111,7 @@ i32.const 16 i32.const 2398 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30128,7 +30125,7 @@ i32.const 16 i32.const 2399 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30142,7 +30139,7 @@ i32.const 16 i32.const 2400 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -30156,7 +30153,7 @@ i32.const 16 i32.const 2401 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30170,7 +30167,7 @@ i32.const 16 i32.const 2402 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30184,7 +30181,7 @@ i32.const 16 i32.const 2403 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30198,7 +30195,7 @@ i32.const 16 i32.const 2404 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30212,7 +30209,7 @@ i32.const 16 i32.const 2405 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30226,7 +30223,7 @@ i32.const 16 i32.const 2406 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30240,7 +30237,7 @@ i32.const 16 i32.const 2407 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30254,7 +30251,7 @@ i32.const 16 i32.const 2408 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30268,7 +30265,7 @@ i32.const 16 i32.const 2409 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30282,7 +30279,7 @@ i32.const 16 i32.const 2410 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30296,7 +30293,7 @@ i32.const 16 i32.const 2411 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30310,7 +30307,7 @@ i32.const 16 i32.const 2412 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30324,7 +30321,7 @@ i32.const 16 i32.const 2413 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30338,7 +30335,7 @@ i32.const 16 i32.const 2414 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30352,7 +30349,7 @@ i32.const 16 i32.const 2415 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30366,7 +30363,7 @@ i32.const 16 i32.const 2416 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30380,7 +30377,7 @@ i32.const 16 i32.const 2417 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30394,7 +30391,7 @@ i32.const 16 i32.const 2418 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30408,7 +30405,7 @@ i32.const 16 i32.const 2419 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30422,7 +30419,7 @@ i32.const 16 i32.const 2420 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30436,7 +30433,7 @@ i32.const 16 i32.const 2421 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30450,7 +30447,7 @@ i32.const 16 i32.const 2422 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30464,7 +30461,7 @@ i32.const 16 i32.const 2423 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30478,7 +30475,7 @@ i32.const 16 i32.const 2424 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30492,7 +30489,7 @@ i32.const 16 i32.const 2425 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30506,7 +30503,7 @@ i32.const 16 i32.const 2426 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30520,7 +30517,7 @@ i32.const 16 i32.const 2427 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30534,7 +30531,7 @@ i32.const 16 i32.const 2428 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -30548,7 +30545,7 @@ i32.const 16 i32.const 2429 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -30562,7 +30559,7 @@ i32.const 16 i32.const 2430 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -30576,7 +30573,7 @@ i32.const 16 i32.const 2431 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -30590,7 +30587,7 @@ i32.const 16 i32.const 2432 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -30604,7 +30601,7 @@ i32.const 16 i32.const 2433 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -30618,7 +30615,7 @@ i32.const 16 i32.const 2434 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30632,7 +30629,7 @@ i32.const 16 i32.const 2435 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30646,7 +30643,7 @@ i32.const 16 i32.const 2436 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30660,7 +30657,7 @@ i32.const 16 i32.const 2437 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30674,7 +30671,7 @@ i32.const 16 i32.const 2438 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30688,7 +30685,7 @@ i32.const 16 i32.const 2439 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30702,7 +30699,7 @@ i32.const 16 i32.const 2440 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30716,7 +30713,7 @@ i32.const 16 i32.const 2441 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30730,7 +30727,7 @@ i32.const 16 i32.const 2442 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30744,7 +30741,7 @@ i32.const 16 i32.const 2443 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30758,7 +30755,7 @@ i32.const 16 i32.const 2444 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30772,7 +30769,7 @@ i32.const 16 i32.const 2445 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30786,7 +30783,7 @@ i32.const 16 i32.const 2446 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30800,7 +30797,7 @@ i32.const 16 i32.const 2447 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30814,7 +30811,7 @@ i32.const 16 i32.const 2448 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30828,7 +30825,7 @@ i32.const 16 i32.const 2449 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30842,7 +30839,7 @@ i32.const 16 i32.const 2450 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30856,7 +30853,7 @@ i32.const 16 i32.const 2451 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30870,7 +30867,7 @@ i32.const 16 i32.const 2452 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30884,7 +30881,7 @@ i32.const 16 i32.const 2453 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -30898,7 +30895,7 @@ i32.const 16 i32.const 2454 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -30912,7 +30909,7 @@ i32.const 16 i32.const 2455 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -30926,7 +30923,7 @@ i32.const 16 i32.const 2456 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -30940,7 +30937,7 @@ i32.const 16 i32.const 2457 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -30954,7 +30951,7 @@ i32.const 16 i32.const 2458 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -30968,7 +30965,7 @@ i32.const 16 i32.const 2467 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -30982,7 +30979,7 @@ i32.const 16 i32.const 2468 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -30996,7 +30993,7 @@ i32.const 16 i32.const 2469 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -31010,7 +31007,7 @@ i32.const 16 i32.const 2470 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -31024,7 +31021,7 @@ i32.const 16 i32.const 2471 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -31038,7 +31035,7 @@ i32.const 16 i32.const 2472 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -31052,7 +31049,7 @@ i32.const 16 i32.const 2473 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -31066,7 +31063,7 @@ i32.const 16 i32.const 2474 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -31080,7 +31077,7 @@ i32.const 16 i32.const 2475 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -31094,7 +31091,7 @@ i32.const 16 i32.const 2476 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31108,7 +31105,7 @@ i32.const 16 i32.const 2479 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31122,7 +31119,7 @@ i32.const 16 i32.const 2480 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31136,7 +31133,7 @@ i32.const 16 i32.const 2481 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31150,7 +31147,7 @@ i32.const 16 i32.const 2482 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31164,7 +31161,7 @@ i32.const 16 i32.const 2483 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31178,7 +31175,7 @@ i32.const 16 i32.const 2484 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31192,7 +31189,7 @@ i32.const 16 i32.const 2485 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31206,7 +31203,7 @@ i32.const 16 i32.const 2486 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31220,7 +31217,7 @@ i32.const 16 i32.const 2487 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31234,7 +31231,7 @@ i32.const 16 i32.const 2488 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31248,7 +31245,7 @@ i32.const 16 i32.const 2489 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31262,7 +31259,7 @@ i32.const 16 i32.const 2490 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31276,7 +31273,7 @@ i32.const 16 i32.const 2491 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31290,7 +31287,7 @@ i32.const 16 i32.const 2492 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31304,7 +31301,7 @@ i32.const 16 i32.const 2493 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31318,7 +31315,7 @@ i32.const 16 i32.const 2494 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31332,7 +31329,7 @@ i32.const 16 i32.const 2495 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31346,7 +31343,7 @@ i32.const 16 i32.const 2496 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31360,7 +31357,7 @@ i32.const 16 i32.const 2497 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31374,7 +31371,7 @@ i32.const 16 i32.const 2498 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31388,7 +31385,7 @@ i32.const 16 i32.const 2499 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31402,7 +31399,7 @@ i32.const 16 i32.const 2500 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31416,7 +31413,7 @@ i32.const 16 i32.const 2501 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31430,7 +31427,7 @@ i32.const 16 i32.const 2502 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31444,7 +31441,7 @@ i32.const 16 i32.const 2503 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31458,7 +31455,7 @@ i32.const 16 i32.const 2504 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31472,7 +31469,7 @@ i32.const 16 i32.const 2505 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31486,7 +31483,7 @@ i32.const 16 i32.const 2506 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -31500,7 +31497,7 @@ i32.const 16 i32.const 2507 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -31514,7 +31511,7 @@ i32.const 16 i32.const 2508 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -31528,7 +31525,7 @@ i32.const 16 i32.const 2509 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31542,7 +31539,7 @@ i32.const 16 i32.const 2510 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31556,7 +31553,7 @@ i32.const 16 i32.const 2511 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31570,7 +31567,7 @@ i32.const 16 i32.const 2512 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -31584,7 +31581,7 @@ i32.const 16 i32.const 2513 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -31598,7 +31595,7 @@ i32.const 16 i32.const 2514 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -31612,7 +31609,7 @@ i32.const 16 i32.const 2515 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31626,7 +31623,7 @@ i32.const 16 i32.const 2516 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31640,7 +31637,7 @@ i32.const 16 i32.const 2517 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31654,7 +31651,7 @@ i32.const 16 i32.const 2518 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31668,7 +31665,7 @@ i32.const 16 i32.const 2519 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31682,7 +31679,7 @@ i32.const 16 i32.const 2520 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31696,7 +31693,7 @@ i32.const 16 i32.const 2521 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31710,7 +31707,7 @@ i32.const 16 i32.const 2522 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31724,7 +31721,7 @@ i32.const 16 i32.const 2523 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31738,7 +31735,7 @@ i32.const 16 i32.const 2524 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31752,7 +31749,7 @@ i32.const 16 i32.const 2525 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31766,7 +31763,7 @@ i32.const 16 i32.const 2526 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31780,7 +31777,7 @@ i32.const 16 i32.const 2527 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31794,7 +31791,7 @@ i32.const 16 i32.const 2528 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31808,7 +31805,7 @@ i32.const 16 i32.const 2529 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31822,7 +31819,7 @@ i32.const 16 i32.const 2530 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31836,7 +31833,7 @@ i32.const 16 i32.const 2531 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31850,7 +31847,7 @@ i32.const 16 i32.const 2532 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31864,7 +31861,7 @@ i32.const 16 i32.const 2533 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31878,7 +31875,7 @@ i32.const 16 i32.const 2534 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31892,7 +31889,7 @@ i32.const 16 i32.const 2535 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31906,7 +31903,7 @@ i32.const 16 i32.const 2536 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31920,7 +31917,7 @@ i32.const 16 i32.const 2537 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31934,7 +31931,7 @@ i32.const 16 i32.const 2538 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31948,7 +31945,7 @@ i32.const 16 i32.const 2539 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31962,7 +31959,7 @@ i32.const 16 i32.const 2540 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -31976,7 +31973,7 @@ i32.const 16 i32.const 2541 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -31990,7 +31987,7 @@ i32.const 16 i32.const 2542 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -32004,7 +32001,7 @@ i32.const 16 i32.const 2543 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -32018,7 +32015,7 @@ i32.const 16 i32.const 2544 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -32032,7 +32029,7 @@ i32.const 16 i32.const 2545 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -32046,7 +32043,7 @@ i32.const 16 i32.const 2546 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32060,7 +32057,7 @@ i32.const 16 i32.const 2547 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32074,7 +32071,7 @@ i32.const 16 i32.const 2548 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32088,7 +32085,7 @@ i32.const 16 i32.const 2549 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32102,7 +32099,7 @@ i32.const 16 i32.const 2550 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32116,7 +32113,7 @@ i32.const 16 i32.const 2551 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32130,7 +32127,7 @@ i32.const 16 i32.const 2552 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32144,7 +32141,7 @@ i32.const 16 i32.const 2553 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32158,7 +32155,7 @@ i32.const 16 i32.const 2554 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32172,7 +32169,7 @@ i32.const 16 i32.const 2555 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32186,7 +32183,7 @@ i32.const 16 i32.const 2556 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32200,7 +32197,7 @@ i32.const 16 i32.const 2557 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32214,7 +32211,7 @@ i32.const 16 i32.const 2558 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32228,7 +32225,7 @@ i32.const 16 i32.const 2559 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32242,7 +32239,7 @@ i32.const 16 i32.const 2560 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32256,7 +32253,7 @@ i32.const 16 i32.const 2561 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32270,7 +32267,7 @@ i32.const 16 i32.const 2562 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32284,7 +32281,7 @@ i32.const 16 i32.const 2563 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32298,7 +32295,7 @@ i32.const 16 i32.const 2564 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32312,7 +32309,7 @@ i32.const 16 i32.const 2565 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32326,7 +32323,7 @@ i32.const 16 i32.const 2566 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -32340,7 +32337,7 @@ i32.const 16 i32.const 2567 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -32354,7 +32351,7 @@ i32.const 16 i32.const 2568 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -32368,7 +32365,7 @@ i32.const 16 i32.const 2569 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -32382,7 +32379,7 @@ i32.const 16 i32.const 2570 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $~lib/bindings/Math/random @@ -32417,7 +32414,7 @@ i32.const 16 i32.const 2579 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -32457,7 +32454,7 @@ i32.const 16 i32.const 2587 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -32472,7 +32469,7 @@ i32.const 16 i32.const 2601 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -32484,7 +32481,7 @@ i32.const 16 i32.const 2602 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -32496,7 +32493,7 @@ i32.const 16 i32.const 2603 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -32508,7 +32505,7 @@ i32.const 16 i32.const 2604 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -32520,7 +32517,7 @@ i32.const 16 i32.const 2605 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -32532,7 +32529,7 @@ i32.const 16 i32.const 2606 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -32544,7 +32541,7 @@ i32.const 16 i32.const 2607 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -32556,7 +32553,7 @@ i32.const 16 i32.const 2608 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -32568,7 +32565,7 @@ i32.const 16 i32.const 2609 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -32580,7 +32577,7 @@ i32.const 16 i32.const 2610 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -32592,7 +32589,7 @@ i32.const 16 i32.const 2613 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -32604,7 +32601,7 @@ i32.const 16 i32.const 2614 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -32616,7 +32613,7 @@ i32.const 16 i32.const 2615 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -32628,7 +32625,7 @@ i32.const 16 i32.const 2616 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -32640,7 +32637,7 @@ i32.const 16 i32.const 2617 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -32652,7 +32649,7 @@ i32.const 16 i32.const 2618 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -32664,7 +32661,7 @@ i32.const 16 i32.const 2619 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -32676,7 +32673,7 @@ i32.const 16 i32.const 2620 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -32688,7 +32685,7 @@ i32.const 16 i32.const 2621 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -32700,7 +32697,7 @@ i32.const 16 i32.const 2622 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -32712,7 +32709,7 @@ i32.const 16 i32.const 2623 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -32724,7 +32721,7 @@ i32.const 16 i32.const 2624 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -32736,7 +32733,7 @@ i32.const 16 i32.const 2625 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -32748,7 +32745,7 @@ i32.const 16 i32.const 2626 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -32760,7 +32757,7 @@ i32.const 16 i32.const 2627 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -32772,7 +32769,7 @@ i32.const 16 i32.const 2628 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -32784,7 +32781,7 @@ i32.const 16 i32.const 2629 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -32796,7 +32793,7 @@ i32.const 16 i32.const 2638 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -32808,7 +32805,7 @@ i32.const 16 i32.const 2639 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -32820,7 +32817,7 @@ i32.const 16 i32.const 2640 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -32832,7 +32829,7 @@ i32.const 16 i32.const 2641 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -32844,7 +32841,7 @@ i32.const 16 i32.const 2642 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -32856,7 +32853,7 @@ i32.const 16 i32.const 2643 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -32868,7 +32865,7 @@ i32.const 16 i32.const 2644 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -32880,7 +32877,7 @@ i32.const 16 i32.const 2645 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -32892,7 +32889,7 @@ i32.const 16 i32.const 2646 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -32904,7 +32901,7 @@ i32.const 16 i32.const 2647 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -32916,7 +32913,7 @@ i32.const 16 i32.const 2650 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32928,7 +32925,7 @@ i32.const 16 i32.const 2651 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -32940,7 +32937,7 @@ i32.const 16 i32.const 2652 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -32952,7 +32949,7 @@ i32.const 16 i32.const 2653 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -32964,7 +32961,7 @@ i32.const 16 i32.const 2654 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -32976,7 +32973,7 @@ i32.const 16 i32.const 2655 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -32988,7 +32985,7 @@ i32.const 16 i32.const 2656 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -33000,7 +32997,7 @@ i32.const 16 i32.const 2657 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -33012,7 +33009,7 @@ i32.const 16 i32.const 2658 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -33024,7 +33021,7 @@ i32.const 16 i32.const 2659 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -33036,7 +33033,7 @@ i32.const 16 i32.const 2660 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -33048,7 +33045,7 @@ i32.const 16 i32.const 2661 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -33060,7 +33057,7 @@ i32.const 16 i32.const 2662 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -33072,7 +33069,7 @@ i32.const 16 i32.const 2663 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -33084,7 +33081,7 @@ i32.const 16 i32.const 2664 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -33096,7 +33093,7 @@ i32.const 16 i32.const 2665 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -33108,7 +33105,7 @@ i32.const 16 i32.const 2666 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33120,7 +33117,7 @@ i32.const 16 i32.const 2677 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33132,7 +33129,7 @@ i32.const 16 i32.const 2678 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -33144,7 +33141,7 @@ i32.const 16 i32.const 2679 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -33156,7 +33153,7 @@ i32.const 16 i32.const 2680 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -33168,7 +33165,7 @@ i32.const 16 i32.const 2681 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -33180,7 +33177,7 @@ i32.const 16 i32.const 2682 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33192,7 +33189,7 @@ i32.const 16 i32.const 2683 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -33204,7 +33201,7 @@ i32.const 16 i32.const 2684 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -33216,7 +33213,7 @@ i32.const 16 i32.const 2685 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -33228,7 +33225,7 @@ i32.const 16 i32.const 2693 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -33240,7 +33237,7 @@ i32.const 16 i32.const 2694 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -33252,7 +33249,7 @@ i32.const 16 i32.const 2695 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -33264,7 +33261,7 @@ i32.const 16 i32.const 2696 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -33276,7 +33273,7 @@ i32.const 16 i32.const 2697 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -33288,7 +33285,7 @@ i32.const 16 i32.const 2698 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -33300,7 +33297,7 @@ i32.const 16 i32.const 2699 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -33312,7 +33309,7 @@ i32.const 16 i32.const 2700 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -33324,7 +33321,7 @@ i32.const 16 i32.const 2701 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -33337,7 +33334,7 @@ i32.const 16 i32.const 2738 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -33350,7 +33347,7 @@ i32.const 16 i32.const 2739 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -33363,7 +33360,7 @@ i32.const 16 i32.const 2740 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -33376,7 +33373,7 @@ i32.const 16 i32.const 2741 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -33389,7 +33386,7 @@ i32.const 16 i32.const 2742 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -33402,7 +33399,7 @@ i32.const 16 i32.const 2743 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -33415,7 +33412,7 @@ i32.const 16 i32.const 2744 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -33428,7 +33425,7 @@ i32.const 16 i32.const 2745 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -33441,7 +33438,7 @@ i32.const 16 i32.const 2746 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -33454,7 +33451,7 @@ i32.const 16 i32.const 2747 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33467,7 +33464,7 @@ i32.const 16 i32.const 2750 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33480,7 +33477,7 @@ i32.const 16 i32.const 2751 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -33493,7 +33490,7 @@ i32.const 16 i32.const 2752 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -33506,7 +33503,7 @@ i32.const 16 i32.const 2753 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -33519,7 +33516,7 @@ i32.const 16 i32.const 2754 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -33532,7 +33529,7 @@ i32.const 16 i32.const 2755 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -33545,7 +33542,7 @@ i32.const 16 i32.const 2756 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -33558,7 +33555,7 @@ i32.const 16 i32.const 2757 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -33571,7 +33568,7 @@ i32.const 16 i32.const 2758 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -33584,7 +33581,7 @@ i32.const 16 i32.const 2759 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33597,7 +33594,7 @@ i32.const 16 i32.const 2760 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -33610,7 +33607,7 @@ i32.const 16 i32.const 2761 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -33623,7 +33620,7 @@ i32.const 16 i32.const 2762 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33636,7 +33633,7 @@ i32.const 16 i32.const 2763 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33649,7 +33646,7 @@ i32.const 16 i32.const 2764 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -33662,7 +33659,7 @@ i32.const 16 i32.const 2765 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -33675,7 +33672,7 @@ i32.const 16 i32.const 2766 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -33688,7 +33685,7 @@ i32.const 16 i32.const 2767 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -33701,7 +33698,7 @@ i32.const 16 i32.const 2768 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -33714,7 +33711,7 @@ i32.const 16 i32.const 2769 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -33727,7 +33724,7 @@ i32.const 16 i32.const 2770 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -33740,7 +33737,7 @@ i32.const 16 i32.const 2771 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -33753,7 +33750,7 @@ i32.const 16 i32.const 2772 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33766,7 +33763,7 @@ i32.const 16 i32.const 2773 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -33779,7 +33776,7 @@ i32.const 16 i32.const 2774 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -33792,7 +33789,7 @@ i32.const 16 i32.const 2775 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33805,7 +33802,7 @@ i32.const 16 i32.const 2776 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33818,7 +33815,7 @@ i32.const 16 i32.const 2777 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33831,7 +33828,7 @@ i32.const 16 i32.const 2778 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33844,7 +33841,7 @@ i32.const 16 i32.const 2779 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33857,7 +33854,7 @@ i32.const 16 i32.const 2780 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33870,7 +33867,7 @@ i32.const 16 i32.const 2781 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33883,7 +33880,7 @@ i32.const 16 i32.const 2782 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33896,7 +33893,7 @@ i32.const 16 i32.const 2783 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33909,7 +33906,7 @@ i32.const 16 i32.const 2784 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33922,7 +33919,7 @@ i32.const 16 i32.const 2785 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -33935,7 +33932,7 @@ i32.const 16 i32.const 2786 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -33948,7 +33945,7 @@ i32.const 16 i32.const 2787 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33961,7 +33958,7 @@ i32.const 16 i32.const 2788 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -33974,7 +33971,7 @@ i32.const 16 i32.const 2789 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -33987,7 +33984,7 @@ i32.const 16 i32.const 2790 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -34000,7 +33997,7 @@ i32.const 16 i32.const 2791 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -34013,7 +34010,7 @@ i32.const 16 i32.const 2792 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -34026,7 +34023,7 @@ i32.const 16 i32.const 2793 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -34039,7 +34036,7 @@ i32.const 16 i32.const 2794 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -34052,7 +34049,7 @@ i32.const 16 i32.const 2795 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -34065,7 +34062,7 @@ i32.const 16 i32.const 2796 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -34078,7 +34075,7 @@ i32.const 16 i32.const 2797 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -34091,7 +34088,7 @@ i32.const 16 i32.const 2798 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -34104,7 +34101,7 @@ i32.const 16 i32.const 2799 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -34117,7 +34114,7 @@ i32.const 16 i32.const 2800 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -34130,7 +34127,7 @@ i32.const 16 i32.const 2801 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -34143,7 +34140,7 @@ i32.const 16 i32.const 2802 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -34156,7 +34153,7 @@ i32.const 16 i32.const 2803 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -34169,7 +34166,7 @@ i32.const 16 i32.const 2804 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -34182,7 +34179,7 @@ i32.const 16 i32.const 2805 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -34195,7 +34192,7 @@ i32.const 16 i32.const 2806 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -34208,7 +34205,7 @@ i32.const 16 i32.const 2807 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -34221,7 +34218,7 @@ i32.const 16 i32.const 2808 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -34234,7 +34231,7 @@ i32.const 16 i32.const 2809 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -34247,7 +34244,7 @@ i32.const 16 i32.const 2810 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -34260,7 +34257,7 @@ i32.const 16 i32.const 2811 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -34273,7 +34270,7 @@ i32.const 16 i32.const 2812 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -34286,7 +34283,7 @@ i32.const 16 i32.const 2813 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -34299,7 +34296,7 @@ i32.const 16 i32.const 2814 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -34312,7 +34309,7 @@ i32.const 16 i32.const 2815 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 8e-323 @@ -34325,7 +34322,7 @@ i32.const 16 i32.const 2816 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -34338,7 +34335,7 @@ i32.const 16 i32.const 2825 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -34351,7 +34348,7 @@ i32.const 16 i32.const 2826 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -34364,7 +34361,7 @@ i32.const 16 i32.const 2827 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -34377,7 +34374,7 @@ i32.const 16 i32.const 2828 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -34390,7 +34387,7 @@ i32.const 16 i32.const 2829 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -34403,7 +34400,7 @@ i32.const 16 i32.const 2830 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -34416,7 +34413,7 @@ i32.const 16 i32.const 2831 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -34429,7 +34426,7 @@ i32.const 16 i32.const 2832 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -34442,7 +34439,7 @@ i32.const 16 i32.const 2833 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -34455,7 +34452,7 @@ i32.const 16 i32.const 2834 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34468,7 +34465,7 @@ i32.const 16 i32.const 2837 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34481,7 +34478,7 @@ i32.const 16 i32.const 2838 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -34494,7 +34491,7 @@ i32.const 16 i32.const 2839 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -34507,7 +34504,7 @@ i32.const 16 i32.const 2840 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -34520,7 +34517,7 @@ i32.const 16 i32.const 2841 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -34533,7 +34530,7 @@ i32.const 16 i32.const 2842 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -34546,7 +34543,7 @@ i32.const 16 i32.const 2843 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -34559,7 +34556,7 @@ i32.const 16 i32.const 2844 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -34572,7 +34569,7 @@ i32.const 16 i32.const 2845 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -34585,7 +34582,7 @@ i32.const 16 i32.const 2846 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34598,7 +34595,7 @@ i32.const 16 i32.const 2847 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -34611,7 +34608,7 @@ i32.const 16 i32.const 2848 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -34624,7 +34621,7 @@ i32.const 16 i32.const 2849 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34637,7 +34634,7 @@ i32.const 16 i32.const 2850 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34650,7 +34647,7 @@ i32.const 16 i32.const 2851 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -34663,7 +34660,7 @@ i32.const 16 i32.const 2852 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -34676,7 +34673,7 @@ i32.const 16 i32.const 2853 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -34689,7 +34686,7 @@ i32.const 16 i32.const 2854 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -34702,7 +34699,7 @@ i32.const 16 i32.const 2855 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -34715,7 +34712,7 @@ i32.const 16 i32.const 2856 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -34728,7 +34725,7 @@ i32.const 16 i32.const 2857 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -34741,7 +34738,7 @@ i32.const 16 i32.const 2858 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -34754,7 +34751,7 @@ i32.const 16 i32.const 2859 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34767,7 +34764,7 @@ i32.const 16 i32.const 2860 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -34780,7 +34777,7 @@ i32.const 16 i32.const 2861 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -34793,7 +34790,7 @@ i32.const 16 i32.const 2862 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34806,7 +34803,7 @@ i32.const 16 i32.const 2863 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34819,7 +34816,7 @@ i32.const 16 i32.const 2864 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34832,7 +34829,7 @@ i32.const 16 i32.const 2865 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34845,7 +34842,7 @@ i32.const 16 i32.const 2866 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34858,7 +34855,7 @@ i32.const 16 i32.const 2867 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34871,7 +34868,7 @@ i32.const 16 i32.const 2868 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34884,7 +34881,7 @@ i32.const 16 i32.const 2869 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34897,7 +34894,7 @@ i32.const 16 i32.const 2870 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34910,7 +34907,7 @@ i32.const 16 i32.const 2871 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34923,7 +34920,7 @@ i32.const 16 i32.const 2872 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -34936,7 +34933,7 @@ i32.const 16 i32.const 2873 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -34949,7 +34946,7 @@ i32.const 16 i32.const 2874 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34962,7 +34959,7 @@ i32.const 16 i32.const 2875 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -34975,7 +34972,7 @@ i32.const 16 i32.const 2876 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -34988,7 +34985,7 @@ i32.const 16 i32.const 2877 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -35001,7 +34998,7 @@ i32.const 16 i32.const 2878 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -35014,7 +35011,7 @@ i32.const 16 i32.const 2879 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -35027,7 +35024,7 @@ i32.const 16 i32.const 2880 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -35040,7 +35037,7 @@ i32.const 16 i32.const 2881 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -35053,7 +35050,7 @@ i32.const 16 i32.const 2882 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -35066,7 +35063,7 @@ i32.const 16 i32.const 2883 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -35079,7 +35076,7 @@ i32.const 16 i32.const 2884 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -35092,7 +35089,7 @@ i32.const 16 i32.const 2885 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -35105,7 +35102,7 @@ i32.const 16 i32.const 2886 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -35118,7 +35115,7 @@ i32.const 16 i32.const 2887 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -35131,7 +35128,7 @@ i32.const 16 i32.const 2888 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -35144,7 +35141,7 @@ i32.const 16 i32.const 2889 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -35157,7 +35154,7 @@ i32.const 16 i32.const 2890 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -35170,7 +35167,7 @@ i32.const 16 i32.const 2891 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -35183,7 +35180,7 @@ i32.const 16 i32.const 2892 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -35196,7 +35193,7 @@ i32.const 16 i32.const 2893 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -35209,7 +35206,7 @@ i32.const 16 i32.const 2894 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -35222,7 +35219,7 @@ i32.const 16 i32.const 2895 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -35235,7 +35232,7 @@ i32.const 16 i32.const 2896 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -35248,7 +35245,7 @@ i32.const 16 i32.const 2897 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -35261,7 +35258,7 @@ i32.const 16 i32.const 2898 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -35274,7 +35271,7 @@ i32.const 16 i32.const 2899 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -35287,7 +35284,7 @@ i32.const 16 i32.const 2900 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -35300,7 +35297,7 @@ i32.const 16 i32.const 2901 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -35313,7 +35310,7 @@ i32.const 16 i32.const 2902 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 @@ -35326,7 +35323,7 @@ i32.const 16 i32.const 2903 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -35339,7 +35336,7 @@ i32.const 16 i32.const 2941 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -35352,7 +35349,7 @@ i32.const 16 i32.const 2942 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -35365,7 +35362,7 @@ i32.const 16 i32.const 2943 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -35378,7 +35375,7 @@ i32.const 16 i32.const 2944 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -35391,7 +35388,7 @@ i32.const 16 i32.const 2945 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -35404,7 +35401,7 @@ i32.const 16 i32.const 2946 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -35417,7 +35414,7 @@ i32.const 16 i32.const 2947 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -35430,7 +35427,7 @@ i32.const 16 i32.const 2948 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -35443,7 +35440,7 @@ i32.const 16 i32.const 2949 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -35456,7 +35453,7 @@ i32.const 16 i32.const 2950 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -35469,7 +35466,7 @@ i32.const 16 i32.const 2953 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -35482,7 +35479,7 @@ i32.const 16 i32.const 2954 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -35495,7 +35492,7 @@ i32.const 16 i32.const 2955 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -35508,7 +35505,7 @@ i32.const 16 i32.const 2956 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -35521,7 +35518,7 @@ i32.const 16 i32.const 2957 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.862645149230957e-09 @@ -35534,7 +35531,7 @@ i32.const 16 i32.const 2960 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.862645149230957e-09 @@ -35547,7 +35544,7 @@ i32.const 16 i32.const 2961 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 @@ -35560,7 +35557,7 @@ i32.const 16 i32.const 2962 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754943508222875e-38 @@ -35573,7 +35570,7 @@ i32.const 16 i32.const 2963 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -35586,7 +35583,7 @@ i32.const 16 i32.const 2964 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 @@ -35599,7 +35596,7 @@ i32.const 16 i32.const 2965 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.175494490952134e-38 @@ -35612,7 +35609,7 @@ i32.const 16 i32.const 2966 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754946310819804e-38 @@ -35625,7 +35622,7 @@ i32.const 16 i32.const 2967 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509880009953429e-38 @@ -35638,7 +35635,7 @@ i32.const 16 i32.const 2968 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 @@ -35651,7 +35648,7 @@ i32.const 16 i32.const 2969 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509895424236536e-38 @@ -35664,7 +35661,7 @@ i32.const 16 i32.const 2970 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 @@ -35677,7 +35674,7 @@ i32.const 16 i32.const 2971 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1175870895385742e-08 @@ -35690,7 +35687,7 @@ i32.const 16 i32.const 2972 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.4901161193847656e-08 @@ -35703,7 +35700,7 @@ i32.const 16 i32.const 2973 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.000244140625 @@ -35716,7 +35713,7 @@ i32.const 16 i32.const 2974 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.0003662109375 @@ -35729,7 +35726,7 @@ i32.const 16 i32.const 2975 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.175494490952134e-38 @@ -35742,7 +35739,7 @@ i32.const 16 i32.const 2976 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754946310819804e-38 @@ -35755,7 +35752,7 @@ i32.const 16 i32.const 2977 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509880009953429e-38 @@ -35768,7 +35765,7 @@ i32.const 16 i32.const 2978 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.350988701644575e-38 @@ -35781,7 +35778,7 @@ i32.const 16 i32.const 2979 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509895424236536e-38 @@ -35794,7 +35791,7 @@ i32.const 16 i32.const 2980 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -4.70197740328915e-38 @@ -35807,7 +35804,7 @@ i32.const 16 i32.const 2981 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1175870895385742e-08 @@ -35820,7 +35817,7 @@ i32.const 16 i32.const 2982 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.4901161193847656e-08 @@ -35833,7 +35830,7 @@ i32.const 16 i32.const 2983 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.000244140625 @@ -35846,7 +35843,7 @@ i32.const 16 i32.const 2984 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.0003662109375 @@ -35859,7 +35856,7 @@ i32.const 16 i32.const 2985 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 @@ -35872,7 +35869,7 @@ i32.const 16 i32.const 2986 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.2611686178923354e-44 @@ -35885,7 +35882,7 @@ i32.const 16 i32.const 2987 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 @@ -35898,7 +35895,7 @@ i32.const 16 i32.const 2988 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 @@ -35911,7 +35908,7 @@ i32.const 16 i32.const 2989 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754940705625946e-38 @@ -35924,7 +35921,7 @@ i32.const 16 i32.const 2990 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754942106924411e-38 @@ -35937,7 +35934,7 @@ i32.const 16 i32.const 2991 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.802596928649634e-45 @@ -35950,7 +35947,7 @@ i32.const 16 i32.const 2992 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.2611686178923354e-44 @@ -35963,7 +35960,7 @@ i32.const 16 i32.const 2993 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 @@ -35976,7 +35973,7 @@ i32.const 16 i32.const 2994 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -5.877471754111438e-39 @@ -35989,7 +35986,7 @@ i32.const 16 i32.const 2995 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754940705625946e-38 @@ -36002,7 +35999,7 @@ i32.const 16 i32.const 2996 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 @@ -36015,7 +36012,7 @@ i32.const 16 i32.const 2997 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 255.99993896484375 @@ -36028,7 +36025,7 @@ i32.const 16 i32.const 3000 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5033165 @@ -36041,7 +36038,7 @@ i32.const 16 i32.const 3001 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 421657440 @@ -36054,7 +36051,7 @@ i32.const 16 i32.const 3002 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2147483392 @@ -36067,7 +36064,7 @@ i32.const 16 i32.const 3003 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 68719476736 @@ -36080,7 +36077,7 @@ i32.const 16 i32.const 3004 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 549755813888 @@ -36093,7 +36090,7 @@ i32.const 16 i32.const 3005 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 @@ -36106,7 +36103,7 @@ i32.const 16 i32.const 3006 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -255.99993896484375 @@ -36119,7 +36116,7 @@ i32.const 16 i32.const 3007 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -5033165 @@ -36132,7 +36129,7 @@ i32.const 16 i32.const 3008 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -421657440 @@ -36145,7 +36142,7 @@ i32.const 16 i32.const 3009 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2147483392 @@ -36158,7 +36155,7 @@ i32.const 16 i32.const 3010 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -68719476736 @@ -36171,7 +36168,7 @@ i32.const 16 i32.const 3011 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -549755813888 @@ -36184,7 +36181,7 @@ i32.const 16 i32.const 3012 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3402823466385288598117041e14 @@ -36197,7 +36194,7 @@ i32.const 16 i32.const 3013 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -36210,7 +36207,7 @@ i32.const 16 i32.const 3025 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -36223,7 +36220,7 @@ i32.const 16 i32.const 3026 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -36236,7 +36233,7 @@ i32.const 16 i32.const 3027 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -36249,7 +36246,7 @@ i32.const 16 i32.const 3028 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -36262,7 +36259,7 @@ i32.const 16 i32.const 3029 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -36275,7 +36272,7 @@ i32.const 16 i32.const 3030 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -36288,7 +36285,7 @@ i32.const 16 i32.const 3031 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -36301,7 +36298,7 @@ i32.const 16 i32.const 3032 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -36314,7 +36311,7 @@ i32.const 16 i32.const 3033 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -36327,7 +36324,7 @@ i32.const 16 i32.const 3034 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -36340,7 +36337,7 @@ i32.const 16 i32.const 3037 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -36353,7 +36350,7 @@ i32.const 16 i32.const 3038 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36366,7 +36363,7 @@ i32.const 16 i32.const 3039 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -36379,7 +36376,7 @@ i32.const 16 i32.const 3040 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -36392,7 +36389,7 @@ i32.const 16 i32.const 3041 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -36405,7 +36402,7 @@ i32.const 16 i32.const 3050 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -36418,7 +36415,7 @@ i32.const 16 i32.const 3051 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -36431,7 +36428,7 @@ i32.const 16 i32.const 3052 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -36444,7 +36441,7 @@ i32.const 16 i32.const 3053 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -36457,7 +36454,7 @@ i32.const 16 i32.const 3054 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -36470,7 +36467,7 @@ i32.const 16 i32.const 3055 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -36483,7 +36480,7 @@ i32.const 16 i32.const 3056 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -36496,7 +36493,7 @@ i32.const 16 i32.const 3057 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -36509,7 +36506,7 @@ i32.const 16 i32.const 3058 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -36522,7 +36519,7 @@ i32.const 16 i32.const 3059 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36535,7 +36532,7 @@ i32.const 16 i32.const 3062 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36548,7 +36545,7 @@ i32.const 16 i32.const 3063 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -36561,7 +36558,7 @@ i32.const 16 i32.const 3064 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -36574,7 +36571,7 @@ i32.const 16 i32.const 3065 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -36587,7 +36584,7 @@ i32.const 16 i32.const 3066 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -36600,7 +36597,7 @@ i32.const 16 i32.const 3078 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -36613,7 +36610,7 @@ i32.const 16 i32.const 3079 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -36626,7 +36623,7 @@ i32.const 16 i32.const 3080 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -36639,7 +36636,7 @@ i32.const 16 i32.const 3081 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -36652,7 +36649,7 @@ i32.const 16 i32.const 3082 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -36665,7 +36662,7 @@ i32.const 16 i32.const 3083 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -36678,7 +36675,7 @@ i32.const 16 i32.const 3084 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -36691,7 +36688,7 @@ i32.const 16 i32.const 3085 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -36704,7 +36701,7 @@ i32.const 16 i32.const 3086 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -36717,7 +36714,7 @@ i32.const 16 i32.const 3087 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -36730,7 +36727,7 @@ i32.const 16 i32.const 3090 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36743,7 +36740,7 @@ i32.const 16 i32.const 3091 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -36756,7 +36753,7 @@ i32.const 16 i32.const 3092 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -36769,7 +36766,7 @@ i32.const 16 i32.const 3093 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -36782,7 +36779,7 @@ i32.const 16 i32.const 3094 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -36795,7 +36792,7 @@ i32.const 16 i32.const 3095 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -36808,7 +36805,7 @@ i32.const 16 i32.const 3096 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4 @@ -36821,7 +36818,7 @@ i32.const 16 i32.const 3097 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e-323 @@ -36834,7 +36831,7 @@ i32.const 16 i32.const 3098 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5e-323 @@ -36847,7 +36844,7 @@ i32.const 16 i32.const 3099 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -36860,7 +36857,7 @@ i32.const 16 i32.const 3100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -5e-324 @@ -36873,7 +36870,7 @@ i32.const 16 i32.const 3101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999999999999999 @@ -36886,7 +36883,7 @@ i32.const 16 i32.const 3102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.9999999999999998 @@ -36899,7 +36896,7 @@ i32.const 16 i32.const 3103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000000000000002 @@ -36912,7 +36909,7 @@ i32.const 16 i32.const 3104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.0000000000000004 @@ -36925,7 +36922,7 @@ i32.const 16 i32.const 3105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000000000000002 @@ -36938,7 +36935,7 @@ i32.const 16 i32.const 3106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999999999999999 @@ -36951,7 +36948,7 @@ i32.const 16 i32.const 3107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1797693134862315708145274e284 @@ -36964,7 +36961,7 @@ i32.const 16 i32.const 3108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -36977,7 +36974,7 @@ i32.const 16 i32.const 3109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 179769313486231490980915e285 @@ -36990,7 +36987,7 @@ i32.const 16 i32.const 3110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862314111473026e284 @@ -37003,7 +37000,7 @@ i32.const 16 i32.const 3111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862313313136902e284 @@ -37016,7 +37013,7 @@ i32.const 16 i32.const 3112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862312514800778e284 @@ -37029,7 +37026,7 @@ i32.const 16 i32.const 3113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862311716464655e284 @@ -37042,7 +37039,7 @@ i32.const 16 i32.const 3114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862310918128531e284 @@ -37055,7 +37052,7 @@ i32.const 16 i32.const 3115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862310119792407e284 @@ -37068,7 +37065,7 @@ i32.const 16 i32.const 3116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862309321456283e284 @@ -37081,7 +37078,7 @@ i32.const 16 i32.const 3117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862308523120159e284 @@ -37094,7 +37091,7 @@ i32.const 16 i32.const 3118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862307724784036e284 @@ -37107,7 +37104,7 @@ i32.const 16 i32.const 3119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507203e-308 @@ -37120,7 +37117,7 @@ i32.const 16 i32.const 3120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507205e-308 @@ -37133,7 +37130,7 @@ i32.const 16 i32.const 3121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507207e-308 @@ -37146,7 +37143,7 @@ i32.const 16 i32.const 3122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507209e-308 @@ -37159,7 +37156,7 @@ i32.const 16 i32.const 3123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507211e-308 @@ -37172,7 +37169,7 @@ i32.const 16 i32.const 3124 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072127e-308 @@ -37185,7 +37182,7 @@ i32.const 16 i32.const 3125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072147e-308 @@ -37198,7 +37195,7 @@ i32.const 16 i32.const 3126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072167e-308 @@ -37211,7 +37208,7 @@ i32.const 16 i32.const 3127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072187e-308 @@ -37224,7 +37221,7 @@ i32.const 16 i32.const 3128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072207e-308 @@ -37237,7 +37234,7 @@ i32.const 16 i32.const 3129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072226e-308 @@ -37250,7 +37247,7 @@ i32.const 16 i32.const 3130 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072246e-308 @@ -37263,7 +37260,7 @@ i32.const 16 i32.const 3131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072266e-308 @@ -37276,7 +37273,7 @@ i32.const 16 i32.const 3132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072286e-308 @@ -37289,7 +37286,7 @@ i32.const 16 i32.const 3133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 92.35130391890645 @@ -37302,7 +37299,7 @@ i32.const 16 i32.const 3134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 93.3599596388916 @@ -37315,7 +37312,7 @@ i32.const 16 i32.const 3135 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 95.42049628886124 @@ -37328,7 +37325,7 @@ i32.const 16 i32.const 3136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 95.87916941885449 @@ -37341,7 +37338,7 @@ i32.const 16 i32.const 3137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 96.84804174884022 @@ -37354,7 +37351,7 @@ i32.const 16 i32.const 3138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 97.43639050883155 @@ -37367,7 +37364,7 @@ i32.const 16 i32.const 3139 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 97.50957979883047 @@ -37380,7 +37377,7 @@ i32.const 16 i32.const 3140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 97.80496893882612 @@ -37393,7 +37390,7 @@ i32.const 16 i32.const 3141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 98.2751822888192 @@ -37406,7 +37403,7 @@ i32.const 16 i32.const 3142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 99.47293564880155 @@ -37419,7 +37416,7 @@ i32.const 16 i32.const 3143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 100.57047130878539 @@ -37432,7 +37429,7 @@ i32.const 16 i32.const 3144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 100.60954608878481 @@ -37445,7 +37442,7 @@ i32.const 16 i32.const 3145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 100.67909109878379 @@ -37458,7 +37455,7 @@ i32.const 16 i32.const 3146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 101.12268095877725 @@ -37471,7 +37468,7 @@ i32.const 16 i32.const 3147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 101.3027691287746 @@ -37484,7 +37481,7 @@ i32.const 16 i32.const 3148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.45932313565507e-307 @@ -37497,7 +37494,7 @@ i32.const 16 i32.const 3149 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5.610957305180409e-307 @@ -37510,7 +37507,7 @@ i32.const 16 i32.const 3150 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5.8073887977408524e-307 @@ -37523,7 +37520,7 @@ i32.const 16 i32.const 3151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.026137080471427e-307 @@ -37536,7 +37533,7 @@ i32.const 16 i32.const 3152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 8.438697769194972e-307 @@ -37549,7 +37546,7 @@ i32.const 16 i32.const 3153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1607792515836795e-306 @@ -37562,7 +37559,7 @@ i32.const 16 i32.const 3154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.2827413827423193e-306 @@ -37575,7 +37572,7 @@ i32.const 16 i32.const 3155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.7116604596087457e-306 @@ -37588,7 +37585,7 @@ i32.const 16 i32.const 3156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.038173251686994e-306 @@ -37601,7 +37598,7 @@ i32.const 16 i32.const 3157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.171572060856931e-306 @@ -37614,7 +37611,7 @@ i32.const 16 i32.const 3158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.4681399631804094e-306 @@ -37627,7 +37624,7 @@ i32.const 16 i32.const 3159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.5175533964200588e-306 @@ -37640,7 +37637,7 @@ i32.const 16 i32.const 3160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.6461505468829625e-306 @@ -37653,7 +37650,7 @@ i32.const 16 i32.const 3161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3.8167076367720413e-306 @@ -37666,7 +37663,7 @@ i32.const 16 i32.const 3162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.5743220778562766e-306 @@ -37679,7 +37676,7 @@ i32.const 16 i32.const 3163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -37692,7 +37689,7 @@ i32.const 16 i32.const 3172 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -37705,7 +37702,7 @@ i32.const 16 i32.const 3173 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -37718,7 +37715,7 @@ i32.const 16 i32.const 3174 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -37731,7 +37728,7 @@ i32.const 16 i32.const 3175 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -37744,7 +37741,7 @@ i32.const 16 i32.const 3176 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -37757,7 +37754,7 @@ i32.const 16 i32.const 3177 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -37770,7 +37767,7 @@ i32.const 16 i32.const 3178 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -37783,7 +37780,7 @@ i32.const 16 i32.const 3179 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -37796,7 +37793,7 @@ i32.const 16 i32.const 3180 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -37809,7 +37806,7 @@ i32.const 16 i32.const 3181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -37822,7 +37819,7 @@ i32.const 16 i32.const 3184 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37835,7 +37832,7 @@ i32.const 16 i32.const 3185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -37848,7 +37845,7 @@ i32.const 16 i32.const 3186 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -37861,7 +37858,7 @@ i32.const 16 i32.const 3187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -37874,7 +37871,7 @@ i32.const 16 i32.const 3188 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -37887,7 +37884,7 @@ i32.const 16 i32.const 3189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -37900,7 +37897,7 @@ i32.const 16 i32.const 3190 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4 @@ -37913,7 +37910,7 @@ i32.const 16 i32.const 3191 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 @@ -37926,7 +37923,7 @@ i32.const 16 i32.const 3192 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.203895392974451e-45 @@ -37939,7 +37936,7 @@ i32.const 16 i32.const 3193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -37952,7 +37949,7 @@ i32.const 16 i32.const 3194 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 @@ -37965,7 +37962,7 @@ i32.const 16 i32.const 3195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 @@ -37978,7 +37975,7 @@ i32.const 16 i32.const 3196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3402823466385288598117041e14 @@ -37991,7 +37988,7 @@ i32.const 16 i32.const 3197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999998807907104 @@ -38004,7 +38001,7 @@ i32.const 16 i32.const 3198 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999999403953552 @@ -38017,7 +38014,7 @@ i32.const 16 i32.const 3199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.999999761581421 @@ -38030,7 +38027,7 @@ i32.const 16 i32.const 3200 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.9999998807907104 @@ -38043,7 +38040,7 @@ i32.const 16 i32.const 3201 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000001192092896 @@ -38056,7 +38053,7 @@ i32.const 16 i32.const 3202 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.000000238418579 @@ -38069,7 +38066,7 @@ i32.const 16 i32.const 3203 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.000000238418579 @@ -38082,7 +38079,7 @@ i32.const 16 i32.const 3204 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.000000476837158 @@ -38095,7 +38092,7 @@ i32.const 16 i32.const 3205 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -38108,7 +38105,7 @@ i32.const 16 i32.const 3243 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -38121,7 +38118,7 @@ i32.const 16 i32.const 3244 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -38134,7 +38131,7 @@ i32.const 16 i32.const 3245 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -38147,7 +38144,7 @@ i32.const 16 i32.const 3246 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -38160,7 +38157,7 @@ i32.const 16 i32.const 3247 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -38173,7 +38170,7 @@ i32.const 16 i32.const 3248 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -38186,7 +38183,7 @@ i32.const 16 i32.const 3249 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -38199,7 +38196,7 @@ i32.const 16 i32.const 3250 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -38212,7 +38209,7 @@ i32.const 16 i32.const 3251 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -38225,7 +38222,7 @@ i32.const 16 i32.const 3252 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -38238,7 +38235,7 @@ i32.const 16 i32.const 3255 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -38251,7 +38248,7 @@ i32.const 16 i32.const 3256 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -38264,7 +38261,7 @@ i32.const 16 i32.const 3257 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -38277,7 +38274,7 @@ i32.const 16 i32.const 3258 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -38290,7 +38287,7 @@ i32.const 16 i32.const 3259 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.862645149230957e-09 @@ -38303,7 +38300,7 @@ i32.const 16 i32.const 3262 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.862645149230957e-09 @@ -38316,7 +38313,7 @@ i32.const 16 i32.const 3263 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 @@ -38329,7 +38326,7 @@ i32.const 16 i32.const 3264 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754943508222875e-38 @@ -38342,7 +38339,7 @@ i32.const 16 i32.const 3265 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -38355,7 +38352,7 @@ i32.const 16 i32.const 3266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 @@ -38368,7 +38365,7 @@ i32.const 16 i32.const 3267 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.175494490952134e-38 @@ -38381,7 +38378,7 @@ i32.const 16 i32.const 3268 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754946310819804e-38 @@ -38394,7 +38391,7 @@ i32.const 16 i32.const 3269 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509880009953429e-38 @@ -38407,7 +38404,7 @@ i32.const 16 i32.const 3270 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 @@ -38420,7 +38417,7 @@ i32.const 16 i32.const 3271 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509895424236536e-38 @@ -38433,7 +38430,7 @@ i32.const 16 i32.const 3272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 @@ -38446,7 +38443,7 @@ i32.const 16 i32.const 3273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1175870895385742e-08 @@ -38459,7 +38456,7 @@ i32.const 16 i32.const 3274 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.4901161193847656e-08 @@ -38472,7 +38469,7 @@ i32.const 16 i32.const 3275 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.000244140625 @@ -38485,7 +38482,7 @@ i32.const 16 i32.const 3276 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.175494490952134e-38 @@ -38498,7 +38495,7 @@ i32.const 16 i32.const 3277 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754946310819804e-38 @@ -38511,7 +38508,7 @@ i32.const 16 i32.const 3278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509880009953429e-38 @@ -38524,7 +38521,7 @@ i32.const 16 i32.const 3279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 @@ -38537,7 +38534,7 @@ i32.const 16 i32.const 3280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509895424236536e-38 @@ -38550,7 +38547,7 @@ i32.const 16 i32.const 3281 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -4.70197740328915e-38 @@ -38563,7 +38560,7 @@ i32.const 16 i32.const 3282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1175870895385742e-08 @@ -38576,7 +38573,7 @@ i32.const 16 i32.const 3283 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.4901161193847656e-08 @@ -38589,7 +38586,7 @@ i32.const 16 i32.const 3284 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.000244140625 @@ -38602,7 +38599,7 @@ i32.const 16 i32.const 3285 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 @@ -38615,7 +38612,7 @@ i32.const 16 i32.const 3286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.2611686178923354e-44 @@ -38628,7 +38625,7 @@ i32.const 16 i32.const 3287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 @@ -38641,7 +38638,7 @@ i32.const 16 i32.const 3288 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 @@ -38654,7 +38651,7 @@ i32.const 16 i32.const 3289 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754940705625946e-38 @@ -38667,7 +38664,7 @@ i32.const 16 i32.const 3290 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754942106924411e-38 @@ -38680,7 +38677,7 @@ i32.const 16 i32.const 3291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.802596928649634e-45 @@ -38693,7 +38690,7 @@ i32.const 16 i32.const 3292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.2611686178923354e-44 @@ -38706,7 +38703,7 @@ i32.const 16 i32.const 3293 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 @@ -38719,7 +38716,7 @@ i32.const 16 i32.const 3294 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -5.877471754111438e-39 @@ -38732,7 +38729,7 @@ i32.const 16 i32.const 3295 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754940705625946e-38 @@ -38745,7 +38742,7 @@ i32.const 16 i32.const 3296 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 @@ -38758,7 +38755,7 @@ i32.const 16 i32.const 3297 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -38771,7 +38768,7 @@ i32.const 16 i32.const 3309 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -38784,7 +38781,7 @@ i32.const 16 i32.const 3310 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -38797,7 +38794,7 @@ i32.const 16 i32.const 3311 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -38810,7 +38807,7 @@ i32.const 16 i32.const 3312 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -38823,7 +38820,7 @@ i32.const 16 i32.const 3313 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -38836,7 +38833,7 @@ i32.const 16 i32.const 3314 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -38849,7 +38846,7 @@ i32.const 16 i32.const 3315 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -38862,7 +38859,7 @@ i32.const 16 i32.const 3316 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -38875,7 +38872,7 @@ i32.const 16 i32.const 3317 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -38888,7 +38885,7 @@ i32.const 16 i32.const 3318 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -38901,7 +38898,7 @@ i32.const 16 i32.const 3321 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -38914,7 +38911,7 @@ i32.const 16 i32.const 3322 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -38927,7 +38924,7 @@ i32.const 16 i32.const 3323 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -38940,7 +38937,7 @@ i32.const 16 i32.const 3324 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -38953,7 +38950,7 @@ i32.const 16 i32.const 3325 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -38966,7 +38963,7 @@ i32.const 16 i32.const 3334 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -38979,7 +38976,7 @@ i32.const 16 i32.const 3335 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -38992,7 +38989,7 @@ i32.const 16 i32.const 3336 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -39005,7 +39002,7 @@ i32.const 16 i32.const 3337 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -39018,7 +39015,7 @@ i32.const 16 i32.const 3338 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -39031,7 +39028,7 @@ i32.const 16 i32.const 3339 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -39044,7 +39041,7 @@ i32.const 16 i32.const 3340 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -39057,7 +39054,7 @@ i32.const 16 i32.const 3341 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -39070,7 +39067,7 @@ i32.const 16 i32.const 3342 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -39083,7 +39080,7 @@ i32.const 16 i32.const 3343 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -39096,7 +39093,7 @@ i32.const 16 i32.const 3346 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -39109,7 +39106,7 @@ i32.const 16 i32.const 3347 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -39122,7 +39119,7 @@ i32.const 16 i32.const 3348 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -39135,7 +39132,7 @@ i32.const 16 i32.const 3349 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -39148,7 +39145,7 @@ i32.const 16 i32.const 3350 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -39160,7 +39157,7 @@ i32.const 16 i32.const 3362 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -39172,7 +39169,7 @@ i32.const 16 i32.const 3363 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -39184,7 +39181,7 @@ i32.const 16 i32.const 3364 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -39196,7 +39193,7 @@ i32.const 16 i32.const 3365 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -39208,7 +39205,7 @@ i32.const 16 i32.const 3366 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -39220,7 +39217,7 @@ i32.const 16 i32.const 3367 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -39232,7 +39229,7 @@ i32.const 16 i32.const 3368 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -39244,7 +39241,7 @@ i32.const 16 i32.const 3369 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -39256,7 +39253,7 @@ i32.const 16 i32.const 3370 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -39268,7 +39265,7 @@ i32.const 16 i32.const 3371 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -39280,7 +39277,7 @@ i32.const 16 i32.const 3374 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -39292,7 +39289,7 @@ i32.const 16 i32.const 3375 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -39304,7 +39301,7 @@ i32.const 16 i32.const 3376 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -39316,7 +39313,7 @@ i32.const 16 i32.const 3377 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -39328,7 +39325,7 @@ i32.const 16 i32.const 3378 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -39340,7 +39337,7 @@ i32.const 16 i32.const 3379 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -39352,7 +39349,7 @@ i32.const 16 i32.const 3380 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -39364,7 +39361,7 @@ i32.const 16 i32.const 3381 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -39376,7 +39373,7 @@ i32.const 16 i32.const 3382 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -39388,7 +39385,7 @@ i32.const 16 i32.const 3383 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -39400,7 +39397,7 @@ i32.const 16 i32.const 3384 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -39412,7 +39409,7 @@ i32.const 16 i32.const 3385 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -39424,7 +39421,7 @@ i32.const 16 i32.const 3386 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -39436,7 +39433,7 @@ i32.const 16 i32.const 3387 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -39448,7 +39445,7 @@ i32.const 16 i32.const 3388 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -39460,7 +39457,7 @@ i32.const 16 i32.const 3397 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -39472,7 +39469,7 @@ i32.const 16 i32.const 3398 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -39484,7 +39481,7 @@ i32.const 16 i32.const 3399 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -39496,7 +39493,7 @@ i32.const 16 i32.const 3400 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -39508,7 +39505,7 @@ i32.const 16 i32.const 3401 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -39520,7 +39517,7 @@ i32.const 16 i32.const 3402 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -39532,7 +39529,7 @@ i32.const 16 i32.const 3403 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -39544,7 +39541,7 @@ i32.const 16 i32.const 3404 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -39556,7 +39553,7 @@ i32.const 16 i32.const 3405 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -39568,7 +39565,7 @@ i32.const 16 i32.const 3406 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -39580,7 +39577,7 @@ i32.const 16 i32.const 3409 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -39592,7 +39589,7 @@ i32.const 16 i32.const 3410 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -39604,7 +39601,7 @@ i32.const 16 i32.const 3411 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -39616,7 +39613,7 @@ i32.const 16 i32.const 3412 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -39628,7 +39625,7 @@ i32.const 16 i32.const 3413 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -39640,7 +39637,7 @@ i32.const 16 i32.const 3414 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -39652,7 +39649,7 @@ i32.const 16 i32.const 3415 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -39664,7 +39661,7 @@ i32.const 16 i32.const 3416 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -39676,7 +39673,7 @@ i32.const 16 i32.const 3417 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -39688,7 +39685,7 @@ i32.const 16 i32.const 3418 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -39700,7 +39697,7 @@ i32.const 16 i32.const 3419 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -39712,7 +39709,7 @@ i32.const 16 i32.const 3420 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -39724,7 +39721,7 @@ i32.const 16 i32.const 3421 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -39736,7 +39733,7 @@ i32.const 16 i32.const 3422 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -39748,7 +39745,7 @@ i32.const 16 i32.const 3423 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -39761,7 +39758,7 @@ i32.const 16 i32.const 3427 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -39774,7 +39771,7 @@ i32.const 16 i32.const 3428 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -39787,7 +39784,7 @@ i32.const 16 i32.const 3429 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967295 @@ -39800,7 +39797,7 @@ i32.const 16 i32.const 3430 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967294 @@ -39813,7 +39810,7 @@ i32.const 16 i32.const 3431 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.e+60 @@ -39826,7 +39823,7 @@ i32.const 16 i32.const 3432 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.e+60 @@ -39839,7 +39836,7 @@ i32.const 16 i32.const 3433 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.e+60 @@ -39852,7 +39849,7 @@ i32.const 16 i32.const 3434 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.e+24 @@ -39865,7 +39862,7 @@ i32.const 16 i32.const 3435 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -39878,7 +39875,7 @@ i32.const 16 i32.const 3436 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -39891,7 +39888,7 @@ i32.const 16 i32.const 3437 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -39904,7 +39901,7 @@ i32.const 16 i32.const 3438 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -39916,7 +39913,7 @@ i32.const 16 i32.const 3442 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -39928,7 +39925,7 @@ i32.const 16 i32.const 3443 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -39940,7 +39937,7 @@ i32.const 16 i32.const 3444 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -128 @@ -39952,7 +39949,7 @@ i32.const 16 i32.const 3445 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967295 @@ -39964,7 +39961,7 @@ i32.const 16 i32.const 3446 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967295.5 @@ -39976,7 +39973,7 @@ i32.const 16 i32.const 3447 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967296 @@ -39988,7 +39985,7 @@ i32.const 16 i32.const 3448 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967297 @@ -40000,7 +39997,7 @@ i32.const 16 i32.const 3449 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -40012,7 +40009,7 @@ i32.const 16 i32.const 3450 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40024,7 +40021,7 @@ i32.const 16 i32.const 3451 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9007199254740991 @@ -40036,7 +40033,7 @@ i32.const 16 i32.const 3452 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -9007199254740991 @@ -40048,7 +40045,7 @@ i32.const 16 i32.const 3453 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -40060,7 +40057,7 @@ i32.const 16 i32.const 3454 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -40072,7 +40069,7 @@ i32.const 16 i32.const 3455 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1797693134862315708145274e284 @@ -40084,7 +40081,7 @@ i32.const 16 i32.const 3456 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.220446049250313e-16 @@ -40096,7 +40093,7 @@ i32.const 16 i32.const 3457 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -40109,7 +40106,7 @@ i32.const 16 i32.const 3461 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -40122,7 +40119,7 @@ i32.const 16 i32.const 3462 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -40135,7 +40132,7 @@ i32.const 16 i32.const 3463 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -40148,7 +40145,7 @@ i32.const 16 i32.const 3464 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -40161,7 +40158,7 @@ i32.const 16 i32.const 3466 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -40174,7 +40171,7 @@ i32.const 16 i32.const 3467 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -40187,7 +40184,7 @@ i32.const 16 i32.const 3468 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -40200,7 +40197,7 @@ i32.const 16 i32.const 3469 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 2 @@ -40213,7 +40210,7 @@ i32.const 16 i32.const 3471 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 2 @@ -40226,7 +40223,7 @@ i32.const 16 i32.const 3472 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 2 @@ -40239,7 +40236,7 @@ i32.const 16 i32.const 3473 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 2 @@ -40252,7 +40249,7 @@ i32.const 16 i32.const 3474 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -40265,7 +40262,7 @@ i32.const 16 i32.const 3476 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -40278,7 +40275,7 @@ i32.const 16 i32.const 3477 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -40291,7 +40288,7 @@ i32.const 16 i32.const 3478 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -40304,7 +40301,7 @@ i32.const 16 i32.const 3479 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -2 @@ -40317,7 +40314,7 @@ i32.const 16 i32.const 3481 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -2 @@ -40330,7 +40327,7 @@ i32.const 16 i32.const 3482 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -2 @@ -40343,7 +40340,7 @@ i32.const 16 i32.const 3483 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -2 @@ -40356,7 +40353,7 @@ i32.const 16 i32.const 3484 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -40369,7 +40366,7 @@ i32.const 16 i32.const 3486 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -40382,7 +40379,7 @@ i32.const 16 i32.const 3487 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -40395,7 +40392,7 @@ i32.const 16 i32.const 3488 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -40408,7 +40405,7 @@ i32.const 16 i32.const 3489 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -40421,7 +40418,7 @@ i32.const 16 i32.const 3490 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -40434,7 +40431,7 @@ i32.const 16 i32.const 3491 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -40447,7 +40444,7 @@ i32.const 16 i32.const 3492 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 57055 @@ -40464,7 +40461,7 @@ i32.const 16 i32.const 3494 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -40477,7 +40474,7 @@ i32.const 16 i32.const 3498 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -40490,7 +40487,7 @@ i32.const 16 i32.const 3499 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -40504,7 +40501,7 @@ i32.const 16 i32.const 3500 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -40518,7 +40515,7 @@ i32.const 16 i32.const 3501 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -40532,7 +40529,7 @@ i32.const 16 i32.const 3502 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -40545,7 +40542,7 @@ i32.const 16 i32.const 3503 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -40558,7 +40555,7 @@ i32.const 16 i32.const 3504 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -40571,7 +40568,7 @@ i32.const 16 i32.const 3505 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -40584,7 +40581,7 @@ i32.const 16 i32.const 3506 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -40597,7 +40594,7 @@ i32.const 16 i32.const 3507 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -40610,7 +40607,7 @@ i32.const 16 i32.const 3508 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 @@ -40623,7 +40620,7 @@ i32.const 16 i32.const 3509 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -40636,7 +40633,7 @@ i32.const 16 i32.const 3510 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 @@ -40649,7 +40646,7 @@ i32.const 16 i32.const 3511 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 10 @@ -40662,7 +40659,7 @@ i32.const 16 i32.const 3512 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 10 @@ -40675,7 +40672,7 @@ i32.const 16 i32.const 3513 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -40688,7 +40685,7 @@ i32.const 16 i32.const 3517 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -40701,7 +40698,7 @@ i32.const 16 i32.const 3518 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -40715,7 +40712,7 @@ i32.const 16 i32.const 3519 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -40729,7 +40726,7 @@ i32.const 16 i32.const 3520 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -40743,7 +40740,7 @@ i32.const 16 i32.const 3521 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40756,7 +40753,7 @@ i32.const 16 i32.const 3522 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40769,7 +40766,7 @@ i32.const 16 i32.const 3523 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -40782,7 +40779,7 @@ i32.const 16 i32.const 3524 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -40795,7 +40792,7 @@ i32.const 16 i32.const 3525 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -40808,7 +40805,7 @@ i32.const 16 i32.const 3526 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -40821,7 +40818,7 @@ i32.const 16 i32.const 3527 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -40834,7 +40831,7 @@ i32.const 16 i32.const 3528 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -40847,7 +40844,7 @@ i32.const 16 i32.const 3529 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -40860,7 +40857,7 @@ i32.const 16 i32.const 3530 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 10 @@ -40873,7 +40870,7 @@ i32.const 16 i32.const 3531 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 10 @@ -40886,7 +40883,7 @@ i32.const 16 i32.const 3532 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 8c642299..cc7d80b2 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -31,7 +31,7 @@ (import "Math" "PI" (global $~lib/bindings/Math/PI f64)) (import "Math" "SQRT1_2" (global $~lib/bindings/Math/SQRT1_2 f64)) (import "Math" "SQRT2" (global $~lib/bindings/Math/SQRT2 f64)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "Math" "abs" (func $~lib/bindings/Math/abs (param f64) (result f64))) (import "Math" "acos" (func $~lib/bindings/Math/acos (param f64) (result f64))) (import "Math" "acosh" (func $~lib/bindings/Math/acosh (param f64) (result f64))) @@ -62,10 +62,10 @@ (import "Math" "tanh" (func $~lib/bindings/Math/tanh (param f64) (result f64))) (import "Math" "trunc" (func $~lib/bindings/Math/trunc (param f64) (result f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 40) "\02\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 80) "\03\00\00\00\10\00\00\000\00\00\000\00\00\00 \00\00\00\04\00\00\00") - (data (i32.const 104) "\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00") + (data (i32.const 40) "\0f\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 80) "\11\00\00\00\10\00\00\000\00\00\000\00\00\00 \00\00\00\04\00\00\00") + (data (i32.const 104) "\10\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/math/js i32 (i32.const 1)) @@ -102,9 +102,7 @@ (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/memory/HEAP_BASE i32 (i32.const 136)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/builtins/isNaN (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 @@ -10421,7 +10419,7 @@ i32.const 112 i32.const 1021 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -10453,7 +10451,7 @@ i32.const 112 i32.const 1030 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/random_state0_64 @@ -10510,7 +10508,7 @@ i32.const 112 i32.const 2312 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/random_state0_32 @@ -13579,7 +13577,7 @@ i32.const 16 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMathf.E @@ -13591,7 +13589,7 @@ i32.const 16 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMath.E @@ -13605,7 +13603,7 @@ i32.const 16 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMath.LN2 @@ -13619,7 +13617,7 @@ i32.const 16 i32.const 109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMath.LN10 @@ -13633,7 +13631,7 @@ i32.const 16 i32.const 110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMath.LOG2E @@ -13647,7 +13645,7 @@ i32.const 16 i32.const 111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMath.PI @@ -13661,7 +13659,7 @@ i32.const 16 i32.const 112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMath.SQRT1_2 @@ -13675,7 +13673,7 @@ i32.const 16 i32.const 113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMath.SQRT2 @@ -13689,7 +13687,7 @@ i32.const 16 i32.const 114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMathf.E @@ -13704,7 +13702,7 @@ i32.const 16 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMathf.LN2 @@ -13719,7 +13717,7 @@ i32.const 16 i32.const 117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMathf.LN10 @@ -13734,7 +13732,7 @@ i32.const 16 i32.const 118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMathf.LOG2E @@ -13749,7 +13747,7 @@ i32.const 16 i32.const 119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMathf.PI @@ -13764,7 +13762,7 @@ i32.const 16 i32.const 120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMathf.SQRT1_2 @@ -13779,7 +13777,7 @@ i32.const 16 i32.const 121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/math/NativeMathf.SQRT2 @@ -13794,7 +13792,7 @@ i32.const 16 i32.const 122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -13809,7 +13807,7 @@ i32.const 16 i32.const 133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -13824,7 +13822,7 @@ i32.const 16 i32.const 134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -13839,7 +13837,7 @@ i32.const 16 i32.const 135 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -13854,7 +13852,7 @@ i32.const 16 i32.const 136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -13869,7 +13867,7 @@ i32.const 16 i32.const 137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -13884,7 +13882,7 @@ i32.const 16 i32.const 138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -13899,7 +13897,7 @@ i32.const 16 i32.const 139 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -13914,7 +13912,7 @@ i32.const 16 i32.const 140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -13929,7 +13927,7 @@ i32.const 16 i32.const 141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -13944,7 +13942,7 @@ i32.const 16 i32.const 142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -13959,7 +13957,7 @@ i32.const 16 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -13974,7 +13972,7 @@ i32.const 16 i32.const 146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -13989,7 +13987,7 @@ i32.const 16 i32.const 147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -14004,7 +14002,7 @@ i32.const 16 i32.const 148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -14019,7 +14017,7 @@ i32.const 16 i32.const 149 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -14036,7 +14034,7 @@ i32.const 16 i32.const 150 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -14051,7 +14049,7 @@ i32.const 16 i32.const 151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -14066,7 +14064,7 @@ i32.const 16 i32.const 152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -14081,7 +14079,7 @@ i32.const 16 i32.const 153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -14098,7 +14096,7 @@ i32.const 16 i32.const 154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -14113,7 +14111,7 @@ i32.const 16 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -14128,7 +14126,7 @@ i32.const 16 i32.const 156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -14143,7 +14141,7 @@ i32.const 16 i32.const 157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -14160,7 +14158,7 @@ i32.const 16 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 8988465674311579538646525e283 @@ -14175,7 +14173,7 @@ i32.const 16 i32.const 159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -14190,7 +14188,7 @@ i32.const 16 i32.const 160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.000244140625 @@ -14207,7 +14205,7 @@ i32.const 16 i32.const 161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7499999999999999 @@ -14224,7 +14222,7 @@ i32.const 16 i32.const 162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5000000000000012 @@ -14241,7 +14239,7 @@ i32.const 16 i32.const 163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -14256,7 +14254,7 @@ i32.const 16 i32.const 172 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -14271,7 +14269,7 @@ i32.const 16 i32.const 173 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -14286,7 +14284,7 @@ i32.const 16 i32.const 174 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -14301,7 +14299,7 @@ i32.const 16 i32.const 175 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -14316,7 +14314,7 @@ i32.const 16 i32.const 176 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -14331,7 +14329,7 @@ i32.const 16 i32.const 177 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -14346,7 +14344,7 @@ i32.const 16 i32.const 178 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -14361,7 +14359,7 @@ i32.const 16 i32.const 179 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -14376,7 +14374,7 @@ i32.const 16 i32.const 180 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -14391,7 +14389,7 @@ i32.const 16 i32.const 181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -14406,7 +14404,7 @@ i32.const 16 i32.const 184 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -14421,7 +14419,7 @@ i32.const 16 i32.const 185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -14436,7 +14434,7 @@ i32.const 16 i32.const 186 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -14451,7 +14449,7 @@ i32.const 16 i32.const 187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -14466,7 +14464,7 @@ i32.const 16 i32.const 188 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -14483,7 +14481,7 @@ i32.const 16 i32.const 189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -14498,7 +14496,7 @@ i32.const 16 i32.const 190 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -14513,7 +14511,7 @@ i32.const 16 i32.const 191 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -14528,7 +14526,7 @@ i32.const 16 i32.const 192 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -14545,7 +14543,7 @@ i32.const 16 i32.const 193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -14560,7 +14558,7 @@ i32.const 16 i32.const 194 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -14575,7 +14573,7 @@ i32.const 16 i32.const 195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -14590,7 +14588,7 @@ i32.const 16 i32.const 196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -14607,7 +14605,7 @@ i32.const 16 i32.const 197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 @@ -14622,7 +14620,7 @@ i32.const 16 i32.const 198 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -14637,7 +14635,7 @@ i32.const 16 i32.const 199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.000244140625 @@ -14654,7 +14652,7 @@ i32.const 16 i32.const 200 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7499999403953552 @@ -14671,7 +14669,7 @@ i32.const 16 i32.const 201 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5000006556510925 @@ -14688,7 +14686,7 @@ i32.const 16 i32.const 202 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -14702,7 +14700,7 @@ i32.const 16 i32.const 214 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -14716,7 +14714,7 @@ i32.const 16 i32.const 215 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -14730,7 +14728,7 @@ i32.const 16 i32.const 216 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -14744,7 +14742,7 @@ i32.const 16 i32.const 217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -14758,7 +14756,7 @@ i32.const 16 i32.const 218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -14772,7 +14770,7 @@ i32.const 16 i32.const 219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -14786,7 +14784,7 @@ i32.const 16 i32.const 220 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -14800,7 +14798,7 @@ i32.const 16 i32.const 221 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -14814,7 +14812,7 @@ i32.const 16 i32.const 222 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -14828,7 +14826,7 @@ i32.const 16 i32.const 223 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -14842,7 +14840,7 @@ i32.const 16 i32.const 226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -14856,7 +14854,7 @@ i32.const 16 i32.const 227 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -14870,7 +14868,7 @@ i32.const 16 i32.const 228 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -14884,7 +14882,7 @@ i32.const 16 i32.const 229 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -14898,7 +14896,7 @@ i32.const 16 i32.const 230 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -14913,7 +14911,7 @@ i32.const 16 i32.const 231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -14927,7 +14925,7 @@ i32.const 16 i32.const 232 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -14941,7 +14939,7 @@ i32.const 16 i32.const 241 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -14955,7 +14953,7 @@ i32.const 16 i32.const 242 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -14969,7 +14967,7 @@ i32.const 16 i32.const 243 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -14983,7 +14981,7 @@ i32.const 16 i32.const 244 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -14997,7 +14995,7 @@ i32.const 16 i32.const 245 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -15011,7 +15009,7 @@ i32.const 16 i32.const 246 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -15025,7 +15023,7 @@ i32.const 16 i32.const 247 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -15039,7 +15037,7 @@ i32.const 16 i32.const 248 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -15053,7 +15051,7 @@ i32.const 16 i32.const 249 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -15067,7 +15065,7 @@ i32.const 16 i32.const 250 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -15081,7 +15079,7 @@ i32.const 16 i32.const 253 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -15095,7 +15093,7 @@ i32.const 16 i32.const 254 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -15109,7 +15107,7 @@ i32.const 16 i32.const 255 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -15123,7 +15121,7 @@ i32.const 16 i32.const 256 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -15137,7 +15135,7 @@ i32.const 16 i32.const 257 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -15152,7 +15150,7 @@ i32.const 16 i32.const 258 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -15166,7 +15164,7 @@ i32.const 16 i32.const 259 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -15180,7 +15178,7 @@ i32.const 16 i32.const 271 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -15194,7 +15192,7 @@ i32.const 16 i32.const 272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -15208,7 +15206,7 @@ i32.const 16 i32.const 273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -15222,7 +15220,7 @@ i32.const 16 i32.const 274 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -15236,7 +15234,7 @@ i32.const 16 i32.const 275 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -15250,7 +15248,7 @@ i32.const 16 i32.const 276 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -15264,7 +15262,7 @@ i32.const 16 i32.const 277 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -15278,7 +15276,7 @@ i32.const 16 i32.const 278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -15292,7 +15290,7 @@ i32.const 16 i32.const 279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -15306,7 +15304,7 @@ i32.const 16 i32.const 280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -15320,7 +15318,7 @@ i32.const 16 i32.const 283 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -15334,7 +15332,7 @@ i32.const 16 i32.const 284 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -15348,7 +15346,7 @@ i32.const 16 i32.const 285 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000000000000002 @@ -15362,7 +15360,7 @@ i32.const 16 i32.const 286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000000000000002 @@ -15376,7 +15374,7 @@ i32.const 16 i32.const 287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -15390,7 +15388,7 @@ i32.const 16 i32.const 288 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -15405,7 +15403,7 @@ i32.const 16 i32.const 289 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -15419,7 +15417,7 @@ i32.const 16 i32.const 290 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5309227209592985 @@ -15433,7 +15431,7 @@ i32.const 16 i32.const 291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.4939556746399746 @@ -15447,7 +15445,7 @@ i32.const 16 i32.const 292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -15461,7 +15459,7 @@ i32.const 16 i32.const 301 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -15475,7 +15473,7 @@ i32.const 16 i32.const 302 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -15489,7 +15487,7 @@ i32.const 16 i32.const 303 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -15503,7 +15501,7 @@ i32.const 16 i32.const 304 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -15517,7 +15515,7 @@ i32.const 16 i32.const 305 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -15531,7 +15529,7 @@ i32.const 16 i32.const 306 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -15545,7 +15543,7 @@ i32.const 16 i32.const 307 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -15559,7 +15557,7 @@ i32.const 16 i32.const 308 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -15573,7 +15571,7 @@ i32.const 16 i32.const 309 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -15587,7 +15585,7 @@ i32.const 16 i32.const 310 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -15601,7 +15599,7 @@ i32.const 16 i32.const 313 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -15615,7 +15613,7 @@ i32.const 16 i32.const 314 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -15629,7 +15627,7 @@ i32.const 16 i32.const 315 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000001192092896 @@ -15643,7 +15641,7 @@ i32.const 16 i32.const 316 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000001192092896 @@ -15657,7 +15655,7 @@ i32.const 16 i32.const 317 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -15671,7 +15669,7 @@ i32.const 16 i32.const 318 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -15686,7 +15684,7 @@ i32.const 16 i32.const 319 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -15700,7 +15698,7 @@ i32.const 16 i32.const 320 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.49965065717697144 @@ -15714,7 +15712,7 @@ i32.const 16 i32.const 321 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5051405429840088 @@ -15728,7 +15726,7 @@ i32.const 16 i32.const 322 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5189794898033142 @@ -15742,7 +15740,7 @@ i32.const 16 i32.const 323 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -15756,7 +15754,7 @@ i32.const 16 i32.const 335 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -15770,7 +15768,7 @@ i32.const 16 i32.const 336 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -15784,7 +15782,7 @@ i32.const 16 i32.const 337 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -15798,7 +15796,7 @@ i32.const 16 i32.const 338 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -15812,7 +15810,7 @@ i32.const 16 i32.const 339 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -15826,7 +15824,7 @@ i32.const 16 i32.const 340 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -15840,7 +15838,7 @@ i32.const 16 i32.const 341 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -15854,7 +15852,7 @@ i32.const 16 i32.const 342 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -15868,7 +15866,7 @@ i32.const 16 i32.const 343 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -15882,7 +15880,7 @@ i32.const 16 i32.const 344 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -15896,7 +15894,7 @@ i32.const 16 i32.const 347 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -15910,7 +15908,7 @@ i32.const 16 i32.const 348 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -15924,7 +15922,7 @@ i32.const 16 i32.const 349 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -15938,7 +15936,7 @@ i32.const 16 i32.const 350 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -15952,7 +15950,7 @@ i32.const 16 i32.const 351 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -15966,7 +15964,7 @@ i32.const 16 i32.const 352 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -15981,7 +15979,7 @@ i32.const 16 i32.const 353 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1060831199926429 @@ -15995,7 +15993,7 @@ i32.const 16 i32.const 369 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1089809557628658 @@ -16009,7 +16007,7 @@ i32.const 16 i32.const 371 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1169429159875521 @@ -16023,7 +16021,7 @@ i32.const 16 i32.const 372 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -16037,7 +16035,7 @@ i32.const 16 i32.const 381 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -16051,7 +16049,7 @@ i32.const 16 i32.const 382 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -16065,7 +16063,7 @@ i32.const 16 i32.const 383 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -16079,7 +16077,7 @@ i32.const 16 i32.const 384 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -16093,7 +16091,7 @@ i32.const 16 i32.const 385 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -16107,7 +16105,7 @@ i32.const 16 i32.const 386 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -16121,7 +16119,7 @@ i32.const 16 i32.const 387 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -16135,7 +16133,7 @@ i32.const 16 i32.const 388 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -16149,7 +16147,7 @@ i32.const 16 i32.const 389 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -16163,7 +16161,7 @@ i32.const 16 i32.const 390 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -16177,7 +16175,7 @@ i32.const 16 i32.const 393 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -16191,7 +16189,7 @@ i32.const 16 i32.const 394 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -16205,7 +16203,7 @@ i32.const 16 i32.const 395 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -16219,7 +16217,7 @@ i32.const 16 i32.const 396 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -16233,7 +16231,7 @@ i32.const 16 i32.const 397 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -16247,7 +16245,7 @@ i32.const 16 i32.const 398 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -16262,7 +16260,7 @@ i32.const 16 i32.const 399 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1125899906842624 @@ -16276,7 +16274,7 @@ i32.const 16 i32.const 400 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -16290,7 +16288,7 @@ i32.const 16 i32.const 412 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -16304,7 +16302,7 @@ i32.const 16 i32.const 413 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -16318,7 +16316,7 @@ i32.const 16 i32.const 414 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -16332,7 +16330,7 @@ i32.const 16 i32.const 415 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -16346,7 +16344,7 @@ i32.const 16 i32.const 416 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -16360,7 +16358,7 @@ i32.const 16 i32.const 417 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -16374,7 +16372,7 @@ i32.const 16 i32.const 418 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -16388,7 +16386,7 @@ i32.const 16 i32.const 419 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -16402,7 +16400,7 @@ i32.const 16 i32.const 420 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -16416,7 +16414,7 @@ i32.const 16 i32.const 421 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -16430,7 +16428,7 @@ i32.const 16 i32.const 424 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -16444,7 +16442,7 @@ i32.const 16 i32.const 425 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -16458,7 +16456,7 @@ i32.const 16 i32.const 426 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -16472,7 +16470,7 @@ i32.const 16 i32.const 427 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000000000000002 @@ -16486,7 +16484,7 @@ i32.const 16 i32.const 428 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000000000000002 @@ -16500,7 +16498,7 @@ i32.const 16 i32.const 429 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -16514,7 +16512,7 @@ i32.const 16 i32.const 430 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -16529,7 +16527,7 @@ i32.const 16 i32.const 431 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -16543,7 +16541,7 @@ i32.const 16 i32.const 432 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5073043929119148 @@ -16557,7 +16555,7 @@ i32.const 16 i32.const 433 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -16571,7 +16569,7 @@ i32.const 16 i32.const 442 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -16585,7 +16583,7 @@ i32.const 16 i32.const 443 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -16599,7 +16597,7 @@ i32.const 16 i32.const 444 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -16613,7 +16611,7 @@ i32.const 16 i32.const 445 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -16627,7 +16625,7 @@ i32.const 16 i32.const 446 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -16641,7 +16639,7 @@ i32.const 16 i32.const 447 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -16655,7 +16653,7 @@ i32.const 16 i32.const 448 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -16669,7 +16667,7 @@ i32.const 16 i32.const 449 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -16683,7 +16681,7 @@ i32.const 16 i32.const 450 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -16697,7 +16695,7 @@ i32.const 16 i32.const 451 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -16711,7 +16709,7 @@ i32.const 16 i32.const 454 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -16725,7 +16723,7 @@ i32.const 16 i32.const 455 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -16739,7 +16737,7 @@ i32.const 16 i32.const 456 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -16753,7 +16751,7 @@ i32.const 16 i32.const 457 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000001192092896 @@ -16767,7 +16765,7 @@ i32.const 16 i32.const 458 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000001192092896 @@ -16781,7 +16779,7 @@ i32.const 16 i32.const 459 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -16795,7 +16793,7 @@ i32.const 16 i32.const 460 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -16810,7 +16808,7 @@ i32.const 16 i32.const 461 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -16824,7 +16822,7 @@ i32.const 16 i32.const 462 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5004770159721375 @@ -16838,7 +16836,7 @@ i32.const 16 i32.const 463 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -16852,7 +16850,7 @@ i32.const 16 i32.const 475 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -16866,7 +16864,7 @@ i32.const 16 i32.const 476 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -16880,7 +16878,7 @@ i32.const 16 i32.const 477 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -16894,7 +16892,7 @@ i32.const 16 i32.const 478 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -16908,7 +16906,7 @@ i32.const 16 i32.const 479 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -16922,7 +16920,7 @@ i32.const 16 i32.const 480 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -16936,7 +16934,7 @@ i32.const 16 i32.const 481 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -16950,7 +16948,7 @@ i32.const 16 i32.const 482 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -16964,7 +16962,7 @@ i32.const 16 i32.const 483 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -16978,7 +16976,7 @@ i32.const 16 i32.const 484 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -16992,7 +16990,7 @@ i32.const 16 i32.const 487 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -17006,7 +17004,7 @@ i32.const 16 i32.const 488 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -17022,7 +17020,7 @@ i32.const 16 i32.const 489 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -17036,7 +17034,7 @@ i32.const 16 i32.const 490 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -17050,7 +17048,7 @@ i32.const 16 i32.const 491 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -17064,7 +17062,7 @@ i32.const 16 i32.const 520 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -17078,7 +17076,7 @@ i32.const 16 i32.const 521 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -17092,7 +17090,7 @@ i32.const 16 i32.const 522 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -17106,7 +17104,7 @@ i32.const 16 i32.const 523 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -17120,7 +17118,7 @@ i32.const 16 i32.const 524 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -17134,7 +17132,7 @@ i32.const 16 i32.const 525 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -17148,7 +17146,7 @@ i32.const 16 i32.const 526 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -17162,7 +17160,7 @@ i32.const 16 i32.const 527 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -17176,7 +17174,7 @@ i32.const 16 i32.const 528 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -17190,7 +17188,7 @@ i32.const 16 i32.const 529 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -17204,7 +17202,7 @@ i32.const 16 i32.const 532 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -17218,7 +17216,7 @@ i32.const 16 i32.const 533 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -17234,7 +17232,7 @@ i32.const 16 i32.const 534 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -17248,7 +17246,7 @@ i32.const 16 i32.const 535 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -17262,7 +17260,7 @@ i32.const 16 i32.const 536 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -17276,7 +17274,7 @@ i32.const 16 i32.const 548 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -17290,7 +17288,7 @@ i32.const 16 i32.const 549 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -17304,7 +17302,7 @@ i32.const 16 i32.const 550 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -17318,7 +17316,7 @@ i32.const 16 i32.const 551 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -17332,7 +17330,7 @@ i32.const 16 i32.const 552 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -17346,7 +17344,7 @@ i32.const 16 i32.const 553 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -17360,7 +17358,7 @@ i32.const 16 i32.const 554 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -17374,7 +17372,7 @@ i32.const 16 i32.const 555 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -17388,7 +17386,7 @@ i32.const 16 i32.const 556 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -17402,7 +17400,7 @@ i32.const 16 i32.const 557 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -17416,7 +17414,7 @@ i32.const 16 i32.const 560 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -17430,7 +17428,7 @@ i32.const 16 i32.const 561 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -17444,7 +17442,7 @@ i32.const 16 i32.const 562 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -17458,7 +17456,7 @@ i32.const 16 i32.const 563 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -17472,7 +17470,7 @@ i32.const 16 i32.const 564 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -17487,7 +17485,7 @@ i32.const 16 i32.const 565 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -17501,7 +17499,7 @@ i32.const 16 i32.const 566 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6929821535674624 @@ -17515,7 +17513,7 @@ i32.const 16 i32.const 567 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -17529,7 +17527,7 @@ i32.const 16 i32.const 576 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -17543,7 +17541,7 @@ i32.const 16 i32.const 577 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -17557,7 +17555,7 @@ i32.const 16 i32.const 578 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -17571,7 +17569,7 @@ i32.const 16 i32.const 579 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -17585,7 +17583,7 @@ i32.const 16 i32.const 580 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -17599,7 +17597,7 @@ i32.const 16 i32.const 581 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -17613,7 +17611,7 @@ i32.const 16 i32.const 582 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -17627,7 +17625,7 @@ i32.const 16 i32.const 583 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -17641,7 +17639,7 @@ i32.const 16 i32.const 584 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -17655,7 +17653,7 @@ i32.const 16 i32.const 585 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -17669,7 +17667,7 @@ i32.const 16 i32.const 588 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -17683,7 +17681,7 @@ i32.const 16 i32.const 589 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -17697,7 +17695,7 @@ i32.const 16 i32.const 590 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -17711,7 +17709,7 @@ i32.const 16 i32.const 591 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -17725,7 +17723,7 @@ i32.const 16 i32.const 592 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -17740,7 +17738,7 @@ i32.const 16 i32.const 593 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -17754,7 +17752,7 @@ i32.const 16 i32.const 594 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -17768,7 +17766,7 @@ i32.const 16 i32.const 606 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -17782,7 +17780,7 @@ i32.const 16 i32.const 607 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -17796,7 +17794,7 @@ i32.const 16 i32.const 608 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -17810,7 +17808,7 @@ i32.const 16 i32.const 609 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -17824,7 +17822,7 @@ i32.const 16 i32.const 610 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -17838,7 +17836,7 @@ i32.const 16 i32.const 611 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -17852,7 +17850,7 @@ i32.const 16 i32.const 612 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -17866,7 +17864,7 @@ i32.const 16 i32.const 613 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -17880,7 +17878,7 @@ i32.const 16 i32.const 614 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -17894,7 +17892,7 @@ i32.const 16 i32.const 615 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -17908,7 +17906,7 @@ i32.const 16 i32.const 618 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -17922,7 +17920,7 @@ i32.const 16 i32.const 619 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -17937,7 +17935,7 @@ i32.const 16 i32.const 620 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -17951,7 +17949,7 @@ i32.const 16 i32.const 621 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -17965,7 +17963,7 @@ i32.const 16 i32.const 622 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -17979,7 +17977,7 @@ i32.const 16 i32.const 623 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -17994,7 +17992,7 @@ i32.const 16 i32.const 624 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -18008,7 +18006,7 @@ i32.const 16 i32.const 625 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -18022,7 +18020,7 @@ i32.const 16 i32.const 626 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.3552527156068805e-20 @@ -18036,7 +18034,7 @@ i32.const 16 i32.const 627 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.332636185032189e-302 @@ -18050,7 +18048,7 @@ i32.const 16 i32.const 628 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5.562684646268003e-309 @@ -18066,7 +18064,7 @@ i32.const 16 i32.const 629 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -5.562684646268003e-309 @@ -18082,7 +18080,7 @@ i32.const 16 i32.const 630 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 8988465674311579538646525e283 @@ -18096,7 +18094,7 @@ i32.const 16 i32.const 631 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -18110,7 +18108,7 @@ i32.const 16 i32.const 640 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -18124,7 +18122,7 @@ i32.const 16 i32.const 641 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -18138,7 +18136,7 @@ i32.const 16 i32.const 642 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -18152,7 +18150,7 @@ i32.const 16 i32.const 643 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -18166,7 +18164,7 @@ i32.const 16 i32.const 644 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -18180,7 +18178,7 @@ i32.const 16 i32.const 645 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -18194,7 +18192,7 @@ i32.const 16 i32.const 646 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -18208,7 +18206,7 @@ i32.const 16 i32.const 647 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -18222,7 +18220,7 @@ i32.const 16 i32.const 648 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -18236,7 +18234,7 @@ i32.const 16 i32.const 649 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -18250,7 +18248,7 @@ i32.const 16 i32.const 652 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -18264,7 +18262,7 @@ i32.const 16 i32.const 653 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -18279,7 +18277,7 @@ i32.const 16 i32.const 654 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -18293,7 +18291,7 @@ i32.const 16 i32.const 655 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -18307,7 +18305,7 @@ i32.const 16 i32.const 656 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -18321,7 +18319,7 @@ i32.const 16 i32.const 657 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -18336,7 +18334,7 @@ i32.const 16 i32.const 658 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -18350,7 +18348,7 @@ i32.const 16 i32.const 659 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -18364,7 +18362,7 @@ i32.const 16 i32.const 660 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.3552527156068805e-20 @@ -18378,7 +18376,7 @@ i32.const 16 i32.const 661 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -18392,7 +18390,7 @@ i32.const 16 i32.const 662 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 @@ -18408,7 +18406,7 @@ i32.const 16 i32.const 663 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 @@ -18424,7 +18422,7 @@ i32.const 16 i32.const 664 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 @@ -18438,7 +18436,7 @@ i32.const 16 i32.const 665 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -18453,7 +18451,7 @@ i32.const 16 i32.const 677 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -18468,7 +18466,7 @@ i32.const 16 i32.const 678 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -18483,7 +18481,7 @@ i32.const 16 i32.const 679 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -18498,7 +18496,7 @@ i32.const 16 i32.const 680 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -18513,7 +18511,7 @@ i32.const 16 i32.const 681 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -18528,7 +18526,7 @@ i32.const 16 i32.const 682 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -18543,7 +18541,7 @@ i32.const 16 i32.const 683 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -18558,7 +18556,7 @@ i32.const 16 i32.const 684 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -18573,7 +18571,7 @@ i32.const 16 i32.const 685 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -18588,7 +18586,7 @@ i32.const 16 i32.const 686 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -18603,7 +18601,7 @@ i32.const 16 i32.const 689 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -18618,7 +18616,7 @@ i32.const 16 i32.const 690 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -18633,7 +18631,7 @@ i32.const 16 i32.const 691 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -18649,7 +18647,7 @@ i32.const 16 i32.const 692 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -18664,7 +18662,7 @@ i32.const 16 i32.const 693 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -18679,7 +18677,7 @@ i32.const 16 i32.const 694 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -18694,7 +18692,7 @@ i32.const 16 i32.const 695 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -18709,7 +18707,7 @@ i32.const 16 i32.const 696 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -18724,7 +18722,7 @@ i32.const 16 i32.const 697 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -18740,7 +18738,7 @@ i32.const 16 i32.const 698 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -18755,7 +18753,7 @@ i32.const 16 i32.const 699 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -18770,7 +18768,7 @@ i32.const 16 i32.const 700 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -18785,7 +18783,7 @@ i32.const 16 i32.const 701 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -18800,7 +18798,7 @@ i32.const 16 i32.const 702 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -18815,7 +18813,7 @@ i32.const 16 i32.const 703 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -18830,7 +18828,7 @@ i32.const 16 i32.const 704 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -18845,7 +18843,7 @@ i32.const 16 i32.const 705 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -18860,7 +18858,7 @@ i32.const 16 i32.const 706 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -18876,7 +18874,7 @@ i32.const 16 i32.const 707 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -18892,7 +18890,7 @@ i32.const 16 i32.const 708 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -18907,7 +18905,7 @@ i32.const 16 i32.const 709 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -18923,7 +18921,7 @@ i32.const 16 i32.const 710 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -18938,7 +18936,7 @@ i32.const 16 i32.const 711 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -18954,7 +18952,7 @@ i32.const 16 i32.const 712 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -18970,7 +18968,7 @@ i32.const 16 i32.const 713 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -18987,7 +18985,7 @@ i32.const 16 i32.const 714 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1125369292536007e-308 @@ -19004,7 +19002,7 @@ i32.const 16 i32.const 715 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -19021,7 +19019,7 @@ i32.const 16 i32.const 716 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -19038,7 +19036,7 @@ i32.const 16 i32.const 717 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -19053,7 +19051,7 @@ i32.const 16 i32.const 718 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -19068,7 +19066,7 @@ i32.const 16 i32.const 727 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -19083,7 +19081,7 @@ i32.const 16 i32.const 728 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -19098,7 +19096,7 @@ i32.const 16 i32.const 729 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -19113,7 +19111,7 @@ i32.const 16 i32.const 730 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -19128,7 +19126,7 @@ i32.const 16 i32.const 731 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -19143,7 +19141,7 @@ i32.const 16 i32.const 732 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -19158,7 +19156,7 @@ i32.const 16 i32.const 733 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -19173,7 +19171,7 @@ i32.const 16 i32.const 734 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -19188,7 +19186,7 @@ i32.const 16 i32.const 735 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -19203,7 +19201,7 @@ i32.const 16 i32.const 736 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -19218,7 +19216,7 @@ i32.const 16 i32.const 739 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -19233,7 +19231,7 @@ i32.const 16 i32.const 740 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -19248,7 +19246,7 @@ i32.const 16 i32.const 741 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -19264,7 +19262,7 @@ i32.const 16 i32.const 742 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -19279,7 +19277,7 @@ i32.const 16 i32.const 743 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -19294,7 +19292,7 @@ i32.const 16 i32.const 744 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -19309,7 +19307,7 @@ i32.const 16 i32.const 745 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -19324,7 +19322,7 @@ i32.const 16 i32.const 746 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -19339,7 +19337,7 @@ i32.const 16 i32.const 747 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -19355,7 +19353,7 @@ i32.const 16 i32.const 748 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -19370,7 +19368,7 @@ i32.const 16 i32.const 749 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -19385,7 +19383,7 @@ i32.const 16 i32.const 750 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -19400,7 +19398,7 @@ i32.const 16 i32.const 751 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -19415,7 +19413,7 @@ i32.const 16 i32.const 752 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -19430,7 +19428,7 @@ i32.const 16 i32.const 753 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -19445,7 +19443,7 @@ i32.const 16 i32.const 754 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -19460,7 +19458,7 @@ i32.const 16 i32.const 755 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -19475,7 +19473,7 @@ i32.const 16 i32.const 756 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -19491,7 +19489,7 @@ i32.const 16 i32.const 757 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -19507,7 +19505,7 @@ i32.const 16 i32.const 758 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -19522,7 +19520,7 @@ i32.const 16 i32.const 759 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -19538,7 +19536,7 @@ i32.const 16 i32.const 760 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -19553,7 +19551,7 @@ i32.const 16 i32.const 761 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -19569,7 +19567,7 @@ i32.const 16 i32.const 762 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -19585,7 +19583,7 @@ i32.const 16 i32.const 763 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -19602,7 +19600,7 @@ i32.const 16 i32.const 764 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 @@ -19619,7 +19617,7 @@ i32.const 16 i32.const 765 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -19636,7 +19634,7 @@ i32.const 16 i32.const 766 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -19650,7 +19648,7 @@ i32.const 16 i32.const 778 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -19664,7 +19662,7 @@ i32.const 16 i32.const 779 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -19678,7 +19676,7 @@ i32.const 16 i32.const 780 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -19692,7 +19690,7 @@ i32.const 16 i32.const 781 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -19706,7 +19704,7 @@ i32.const 16 i32.const 782 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -19720,7 +19718,7 @@ i32.const 16 i32.const 783 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -19734,7 +19732,7 @@ i32.const 16 i32.const 784 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -19748,7 +19746,7 @@ i32.const 16 i32.const 785 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -19762,7 +19760,7 @@ i32.const 16 i32.const 786 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -19776,7 +19774,7 @@ i32.const 16 i32.const 787 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -19790,7 +19788,7 @@ i32.const 16 i32.const 790 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -19804,7 +19802,7 @@ i32.const 16 i32.const 791 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -19820,7 +19818,7 @@ i32.const 16 i32.const 792 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -19834,7 +19832,7 @@ i32.const 16 i32.const 793 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -19848,7 +19846,7 @@ i32.const 16 i32.const 794 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.313225746154785e-10 @@ -19862,7 +19860,7 @@ i32.const 16 i32.const 795 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -9.313225746154785e-10 @@ -19876,7 +19874,7 @@ i32.const 16 i32.const 796 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -19890,7 +19888,7 @@ i32.const 16 i32.const 797 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -19904,7 +19902,7 @@ i32.const 16 i32.const 798 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 8 @@ -19918,7 +19916,7 @@ i32.const 16 i32.const 799 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -19932,7 +19930,7 @@ i32.const 16 i32.const 808 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -19946,7 +19944,7 @@ i32.const 16 i32.const 809 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -19960,7 +19958,7 @@ i32.const 16 i32.const 810 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -19974,7 +19972,7 @@ i32.const 16 i32.const 811 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -19988,7 +19986,7 @@ i32.const 16 i32.const 812 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -20002,7 +20000,7 @@ i32.const 16 i32.const 813 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -20016,7 +20014,7 @@ i32.const 16 i32.const 814 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -20030,7 +20028,7 @@ i32.const 16 i32.const 815 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -20044,7 +20042,7 @@ i32.const 16 i32.const 816 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -20058,7 +20056,7 @@ i32.const 16 i32.const 817 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -20072,7 +20070,7 @@ i32.const 16 i32.const 820 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -20086,7 +20084,7 @@ i32.const 16 i32.const 821 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -20102,7 +20100,7 @@ i32.const 16 i32.const 822 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -20116,7 +20114,7 @@ i32.const 16 i32.const 823 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -20130,7 +20128,7 @@ i32.const 16 i32.const 824 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.313225746154785e-10 @@ -20144,7 +20142,7 @@ i32.const 16 i32.const 825 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -9.313225746154785e-10 @@ -20158,7 +20156,7 @@ i32.const 16 i32.const 826 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -20172,7 +20170,7 @@ i32.const 16 i32.const 827 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -20186,7 +20184,7 @@ i32.const 16 i32.const 828 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 8 @@ -20200,7 +20198,7 @@ i32.const 16 i32.const 829 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -20214,7 +20212,7 @@ i32.const 16 i32.const 841 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -20228,7 +20226,7 @@ i32.const 16 i32.const 842 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -20242,7 +20240,7 @@ i32.const 16 i32.const 843 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -20256,7 +20254,7 @@ i32.const 16 i32.const 844 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -20270,7 +20268,7 @@ i32.const 16 i32.const 845 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -20284,7 +20282,7 @@ i32.const 16 i32.const 846 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -20298,7 +20296,7 @@ i32.const 16 i32.const 847 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -20312,7 +20310,7 @@ i32.const 16 i32.const 848 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -20326,7 +20324,7 @@ i32.const 16 i32.const 849 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -20340,7 +20338,7 @@ i32.const 16 i32.const 850 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -20354,7 +20352,7 @@ i32.const 16 i32.const 853 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -20368,7 +20366,7 @@ i32.const 16 i32.const 854 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -20384,7 +20382,7 @@ i32.const 16 i32.const 855 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -20398,7 +20396,7 @@ i32.const 16 i32.const 856 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -20412,7 +20410,7 @@ i32.const 16 i32.const 857 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -20426,7 +20424,7 @@ i32.const 16 i32.const 858 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -20440,7 +20438,7 @@ i32.const 16 i32.const 859 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -20454,7 +20452,7 @@ i32.const 16 i32.const 860 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -20468,7 +20466,7 @@ i32.const 16 i32.const 861 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -20482,7 +20480,7 @@ i32.const 16 i32.const 862 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -20496,7 +20494,7 @@ i32.const 16 i32.const 863 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -20510,7 +20508,7 @@ i32.const 16 i32.const 864 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -20524,7 +20522,7 @@ i32.const 16 i32.const 865 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -20538,7 +20536,7 @@ i32.const 16 i32.const 866 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -20552,7 +20550,7 @@ i32.const 16 i32.const 867 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -20566,7 +20564,7 @@ i32.const 16 i32.const 868 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -20580,7 +20578,7 @@ i32.const 16 i32.const 869 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -20596,7 +20594,7 @@ i32.const 16 i32.const 870 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -20610,7 +20608,7 @@ i32.const 16 i32.const 871 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -20624,7 +20622,7 @@ i32.const 16 i32.const 872 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -20638,7 +20636,7 @@ i32.const 16 i32.const 873 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -20652,7 +20650,7 @@ i32.const 16 i32.const 874 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -20666,7 +20664,7 @@ i32.const 16 i32.const 875 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -20680,7 +20678,7 @@ i32.const 16 i32.const 876 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -20694,7 +20692,7 @@ i32.const 16 i32.const 877 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -20708,7 +20706,7 @@ i32.const 16 i32.const 878 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -20722,7 +20720,7 @@ i32.const 16 i32.const 879 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -20736,7 +20734,7 @@ i32.const 16 i32.const 880 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -20750,7 +20748,7 @@ i32.const 16 i32.const 881 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -20764,7 +20762,7 @@ i32.const 16 i32.const 882 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -20778,7 +20776,7 @@ i32.const 16 i32.const 883 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -20792,7 +20790,7 @@ i32.const 16 i32.const 884 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -20808,7 +20806,7 @@ i32.const 16 i32.const 885 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -20822,7 +20820,7 @@ i32.const 16 i32.const 886 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -20836,7 +20834,7 @@ i32.const 16 i32.const 887 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -20850,7 +20848,7 @@ i32.const 16 i32.const 888 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -20864,7 +20862,7 @@ i32.const 16 i32.const 889 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -20878,7 +20876,7 @@ i32.const 16 i32.const 890 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -20892,7 +20890,7 @@ i32.const 16 i32.const 891 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -20906,7 +20904,7 @@ i32.const 16 i32.const 892 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -20920,7 +20918,7 @@ i32.const 16 i32.const 893 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -20934,7 +20932,7 @@ i32.const 16 i32.const 894 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -20948,7 +20946,7 @@ i32.const 16 i32.const 895 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -20962,7 +20960,7 @@ i32.const 16 i32.const 896 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -20976,7 +20974,7 @@ i32.const 16 i32.const 897 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -20990,7 +20988,7 @@ i32.const 16 i32.const 906 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -21004,7 +21002,7 @@ i32.const 16 i32.const 907 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -21018,7 +21016,7 @@ i32.const 16 i32.const 908 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -21032,7 +21030,7 @@ i32.const 16 i32.const 909 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -21046,7 +21044,7 @@ i32.const 16 i32.const 910 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -21060,7 +21058,7 @@ i32.const 16 i32.const 911 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -21074,7 +21072,7 @@ i32.const 16 i32.const 912 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -21088,7 +21086,7 @@ i32.const 16 i32.const 913 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -21102,7 +21100,7 @@ i32.const 16 i32.const 914 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -21116,7 +21114,7 @@ i32.const 16 i32.const 915 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -21130,7 +21128,7 @@ i32.const 16 i32.const 918 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -21144,7 +21142,7 @@ i32.const 16 i32.const 919 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -21160,7 +21158,7 @@ i32.const 16 i32.const 920 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -21174,7 +21172,7 @@ i32.const 16 i32.const 921 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -21188,7 +21186,7 @@ i32.const 16 i32.const 922 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -21202,7 +21200,7 @@ i32.const 16 i32.const 923 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -21216,7 +21214,7 @@ i32.const 16 i32.const 924 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -21230,7 +21228,7 @@ i32.const 16 i32.const 925 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -21244,7 +21242,7 @@ i32.const 16 i32.const 926 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -21258,7 +21256,7 @@ i32.const 16 i32.const 927 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -21272,7 +21270,7 @@ i32.const 16 i32.const 928 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -21286,7 +21284,7 @@ i32.const 16 i32.const 929 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -21300,7 +21298,7 @@ i32.const 16 i32.const 930 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -21314,7 +21312,7 @@ i32.const 16 i32.const 931 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -21328,7 +21326,7 @@ i32.const 16 i32.const 932 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -21342,7 +21340,7 @@ i32.const 16 i32.const 933 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -21356,7 +21354,7 @@ i32.const 16 i32.const 934 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -21372,7 +21370,7 @@ i32.const 16 i32.const 935 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -21386,7 +21384,7 @@ i32.const 16 i32.const 936 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -21400,7 +21398,7 @@ i32.const 16 i32.const 937 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -21414,7 +21412,7 @@ i32.const 16 i32.const 938 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -21428,7 +21426,7 @@ i32.const 16 i32.const 939 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -21442,7 +21440,7 @@ i32.const 16 i32.const 940 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -21456,7 +21454,7 @@ i32.const 16 i32.const 941 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -21470,7 +21468,7 @@ i32.const 16 i32.const 942 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -21484,7 +21482,7 @@ i32.const 16 i32.const 943 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -21498,7 +21496,7 @@ i32.const 16 i32.const 944 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -21512,7 +21510,7 @@ i32.const 16 i32.const 945 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -21526,7 +21524,7 @@ i32.const 16 i32.const 946 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -21540,7 +21538,7 @@ i32.const 16 i32.const 947 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -21554,7 +21552,7 @@ i32.const 16 i32.const 948 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -21568,7 +21566,7 @@ i32.const 16 i32.const 949 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -21584,7 +21582,7 @@ i32.const 16 i32.const 950 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -21598,7 +21596,7 @@ i32.const 16 i32.const 951 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -21612,7 +21610,7 @@ i32.const 16 i32.const 952 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -21626,7 +21624,7 @@ i32.const 16 i32.const 953 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -21640,7 +21638,7 @@ i32.const 16 i32.const 954 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -21654,7 +21652,7 @@ i32.const 16 i32.const 955 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -21668,7 +21666,7 @@ i32.const 16 i32.const 956 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -21682,7 +21680,7 @@ i32.const 16 i32.const 957 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -21696,7 +21694,7 @@ i32.const 16 i32.const 958 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -21710,7 +21708,7 @@ i32.const 16 i32.const 959 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -21724,7 +21722,7 @@ i32.const 16 i32.const 960 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -21738,7 +21736,7 @@ i32.const 16 i32.const 961 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -21752,7 +21750,7 @@ i32.const 16 i32.const 962 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -21766,7 +21764,7 @@ i32.const 16 i32.const 1073 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -21780,7 +21778,7 @@ i32.const 16 i32.const 1074 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -21794,7 +21792,7 @@ i32.const 16 i32.const 1075 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -21808,7 +21806,7 @@ i32.const 16 i32.const 1076 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -21822,7 +21820,7 @@ i32.const 16 i32.const 1077 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -21836,7 +21834,7 @@ i32.const 16 i32.const 1078 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -21850,7 +21848,7 @@ i32.const 16 i32.const 1079 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -21864,7 +21862,7 @@ i32.const 16 i32.const 1080 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -21878,7 +21876,7 @@ i32.const 16 i32.const 1081 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -21892,7 +21890,7 @@ i32.const 16 i32.const 1082 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -21906,7 +21904,7 @@ i32.const 16 i32.const 1085 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -21920,7 +21918,7 @@ i32.const 16 i32.const 1086 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -21934,7 +21932,7 @@ i32.const 16 i32.const 1087 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -21949,7 +21947,7 @@ i32.const 16 i32.const 1088 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -21963,7 +21961,7 @@ i32.const 16 i32.const 1089 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.862645149230957e-09 @@ -21977,7 +21975,7 @@ i32.const 16 i32.const 1092 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.862645149230957e-09 @@ -21991,7 +21989,7 @@ i32.const 16 i32.const 1093 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 @@ -22005,7 +22003,7 @@ i32.const 16 i32.const 1094 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754943508222875e-38 @@ -22019,7 +22017,7 @@ i32.const 16 i32.const 1095 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -22033,7 +22031,7 @@ i32.const 16 i32.const 1096 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 @@ -22047,7 +22045,7 @@ i32.const 16 i32.const 1097 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 @@ -22061,7 +22059,7 @@ i32.const 16 i32.const 1098 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.2611686178923354e-44 @@ -22075,7 +22073,7 @@ i32.const 16 i32.const 1099 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 @@ -22089,7 +22087,7 @@ i32.const 16 i32.const 1100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 @@ -22103,7 +22101,7 @@ i32.const 16 i32.const 1101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754940705625946e-38 @@ -22117,7 +22115,7 @@ i32.const 16 i32.const 1102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754942106924411e-38 @@ -22131,7 +22129,7 @@ i32.const 16 i32.const 1103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.175494490952134e-38 @@ -22145,7 +22143,7 @@ i32.const 16 i32.const 1104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754946310819804e-38 @@ -22159,7 +22157,7 @@ i32.const 16 i32.const 1105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509880009953429e-38 @@ -22173,7 +22171,7 @@ i32.const 16 i32.const 1106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 @@ -22187,7 +22185,7 @@ i32.const 16 i32.const 1107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509895424236536e-38 @@ -22201,7 +22199,7 @@ i32.const 16 i32.const 1108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 @@ -22215,7 +22213,7 @@ i32.const 16 i32.const 1109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.450580596923828e-09 @@ -22229,7 +22227,7 @@ i32.const 16 i32.const 1110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.000244140625 @@ -22243,7 +22241,7 @@ i32.const 16 i32.const 1111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.00048828125 @@ -22257,7 +22255,7 @@ i32.const 16 i32.const 1112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.0009765625 @@ -22271,7 +22269,7 @@ i32.const 16 i32.const 1113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.802596928649634e-45 @@ -22285,7 +22283,7 @@ i32.const 16 i32.const 1114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.2611686178923354e-44 @@ -22299,7 +22297,7 @@ i32.const 16 i32.const 1115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 @@ -22313,7 +22311,7 @@ i32.const 16 i32.const 1116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -5.877471754111438e-39 @@ -22327,7 +22325,7 @@ i32.const 16 i32.const 1117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754940705625946e-38 @@ -22341,7 +22339,7 @@ i32.const 16 i32.const 1118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 @@ -22355,7 +22353,7 @@ i32.const 16 i32.const 1119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.175494490952134e-38 @@ -22369,7 +22367,7 @@ i32.const 16 i32.const 1120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754946310819804e-38 @@ -22383,7 +22381,7 @@ i32.const 16 i32.const 1121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509880009953429e-38 @@ -22397,7 +22395,7 @@ i32.const 16 i32.const 1122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.350988701644575e-38 @@ -22411,7 +22409,7 @@ i32.const 16 i32.const 1123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509895424236536e-38 @@ -22425,7 +22423,7 @@ i32.const 16 i32.const 1124 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -4.70197740328915e-38 @@ -22439,7 +22437,7 @@ i32.const 16 i32.const 1125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.450580596923828e-09 @@ -22453,7 +22451,7 @@ i32.const 16 i32.const 1126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.000244140625 @@ -22467,7 +22465,7 @@ i32.const 16 i32.const 1127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.00048828125 @@ -22481,7 +22479,7 @@ i32.const 16 i32.const 1128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.0009765625 @@ -22495,7 +22493,7 @@ i32.const 16 i32.const 1129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 255.99993896484375 @@ -22509,7 +22507,7 @@ i32.const 16 i32.const 1132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5033165 @@ -22523,7 +22521,7 @@ i32.const 16 i32.const 1133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 421657440 @@ -22537,7 +22535,7 @@ i32.const 16 i32.const 1134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2147483392 @@ -22551,7 +22549,7 @@ i32.const 16 i32.const 1135 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 68719476736 @@ -22565,7 +22563,7 @@ i32.const 16 i32.const 1136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 549755813888 @@ -22579,7 +22577,7 @@ i32.const 16 i32.const 1137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_VALUE @@ -22593,7 +22591,7 @@ i32.const 16 i32.const 1138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -255.99993896484375 @@ -22607,7 +22605,7 @@ i32.const 16 i32.const 1139 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -5033165 @@ -22621,7 +22619,7 @@ i32.const 16 i32.const 1140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -421657440 @@ -22635,7 +22633,7 @@ i32.const 16 i32.const 1141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2147483392 @@ -22649,7 +22647,7 @@ i32.const 16 i32.const 1142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -68719476736 @@ -22663,7 +22661,7 @@ i32.const 16 i32.const 1143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -549755813888 @@ -22677,7 +22675,7 @@ i32.const 16 i32.const 1144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_VALUE @@ -22692,7 +22690,7 @@ i32.const 16 i32.const 1145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -22706,7 +22704,7 @@ i32.const 16 i32.const 1156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -22720,7 +22718,7 @@ i32.const 16 i32.const 1157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -22734,7 +22732,7 @@ i32.const 16 i32.const 1158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -22748,7 +22746,7 @@ i32.const 16 i32.const 1159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -22762,7 +22760,7 @@ i32.const 16 i32.const 1160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -22776,7 +22774,7 @@ i32.const 16 i32.const 1161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -22790,7 +22788,7 @@ i32.const 16 i32.const 1162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -22804,7 +22802,7 @@ i32.const 16 i32.const 1163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -22818,7 +22816,7 @@ i32.const 16 i32.const 1164 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -22832,7 +22830,7 @@ i32.const 16 i32.const 1165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -22846,7 +22844,7 @@ i32.const 16 i32.const 1168 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -22860,7 +22858,7 @@ i32.const 16 i32.const 1169 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -22874,7 +22872,7 @@ i32.const 16 i32.const 1170 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -22889,7 +22887,7 @@ i32.const 16 i32.const 1171 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -22903,7 +22901,7 @@ i32.const 16 i32.const 1172 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -22917,7 +22915,7 @@ i32.const 16 i32.const 1181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -22931,7 +22929,7 @@ i32.const 16 i32.const 1182 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -22945,7 +22943,7 @@ i32.const 16 i32.const 1183 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -22959,7 +22957,7 @@ i32.const 16 i32.const 1184 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -22973,7 +22971,7 @@ i32.const 16 i32.const 1185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -22987,7 +22985,7 @@ i32.const 16 i32.const 1186 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -23001,7 +22999,7 @@ i32.const 16 i32.const 1187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -23015,7 +23013,7 @@ i32.const 16 i32.const 1188 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -23029,7 +23027,7 @@ i32.const 16 i32.const 1189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -23043,7 +23041,7 @@ i32.const 16 i32.const 1190 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -23057,7 +23055,7 @@ i32.const 16 i32.const 1193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -23071,7 +23069,7 @@ i32.const 16 i32.const 1194 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -23085,7 +23083,7 @@ i32.const 16 i32.const 1195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -23100,7 +23098,7 @@ i32.const 16 i32.const 1196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -23114,7 +23112,7 @@ i32.const 16 i32.const 1197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -23128,7 +23126,7 @@ i32.const 16 i32.const 1209 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -23142,7 +23140,7 @@ i32.const 16 i32.const 1210 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -23156,7 +23154,7 @@ i32.const 16 i32.const 1211 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -23170,7 +23168,7 @@ i32.const 16 i32.const 1212 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -23184,7 +23182,7 @@ i32.const 16 i32.const 1213 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -23198,7 +23196,7 @@ i32.const 16 i32.const 1214 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -23212,7 +23210,7 @@ i32.const 16 i32.const 1215 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -23226,7 +23224,7 @@ i32.const 16 i32.const 1216 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -23240,7 +23238,7 @@ i32.const 16 i32.const 1217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -23254,7 +23252,7 @@ i32.const 16 i32.const 1218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -23268,7 +23266,7 @@ i32.const 16 i32.const 1221 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -23282,7 +23280,7 @@ i32.const 16 i32.const 1222 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -23296,7 +23294,7 @@ i32.const 16 i32.const 1223 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -23310,7 +23308,7 @@ i32.const 16 i32.const 1224 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -23324,7 +23322,7 @@ i32.const 16 i32.const 1225 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -23339,7 +23337,7 @@ i32.const 16 i32.const 1226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -23353,7 +23351,7 @@ i32.const 16 i32.const 1227 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0397214889526365 @@ -23367,7 +23365,7 @@ i32.const 16 i32.const 1228 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0397214889526365 @@ -23381,7 +23379,7 @@ i32.const 16 i32.const 1229 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0397210121154785 @@ -23395,7 +23393,7 @@ i32.const 16 i32.const 1230 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0397214889526367 @@ -23409,7 +23407,7 @@ i32.const 16 i32.const 1231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_VALUE @@ -23423,7 +23421,7 @@ i32.const 16 i32.const 1234 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_VALUE @@ -23438,7 +23436,7 @@ i32.const 16 i32.const 1235 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4649454530587146735 @@ -23455,7 +23453,7 @@ i32.const 16 i32.const 1237 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4649454530587146736 @@ -23472,7 +23470,7 @@ i32.const 16 i32.const 1244 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -4573606559926636463 @@ -23490,7 +23488,7 @@ i32.const 16 i32.const 1245 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -4573606559926636462 @@ -23508,7 +23506,7 @@ i32.const 16 i32.const 1252 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -4573929700241785646 @@ -23525,7 +23523,7 @@ i32.const 16 i32.const 1259 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -4573929700241785645 @@ -23544,7 +23542,7 @@ i32.const 16 i32.const 1266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4602685064124656555 @@ -23561,7 +23559,7 @@ i32.const 16 i32.const 1273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4603836184166978885 @@ -23578,7 +23576,7 @@ i32.const 16 i32.const 1280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4605718951180848880 @@ -23595,7 +23593,7 @@ i32.const 16 i32.const 1287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4605835761386121865 @@ -23612,7 +23610,7 @@ i32.const 16 i32.const 1293 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4610006203169397430 @@ -23629,7 +23627,7 @@ i32.const 16 i32.const 1299 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4610219797808568955 @@ -23646,7 +23644,7 @@ i32.const 16 i32.const 1305 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4619182163989041060 @@ -23663,7 +23661,7 @@ i32.const 16 i32.const 1312 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4622394943780502425 @@ -23680,7 +23678,7 @@ i32.const 16 i32.const 1319 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4622613550143616215 @@ -23697,7 +23695,7 @@ i32.const 16 i32.const 1326 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4622829325869063755 @@ -23714,7 +23712,7 @@ i32.const 16 i32.const 1333 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4645970351893354075 @@ -23731,7 +23729,7 @@ i32.const 16 i32.const 1340 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4647695036380671130 @@ -23748,7 +23746,7 @@ i32.const 16 i32.const 1347 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -4819432143425896336 @@ -23765,7 +23763,7 @@ i32.const 16 i32.const 1354 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -4819256221565452171 @@ -23782,7 +23780,7 @@ i32.const 16 i32.const 1361 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -23796,7 +23794,7 @@ i32.const 16 i32.const 1375 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -23810,7 +23808,7 @@ i32.const 16 i32.const 1376 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -23824,7 +23822,7 @@ i32.const 16 i32.const 1377 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -23838,7 +23836,7 @@ i32.const 16 i32.const 1378 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -23852,7 +23850,7 @@ i32.const 16 i32.const 1379 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -23866,7 +23864,7 @@ i32.const 16 i32.const 1380 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -23880,7 +23878,7 @@ i32.const 16 i32.const 1381 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -23894,7 +23892,7 @@ i32.const 16 i32.const 1382 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -23908,7 +23906,7 @@ i32.const 16 i32.const 1383 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -23922,7 +23920,7 @@ i32.const 16 i32.const 1384 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -23936,7 +23934,7 @@ i32.const 16 i32.const 1387 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -23950,7 +23948,7 @@ i32.const 16 i32.const 1388 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -23964,7 +23962,7 @@ i32.const 16 i32.const 1389 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -23978,7 +23976,7 @@ i32.const 16 i32.const 1390 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -23992,7 +23990,7 @@ i32.const 16 i32.const 1391 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -24007,7 +24005,7 @@ i32.const 16 i32.const 1392 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -24021,7 +24019,7 @@ i32.const 16 i32.const 1393 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 88.72283172607422 @@ -24035,7 +24033,7 @@ i32.const 16 i32.const 1394 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 88.72283935546875 @@ -24051,7 +24049,7 @@ i32.const 16 i32.const 1395 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -103.97207641601562 @@ -24067,7 +24065,7 @@ i32.const 16 i32.const 1396 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -103.97208404541016 @@ -24083,7 +24081,7 @@ i32.const 16 i32.const 1397 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.3465735614299774 @@ -24097,7 +24095,7 @@ i32.const 16 i32.const 1398 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.3465735912322998 @@ -24111,7 +24109,7 @@ i32.const 16 i32.const 1399 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.3465736210346222 @@ -24125,7 +24123,7 @@ i32.const 16 i32.const 1400 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -24139,7 +24137,7 @@ i32.const 16 i32.const 1412 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -24153,7 +24151,7 @@ i32.const 16 i32.const 1413 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -24167,7 +24165,7 @@ i32.const 16 i32.const 1414 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -24181,7 +24179,7 @@ i32.const 16 i32.const 1415 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -24195,7 +24193,7 @@ i32.const 16 i32.const 1416 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -24209,7 +24207,7 @@ i32.const 16 i32.const 1417 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -24223,7 +24221,7 @@ i32.const 16 i32.const 1418 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -24237,7 +24235,7 @@ i32.const 16 i32.const 1419 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -24251,7 +24249,7 @@ i32.const 16 i32.const 1420 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -24265,7 +24263,7 @@ i32.const 16 i32.const 1421 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -24279,7 +24277,7 @@ i32.const 16 i32.const 1424 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -24293,7 +24291,7 @@ i32.const 16 i32.const 1425 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -24307,7 +24305,7 @@ i32.const 16 i32.const 1426 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -24321,7 +24319,7 @@ i32.const 16 i32.const 1427 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24335,7 +24333,7 @@ i32.const 16 i32.const 1428 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24350,7 +24348,7 @@ i32.const 16 i32.const 1429 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -24364,7 +24362,7 @@ i32.const 16 i32.const 1430 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507201e-308 @@ -24380,7 +24378,7 @@ i32.const 16 i32.const 1431 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2.225073858507201e-308 @@ -24396,7 +24394,7 @@ i32.const 16 i32.const 1432 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -24410,7 +24408,7 @@ i32.const 16 i32.const 1441 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -24424,7 +24422,7 @@ i32.const 16 i32.const 1442 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -24438,7 +24436,7 @@ i32.const 16 i32.const 1443 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -24452,7 +24450,7 @@ i32.const 16 i32.const 1444 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -24466,7 +24464,7 @@ i32.const 16 i32.const 1445 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -24480,7 +24478,7 @@ i32.const 16 i32.const 1446 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -24494,7 +24492,7 @@ i32.const 16 i32.const 1447 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -24508,7 +24506,7 @@ i32.const 16 i32.const 1448 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -24522,7 +24520,7 @@ i32.const 16 i32.const 1449 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -24536,7 +24534,7 @@ i32.const 16 i32.const 1450 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -24550,7 +24548,7 @@ i32.const 16 i32.const 1453 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -24564,7 +24562,7 @@ i32.const 16 i32.const 1454 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -24578,7 +24576,7 @@ i32.const 16 i32.const 1455 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -24592,7 +24590,7 @@ i32.const 16 i32.const 1456 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -24606,7 +24604,7 @@ i32.const 16 i32.const 1457 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -24621,7 +24619,7 @@ i32.const 16 i32.const 1458 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -24635,7 +24633,7 @@ i32.const 16 i32.const 1459 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -24649,7 +24647,7 @@ i32.const 16 i32.const 1471 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -24663,7 +24661,7 @@ i32.const 16 i32.const 1472 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -24677,7 +24675,7 @@ i32.const 16 i32.const 1473 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -24691,7 +24689,7 @@ i32.const 16 i32.const 1474 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -24705,7 +24703,7 @@ i32.const 16 i32.const 1475 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -24719,7 +24717,7 @@ i32.const 16 i32.const 1476 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -24733,7 +24731,7 @@ i32.const 16 i32.const 1477 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -24747,7 +24745,7 @@ i32.const 16 i32.const 1478 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -24761,7 +24759,7 @@ i32.const 16 i32.const 1479 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -24775,7 +24773,7 @@ i32.const 16 i32.const 1480 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -24789,7 +24787,7 @@ i32.const 16 i32.const 1483 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24803,7 +24801,7 @@ i32.const 16 i32.const 1484 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -24819,7 +24817,7 @@ i32.const 16 i32.const 1485 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -24833,7 +24831,7 @@ i32.const 16 i32.const 1486 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -24847,7 +24845,7 @@ i32.const 16 i32.const 1487 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -24861,7 +24859,7 @@ i32.const 16 i32.const 1488 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -24875,7 +24873,7 @@ i32.const 16 i32.const 1489 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -24889,7 +24887,7 @@ i32.const 16 i32.const 1490 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -24903,7 +24901,7 @@ i32.const 16 i32.const 1491 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -24917,7 +24915,7 @@ i32.const 16 i32.const 1492 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -24931,7 +24929,7 @@ i32.const 16 i32.const 1493 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -24945,7 +24943,7 @@ i32.const 16 i32.const 1494 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -24959,7 +24957,7 @@ i32.const 16 i32.const 1495 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -24973,7 +24971,7 @@ i32.const 16 i32.const 1496 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -24987,7 +24985,7 @@ i32.const 16 i32.const 1497 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -25001,7 +24999,7 @@ i32.const 16 i32.const 1506 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -25015,7 +25013,7 @@ i32.const 16 i32.const 1507 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -25029,7 +25027,7 @@ i32.const 16 i32.const 1508 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -25043,7 +25041,7 @@ i32.const 16 i32.const 1509 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -25057,7 +25055,7 @@ i32.const 16 i32.const 1510 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -25071,7 +25069,7 @@ i32.const 16 i32.const 1511 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -25085,7 +25083,7 @@ i32.const 16 i32.const 1512 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -25099,7 +25097,7 @@ i32.const 16 i32.const 1513 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -25113,7 +25111,7 @@ i32.const 16 i32.const 1514 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -25127,7 +25125,7 @@ i32.const 16 i32.const 1515 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -25141,7 +25139,7 @@ i32.const 16 i32.const 1518 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25155,7 +25153,7 @@ i32.const 16 i32.const 1519 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -25171,7 +25169,7 @@ i32.const 16 i32.const 1520 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -25185,7 +25183,7 @@ i32.const 16 i32.const 1521 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -25199,7 +25197,7 @@ i32.const 16 i32.const 1522 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -25213,7 +25211,7 @@ i32.const 16 i32.const 1523 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -25227,7 +25225,7 @@ i32.const 16 i32.const 1524 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -25241,7 +25239,7 @@ i32.const 16 i32.const 1525 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -25255,7 +25253,7 @@ i32.const 16 i32.const 1526 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -25269,7 +25267,7 @@ i32.const 16 i32.const 1527 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -25283,7 +25281,7 @@ i32.const 16 i32.const 1528 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -25297,7 +25295,7 @@ i32.const 16 i32.const 1529 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -25311,7 +25309,7 @@ i32.const 16 i32.const 1530 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -25325,7 +25323,7 @@ i32.const 16 i32.const 1531 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -25339,7 +25337,7 @@ i32.const 16 i32.const 1532 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -25354,7 +25352,7 @@ i32.const 16 i32.const 1544 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -25369,7 +25367,7 @@ i32.const 16 i32.const 1545 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -25384,7 +25382,7 @@ i32.const 16 i32.const 1546 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -25399,7 +25397,7 @@ i32.const 16 i32.const 1547 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -25414,7 +25412,7 @@ i32.const 16 i32.const 1548 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -25429,7 +25427,7 @@ i32.const 16 i32.const 1549 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -25444,7 +25442,7 @@ i32.const 16 i32.const 1550 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -25459,7 +25457,7 @@ i32.const 16 i32.const 1551 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -25474,7 +25472,7 @@ i32.const 16 i32.const 1552 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -25489,7 +25487,7 @@ i32.const 16 i32.const 1553 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3 @@ -25504,7 +25502,7 @@ i32.const 16 i32.const 1556 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -25519,7 +25517,7 @@ i32.const 16 i32.const 1557 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4 @@ -25534,7 +25532,7 @@ i32.const 16 i32.const 1558 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4 @@ -25549,7 +25547,7 @@ i32.const 16 i32.const 1559 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -25564,7 +25562,7 @@ i32.const 16 i32.const 1560 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -25579,7 +25577,7 @@ i32.const 16 i32.const 1561 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -25594,7 +25592,7 @@ i32.const 16 i32.const 1562 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -25609,7 +25607,7 @@ i32.const 16 i32.const 1563 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -25624,7 +25622,7 @@ i32.const 16 i32.const 1564 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -25639,7 +25637,7 @@ i32.const 16 i32.const 1565 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -25654,7 +25652,7 @@ i32.const 16 i32.const 1566 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -25669,7 +25667,7 @@ i32.const 16 i32.const 1567 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -25684,7 +25682,7 @@ i32.const 16 i32.const 1568 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -25700,7 +25698,7 @@ i32.const 16 i32.const 1569 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -25716,7 +25714,7 @@ i32.const 16 i32.const 1570 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -25732,7 +25730,7 @@ i32.const 16 i32.const 1571 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -25748,7 +25746,7 @@ i32.const 16 i32.const 1572 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -25763,7 +25761,7 @@ i32.const 16 i32.const 1573 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -25778,7 +25776,7 @@ i32.const 16 i32.const 1574 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -25793,7 +25791,7 @@ i32.const 16 i32.const 1583 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -25808,7 +25806,7 @@ i32.const 16 i32.const 1584 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -25823,7 +25821,7 @@ i32.const 16 i32.const 1585 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -25838,7 +25836,7 @@ i32.const 16 i32.const 1586 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -25853,7 +25851,7 @@ i32.const 16 i32.const 1587 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -25868,7 +25866,7 @@ i32.const 16 i32.const 1588 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -25883,7 +25881,7 @@ i32.const 16 i32.const 1589 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -25898,7 +25896,7 @@ i32.const 16 i32.const 1590 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -25913,7 +25911,7 @@ i32.const 16 i32.const 1591 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -25928,7 +25926,7 @@ i32.const 16 i32.const 1592 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3 @@ -25943,7 +25941,7 @@ i32.const 16 i32.const 1595 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -25958,7 +25956,7 @@ i32.const 16 i32.const 1596 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4 @@ -25973,7 +25971,7 @@ i32.const 16 i32.const 1597 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4 @@ -25988,7 +25986,7 @@ i32.const 16 i32.const 1598 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -26003,7 +26001,7 @@ i32.const 16 i32.const 1599 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 @@ -26018,7 +26016,7 @@ i32.const 16 i32.const 1600 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 @@ -26033,7 +26031,7 @@ i32.const 16 i32.const 1601 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -26048,7 +26046,7 @@ i32.const 16 i32.const 1602 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -26063,7 +26061,7 @@ i32.const 16 i32.const 1603 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -26078,7 +26076,7 @@ i32.const 16 i32.const 1604 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -26093,7 +26091,7 @@ i32.const 16 i32.const 1605 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -26108,7 +26106,7 @@ i32.const 16 i32.const 1606 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -26123,7 +26121,7 @@ i32.const 16 i32.const 1607 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -26139,7 +26137,7 @@ i32.const 16 i32.const 1608 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -26155,7 +26153,7 @@ i32.const 16 i32.const 1609 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -26171,7 +26169,7 @@ i32.const 16 i32.const 1610 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -26187,7 +26185,7 @@ i32.const 16 i32.const 1611 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -26202,7 +26200,7 @@ i32.const 16 i32.const 1612 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -26217,7 +26215,7 @@ i32.const 16 i32.const 1613 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -26231,7 +26229,7 @@ i32.const 16 i32.const 1625 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -26245,7 +26243,7 @@ i32.const 16 i32.const 1626 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -26259,7 +26257,7 @@ i32.const 16 i32.const 1627 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -26273,7 +26271,7 @@ i32.const 16 i32.const 1628 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -26287,7 +26285,7 @@ i32.const 16 i32.const 1629 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -26301,7 +26299,7 @@ i32.const 16 i32.const 1630 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -26315,7 +26313,7 @@ i32.const 16 i32.const 1631 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -26329,7 +26327,7 @@ i32.const 16 i32.const 1632 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -26343,7 +26341,7 @@ i32.const 16 i32.const 1633 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -26357,7 +26355,7 @@ i32.const 16 i32.const 1634 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -26372,7 +26370,7 @@ i32.const 16 i32.const 1637 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -26387,7 +26385,7 @@ i32.const 16 i32.const 1638 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -26401,7 +26399,7 @@ i32.const 16 i32.const 1639 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -26415,7 +26413,7 @@ i32.const 16 i32.const 1640 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -26429,7 +26427,7 @@ i32.const 16 i32.const 1641 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26443,7 +26441,7 @@ i32.const 16 i32.const 1642 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26458,7 +26456,7 @@ i32.const 16 i32.const 1643 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -26472,7 +26470,7 @@ i32.const 16 i32.const 1644 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -26487,7 +26485,7 @@ i32.const 16 i32.const 1653 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -26502,7 +26500,7 @@ i32.const 16 i32.const 1654 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -26516,7 +26514,7 @@ i32.const 16 i32.const 1655 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -26530,7 +26528,7 @@ i32.const 16 i32.const 1656 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -26544,7 +26542,7 @@ i32.const 16 i32.const 1657 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -26558,7 +26556,7 @@ i32.const 16 i32.const 1658 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -26573,7 +26571,7 @@ i32.const 16 i32.const 1659 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -26587,7 +26585,7 @@ i32.const 16 i32.const 1660 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -26602,7 +26600,7 @@ i32.const 16 i32.const 1663 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -26617,7 +26615,7 @@ i32.const 16 i32.const 1664 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -26631,7 +26629,7 @@ i32.const 16 i32.const 1665 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -26645,7 +26643,7 @@ i32.const 16 i32.const 1666 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -26659,7 +26657,7 @@ i32.const 16 i32.const 1667 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -26673,7 +26671,7 @@ i32.const 16 i32.const 1668 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -26688,7 +26686,7 @@ i32.const 16 i32.const 1669 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -26702,7 +26700,7 @@ i32.const 16 i32.const 1670 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -26716,7 +26714,7 @@ i32.const 16 i32.const 1682 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -26730,7 +26728,7 @@ i32.const 16 i32.const 1683 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -26744,7 +26742,7 @@ i32.const 16 i32.const 1684 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -26758,7 +26756,7 @@ i32.const 16 i32.const 1685 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -26772,7 +26770,7 @@ i32.const 16 i32.const 1686 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -26786,7 +26784,7 @@ i32.const 16 i32.const 1687 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -26800,7 +26798,7 @@ i32.const 16 i32.const 1688 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -26814,7 +26812,7 @@ i32.const 16 i32.const 1689 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -26828,7 +26826,7 @@ i32.const 16 i32.const 1690 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -26842,7 +26840,7 @@ i32.const 16 i32.const 1691 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -26857,7 +26855,7 @@ i32.const 16 i32.const 1694 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -26872,7 +26870,7 @@ i32.const 16 i32.const 1695 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -26886,7 +26884,7 @@ i32.const 16 i32.const 1696 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -26900,7 +26898,7 @@ i32.const 16 i32.const 1697 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -26914,7 +26912,7 @@ i32.const 16 i32.const 1698 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26928,7 +26926,7 @@ i32.const 16 i32.const 1699 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -26943,7 +26941,7 @@ i32.const 16 i32.const 1700 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -26957,7 +26955,7 @@ i32.const 16 i32.const 1701 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -26971,7 +26969,7 @@ i32.const 16 i32.const 1710 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -26985,7 +26983,7 @@ i32.const 16 i32.const 1711 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -26999,7 +26997,7 @@ i32.const 16 i32.const 1712 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -27013,7 +27011,7 @@ i32.const 16 i32.const 1713 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -27027,7 +27025,7 @@ i32.const 16 i32.const 1714 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -27041,7 +27039,7 @@ i32.const 16 i32.const 1715 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -27055,7 +27053,7 @@ i32.const 16 i32.const 1716 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -27069,7 +27067,7 @@ i32.const 16 i32.const 1717 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -27083,7 +27081,7 @@ i32.const 16 i32.const 1718 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -27097,7 +27095,7 @@ i32.const 16 i32.const 1719 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -27112,7 +27110,7 @@ i32.const 16 i32.const 1722 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -27127,7 +27125,7 @@ i32.const 16 i32.const 1723 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -27141,7 +27139,7 @@ i32.const 16 i32.const 1724 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -27155,7 +27153,7 @@ i32.const 16 i32.const 1725 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -27169,7 +27167,7 @@ i32.const 16 i32.const 1726 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27183,7 +27181,7 @@ i32.const 16 i32.const 1727 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27198,7 +27196,7 @@ i32.const 16 i32.const 1728 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -27212,7 +27210,7 @@ i32.const 16 i32.const 1729 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -27226,7 +27224,7 @@ i32.const 16 i32.const 1741 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -27240,7 +27238,7 @@ i32.const 16 i32.const 1742 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -27254,7 +27252,7 @@ i32.const 16 i32.const 1743 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -27268,7 +27266,7 @@ i32.const 16 i32.const 1744 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -27282,7 +27280,7 @@ i32.const 16 i32.const 1745 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -27296,7 +27294,7 @@ i32.const 16 i32.const 1746 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -27310,7 +27308,7 @@ i32.const 16 i32.const 1747 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -27324,7 +27322,7 @@ i32.const 16 i32.const 1748 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -27338,7 +27336,7 @@ i32.const 16 i32.const 1749 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -27352,7 +27350,7 @@ i32.const 16 i32.const 1750 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -27366,7 +27364,7 @@ i32.const 16 i32.const 1753 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -27380,7 +27378,7 @@ i32.const 16 i32.const 1754 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -27394,7 +27392,7 @@ i32.const 16 i32.const 1755 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -27408,7 +27406,7 @@ i32.const 16 i32.const 1756 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -27423,7 +27421,7 @@ i32.const 16 i32.const 1757 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -27437,7 +27435,7 @@ i32.const 16 i32.const 1758 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -27452,7 +27450,7 @@ i32.const 16 i32.const 1759 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -27466,7 +27464,7 @@ i32.const 16 i32.const 1760 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -27480,7 +27478,7 @@ i32.const 16 i32.const 1769 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -27494,7 +27492,7 @@ i32.const 16 i32.const 1770 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -27508,7 +27506,7 @@ i32.const 16 i32.const 1771 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -27522,7 +27520,7 @@ i32.const 16 i32.const 1772 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -27536,7 +27534,7 @@ i32.const 16 i32.const 1773 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -27550,7 +27548,7 @@ i32.const 16 i32.const 1774 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -27564,7 +27562,7 @@ i32.const 16 i32.const 1775 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -27578,7 +27576,7 @@ i32.const 16 i32.const 1776 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -27592,7 +27590,7 @@ i32.const 16 i32.const 1777 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -27606,7 +27604,7 @@ i32.const 16 i32.const 1778 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -27620,7 +27618,7 @@ i32.const 16 i32.const 1781 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -27634,7 +27632,7 @@ i32.const 16 i32.const 1782 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -27648,7 +27646,7 @@ i32.const 16 i32.const 1783 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -27662,7 +27660,7 @@ i32.const 16 i32.const 1784 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -27677,7 +27675,7 @@ i32.const 16 i32.const 1785 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27691,7 +27689,7 @@ i32.const 16 i32.const 1786 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -27706,7 +27704,7 @@ i32.const 16 i32.const 1787 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -27720,7 +27718,7 @@ i32.const 16 i32.const 1788 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 @@ -27736,7 +27734,7 @@ i32.const 16 i32.const 1789 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -27750,7 +27748,7 @@ i32.const 16 i32.const 1801 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -27764,7 +27762,7 @@ i32.const 16 i32.const 1802 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -27778,7 +27776,7 @@ i32.const 16 i32.const 1803 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -27792,7 +27790,7 @@ i32.const 16 i32.const 1804 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -27806,7 +27804,7 @@ i32.const 16 i32.const 1805 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -27820,7 +27818,7 @@ i32.const 16 i32.const 1806 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -27834,7 +27832,7 @@ i32.const 16 i32.const 1807 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -27848,7 +27846,7 @@ i32.const 16 i32.const 1808 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -27862,7 +27860,7 @@ i32.const 16 i32.const 1809 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -27876,7 +27874,7 @@ i32.const 16 i32.const 1810 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -27891,7 +27889,7 @@ i32.const 16 i32.const 1813 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -27906,7 +27904,7 @@ i32.const 16 i32.const 1814 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -27920,7 +27918,7 @@ i32.const 16 i32.const 1815 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -27934,7 +27932,7 @@ i32.const 16 i32.const 1816 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -27948,7 +27946,7 @@ i32.const 16 i32.const 1817 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -27962,7 +27960,7 @@ i32.const 16 i32.const 1818 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -27977,7 +27975,7 @@ i32.const 16 i32.const 1819 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -27991,7 +27989,7 @@ i32.const 16 i32.const 1820 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -28005,7 +28003,7 @@ i32.const 16 i32.const 1829 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -28019,7 +28017,7 @@ i32.const 16 i32.const 1830 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -28033,7 +28031,7 @@ i32.const 16 i32.const 1831 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -28047,7 +28045,7 @@ i32.const 16 i32.const 1832 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -28061,7 +28059,7 @@ i32.const 16 i32.const 1833 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -28075,7 +28073,7 @@ i32.const 16 i32.const 1834 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -28089,7 +28087,7 @@ i32.const 16 i32.const 1835 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -28103,7 +28101,7 @@ i32.const 16 i32.const 1836 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -28117,7 +28115,7 @@ i32.const 16 i32.const 1837 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -28131,7 +28129,7 @@ i32.const 16 i32.const 1838 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -28146,7 +28144,7 @@ i32.const 16 i32.const 1841 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -28161,7 +28159,7 @@ i32.const 16 i32.const 1842 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -28175,7 +28173,7 @@ i32.const 16 i32.const 1843 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -28189,7 +28187,7 @@ i32.const 16 i32.const 1844 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -28203,7 +28201,7 @@ i32.const 16 i32.const 1845 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -28217,7 +28215,7 @@ i32.const 16 i32.const 1846 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -28232,7 +28230,7 @@ i32.const 16 i32.const 1847 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -28246,7 +28244,7 @@ i32.const 16 i32.const 1848 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -28261,7 +28259,7 @@ i32.const 16 i32.const 1860 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -28276,7 +28274,7 @@ i32.const 16 i32.const 1861 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -28291,7 +28289,7 @@ i32.const 16 i32.const 1862 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -28306,7 +28304,7 @@ i32.const 16 i32.const 1863 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -28321,7 +28319,7 @@ i32.const 16 i32.const 1864 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -28336,7 +28334,7 @@ i32.const 16 i32.const 1865 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -28351,7 +28349,7 @@ i32.const 16 i32.const 1866 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -28366,7 +28364,7 @@ i32.const 16 i32.const 1867 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -28381,7 +28379,7 @@ i32.const 16 i32.const 1868 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -28396,7 +28394,7 @@ i32.const 16 i32.const 1869 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28411,7 +28409,7 @@ i32.const 16 i32.const 1872 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28426,7 +28424,7 @@ i32.const 16 i32.const 1873 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -28441,7 +28439,7 @@ i32.const 16 i32.const 1874 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -28456,7 +28454,7 @@ i32.const 16 i32.const 1875 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -28471,7 +28469,7 @@ i32.const 16 i32.const 1876 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -28486,7 +28484,7 @@ i32.const 16 i32.const 1877 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28501,7 +28499,7 @@ i32.const 16 i32.const 1878 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28517,7 +28515,7 @@ i32.const 16 i32.const 1879 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -28532,7 +28530,7 @@ i32.const 16 i32.const 1880 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28547,7 +28545,7 @@ i32.const 16 i32.const 1881 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28562,7 +28560,7 @@ i32.const 16 i32.const 1882 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -28577,7 +28575,7 @@ i32.const 16 i32.const 1883 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -28592,7 +28590,7 @@ i32.const 16 i32.const 1884 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -28607,7 +28605,7 @@ i32.const 16 i32.const 1885 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -28622,7 +28620,7 @@ i32.const 16 i32.const 1886 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28637,7 +28635,7 @@ i32.const 16 i32.const 1887 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28653,7 +28651,7 @@ i32.const 16 i32.const 1888 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -28668,7 +28666,7 @@ i32.const 16 i32.const 1889 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28683,7 +28681,7 @@ i32.const 16 i32.const 1890 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28698,7 +28696,7 @@ i32.const 16 i32.const 1891 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28713,7 +28711,7 @@ i32.const 16 i32.const 1892 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28729,7 +28727,7 @@ i32.const 16 i32.const 1893 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -28744,7 +28742,7 @@ i32.const 16 i32.const 1894 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28759,7 +28757,7 @@ i32.const 16 i32.const 1895 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28774,7 +28772,7 @@ i32.const 16 i32.const 1896 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28789,7 +28787,7 @@ i32.const 16 i32.const 1897 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28805,7 +28803,7 @@ i32.const 16 i32.const 1898 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -28820,7 +28818,7 @@ i32.const 16 i32.const 1899 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -28835,7 +28833,7 @@ i32.const 16 i32.const 1900 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -28850,7 +28848,7 @@ i32.const 16 i32.const 1901 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28865,7 +28863,7 @@ i32.const 16 i32.const 1902 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28881,7 +28879,7 @@ i32.const 16 i32.const 1903 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -28896,7 +28894,7 @@ i32.const 16 i32.const 1904 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -28911,7 +28909,7 @@ i32.const 16 i32.const 1905 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28926,7 +28924,7 @@ i32.const 16 i32.const 1906 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28942,7 +28940,7 @@ i32.const 16 i32.const 1907 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -28957,7 +28955,7 @@ i32.const 16 i32.const 1908 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28972,7 +28970,7 @@ i32.const 16 i32.const 1909 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -28987,7 +28985,7 @@ i32.const 16 i32.const 1910 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -29002,7 +29000,7 @@ i32.const 16 i32.const 1911 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -29018,7 +29016,7 @@ i32.const 16 i32.const 1912 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -29034,7 +29032,7 @@ i32.const 16 i32.const 1913 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -29050,7 +29048,7 @@ i32.const 16 i32.const 1914 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -29065,7 +29063,7 @@ i32.const 16 i32.const 1915 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -29080,7 +29078,7 @@ i32.const 16 i32.const 1916 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -29095,7 +29093,7 @@ i32.const 16 i32.const 1917 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -29110,7 +29108,7 @@ i32.const 16 i32.const 1918 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -29125,7 +29123,7 @@ i32.const 16 i32.const 1919 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -29140,7 +29138,7 @@ i32.const 16 i32.const 1920 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -29156,7 +29154,7 @@ i32.const 16 i32.const 1921 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -29172,7 +29170,7 @@ i32.const 16 i32.const 1922 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -29188,7 +29186,7 @@ i32.const 16 i32.const 1923 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -29204,7 +29202,7 @@ i32.const 16 i32.const 1924 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -29222,7 +29220,7 @@ i32.const 16 i32.const 1925 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -29237,7 +29235,7 @@ i32.const 16 i32.const 1926 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -29252,7 +29250,7 @@ i32.const 16 i32.const 1927 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -29267,7 +29265,7 @@ i32.const 16 i32.const 1928 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -29282,7 +29280,7 @@ i32.const 16 i32.const 1929 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -29297,7 +29295,7 @@ i32.const 16 i32.const 1938 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -29312,7 +29310,7 @@ i32.const 16 i32.const 1939 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -29327,7 +29325,7 @@ i32.const 16 i32.const 1940 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -29342,7 +29340,7 @@ i32.const 16 i32.const 1941 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -29357,7 +29355,7 @@ i32.const 16 i32.const 1942 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -29372,7 +29370,7 @@ i32.const 16 i32.const 1943 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -29387,7 +29385,7 @@ i32.const 16 i32.const 1944 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -29402,7 +29400,7 @@ i32.const 16 i32.const 1945 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -29417,7 +29415,7 @@ i32.const 16 i32.const 1946 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -29432,7 +29430,7 @@ i32.const 16 i32.const 1947 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29447,7 +29445,7 @@ i32.const 16 i32.const 1950 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29462,7 +29460,7 @@ i32.const 16 i32.const 1951 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -29477,7 +29475,7 @@ i32.const 16 i32.const 1952 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -29492,7 +29490,7 @@ i32.const 16 i32.const 1953 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -29507,7 +29505,7 @@ i32.const 16 i32.const 1954 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -29522,7 +29520,7 @@ i32.const 16 i32.const 1955 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29537,7 +29535,7 @@ i32.const 16 i32.const 1956 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29553,7 +29551,7 @@ i32.const 16 i32.const 1957 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -29568,7 +29566,7 @@ i32.const 16 i32.const 1958 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29583,7 +29581,7 @@ i32.const 16 i32.const 1959 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29598,7 +29596,7 @@ i32.const 16 i32.const 1960 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -29613,7 +29611,7 @@ i32.const 16 i32.const 1961 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -29628,7 +29626,7 @@ i32.const 16 i32.const 1962 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -29643,7 +29641,7 @@ i32.const 16 i32.const 1963 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -29658,7 +29656,7 @@ i32.const 16 i32.const 1964 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29673,7 +29671,7 @@ i32.const 16 i32.const 1965 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29689,7 +29687,7 @@ i32.const 16 i32.const 1966 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -29704,7 +29702,7 @@ i32.const 16 i32.const 1967 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29719,7 +29717,7 @@ i32.const 16 i32.const 1968 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29734,7 +29732,7 @@ i32.const 16 i32.const 1969 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29749,7 +29747,7 @@ i32.const 16 i32.const 1970 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29765,7 +29763,7 @@ i32.const 16 i32.const 1971 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -29780,7 +29778,7 @@ i32.const 16 i32.const 1972 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29795,7 +29793,7 @@ i32.const 16 i32.const 1973 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29810,7 +29808,7 @@ i32.const 16 i32.const 1974 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29825,7 +29823,7 @@ i32.const 16 i32.const 1975 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29841,7 +29839,7 @@ i32.const 16 i32.const 1976 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -29856,7 +29854,7 @@ i32.const 16 i32.const 1977 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -29871,7 +29869,7 @@ i32.const 16 i32.const 1978 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -29886,7 +29884,7 @@ i32.const 16 i32.const 1979 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29901,7 +29899,7 @@ i32.const 16 i32.const 1980 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29917,7 +29915,7 @@ i32.const 16 i32.const 1981 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -29932,7 +29930,7 @@ i32.const 16 i32.const 1982 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -29947,7 +29945,7 @@ i32.const 16 i32.const 1983 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29962,7 +29960,7 @@ i32.const 16 i32.const 1984 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -29978,7 +29976,7 @@ i32.const 16 i32.const 1985 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -29993,7 +29991,7 @@ i32.const 16 i32.const 1986 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -30008,7 +30006,7 @@ i32.const 16 i32.const 1987 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -30023,7 +30021,7 @@ i32.const 16 i32.const 1988 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -30038,7 +30036,7 @@ i32.const 16 i32.const 1989 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -30054,7 +30052,7 @@ i32.const 16 i32.const 1990 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -30070,7 +30068,7 @@ i32.const 16 i32.const 1991 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -30086,7 +30084,7 @@ i32.const 16 i32.const 1992 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -30101,7 +30099,7 @@ i32.const 16 i32.const 1993 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -30116,7 +30114,7 @@ i32.const 16 i32.const 1994 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -30131,7 +30129,7 @@ i32.const 16 i32.const 1995 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -30146,7 +30144,7 @@ i32.const 16 i32.const 1996 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -30161,7 +30159,7 @@ i32.const 16 i32.const 1997 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -30176,7 +30174,7 @@ i32.const 16 i32.const 1998 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -30192,7 +30190,7 @@ i32.const 16 i32.const 1999 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -30208,7 +30206,7 @@ i32.const 16 i32.const 2000 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -30224,7 +30222,7 @@ i32.const 16 i32.const 2001 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -30240,7 +30238,7 @@ i32.const 16 i32.const 2002 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -30258,7 +30256,7 @@ i32.const 16 i32.const 2003 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -30273,7 +30271,7 @@ i32.const 16 i32.const 2004 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -30288,7 +30286,7 @@ i32.const 16 i32.const 2005 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -30303,7 +30301,7 @@ i32.const 16 i32.const 2006 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -30318,7 +30316,7 @@ i32.const 16 i32.const 2007 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -30333,7 +30331,7 @@ i32.const 16 i32.const 2019 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -30348,7 +30346,7 @@ i32.const 16 i32.const 2020 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -30363,7 +30361,7 @@ i32.const 16 i32.const 2021 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -30378,7 +30376,7 @@ i32.const 16 i32.const 2022 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -30393,7 +30391,7 @@ i32.const 16 i32.const 2023 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -30408,7 +30406,7 @@ i32.const 16 i32.const 2024 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -30423,7 +30421,7 @@ i32.const 16 i32.const 2025 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -30438,7 +30436,7 @@ i32.const 16 i32.const 2026 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -30453,7 +30451,7 @@ i32.const 16 i32.const 2027 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -30468,7 +30466,7 @@ i32.const 16 i32.const 2028 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -30483,7 +30481,7 @@ i32.const 16 i32.const 2031 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30498,7 +30496,7 @@ i32.const 16 i32.const 2032 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -30513,7 +30511,7 @@ i32.const 16 i32.const 2033 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30528,7 +30526,7 @@ i32.const 16 i32.const 2034 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30543,7 +30541,7 @@ i32.const 16 i32.const 2035 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30558,7 +30556,7 @@ i32.const 16 i32.const 2036 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30573,7 +30571,7 @@ i32.const 16 i32.const 2037 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30590,7 +30588,7 @@ i32.const 16 i32.const 2038 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -30605,7 +30603,7 @@ i32.const 16 i32.const 2039 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -30620,7 +30618,7 @@ i32.const 16 i32.const 2040 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30635,7 +30633,7 @@ i32.const 16 i32.const 2041 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -30650,7 +30648,7 @@ i32.const 16 i32.const 2042 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -30665,7 +30663,7 @@ i32.const 16 i32.const 2043 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30680,7 +30678,7 @@ i32.const 16 i32.const 2044 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30695,7 +30693,7 @@ i32.const 16 i32.const 2045 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30710,7 +30708,7 @@ i32.const 16 i32.const 2046 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30727,7 +30725,7 @@ i32.const 16 i32.const 2047 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -30742,7 +30740,7 @@ i32.const 16 i32.const 2048 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -30757,7 +30755,7 @@ i32.const 16 i32.const 2049 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -30772,7 +30770,7 @@ i32.const 16 i32.const 2050 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -30787,7 +30785,7 @@ i32.const 16 i32.const 2051 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -30804,7 +30802,7 @@ i32.const 16 i32.const 2052 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -30819,7 +30817,7 @@ i32.const 16 i32.const 2053 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30834,7 +30832,7 @@ i32.const 16 i32.const 2054 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30849,7 +30847,7 @@ i32.const 16 i32.const 2055 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30864,7 +30862,7 @@ i32.const 16 i32.const 2056 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30881,7 +30879,7 @@ i32.const 16 i32.const 2057 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -30896,7 +30894,7 @@ i32.const 16 i32.const 2058 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -30911,7 +30909,7 @@ i32.const 16 i32.const 2059 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30926,7 +30924,7 @@ i32.const 16 i32.const 2060 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30941,7 +30939,7 @@ i32.const 16 i32.const 2061 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -30958,7 +30956,7 @@ i32.const 16 i32.const 2062 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -30973,7 +30971,7 @@ i32.const 16 i32.const 2063 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -30988,7 +30986,7 @@ i32.const 16 i32.const 2064 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31003,7 +31001,7 @@ i32.const 16 i32.const 2065 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31020,7 +31018,7 @@ i32.const 16 i32.const 2066 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -31035,7 +31033,7 @@ i32.const 16 i32.const 2067 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31050,7 +31048,7 @@ i32.const 16 i32.const 2068 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31065,7 +31063,7 @@ i32.const 16 i32.const 2069 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31080,7 +31078,7 @@ i32.const 16 i32.const 2070 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31097,7 +31095,7 @@ i32.const 16 i32.const 2071 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31114,7 +31112,7 @@ i32.const 16 i32.const 2072 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31130,7 +31128,7 @@ i32.const 16 i32.const 2073 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -31145,7 +31143,7 @@ i32.const 16 i32.const 2074 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -31160,7 +31158,7 @@ i32.const 16 i32.const 2075 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -31175,7 +31173,7 @@ i32.const 16 i32.const 2076 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -31190,7 +31188,7 @@ i32.const 16 i32.const 2077 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -31205,7 +31203,7 @@ i32.const 16 i32.const 2078 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31220,7 +31218,7 @@ i32.const 16 i32.const 2079 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31237,7 +31235,7 @@ i32.const 16 i32.const 2080 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -31254,7 +31252,7 @@ i32.const 16 i32.const 2081 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -31271,7 +31269,7 @@ i32.const 16 i32.const 2082 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31288,7 +31286,7 @@ i32.const 16 i32.const 2083 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -31306,7 +31304,7 @@ i32.const 16 i32.const 2084 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -31321,7 +31319,7 @@ i32.const 16 i32.const 2085 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -31336,7 +31334,7 @@ i32.const 16 i32.const 2086 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -31351,7 +31349,7 @@ i32.const 16 i32.const 2087 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -31366,7 +31364,7 @@ i32.const 16 i32.const 2088 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -31381,7 +31379,7 @@ i32.const 16 i32.const 2097 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -31396,7 +31394,7 @@ i32.const 16 i32.const 2098 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -31411,7 +31409,7 @@ i32.const 16 i32.const 2099 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -31426,7 +31424,7 @@ i32.const 16 i32.const 2100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -31441,7 +31439,7 @@ i32.const 16 i32.const 2101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -31456,7 +31454,7 @@ i32.const 16 i32.const 2102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -31471,7 +31469,7 @@ i32.const 16 i32.const 2103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -31486,7 +31484,7 @@ i32.const 16 i32.const 2104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -31501,7 +31499,7 @@ i32.const 16 i32.const 2105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -31516,7 +31514,7 @@ i32.const 16 i32.const 2106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31531,7 +31529,7 @@ i32.const 16 i32.const 2109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31546,7 +31544,7 @@ i32.const 16 i32.const 2110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -31561,7 +31559,7 @@ i32.const 16 i32.const 2111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31576,7 +31574,7 @@ i32.const 16 i32.const 2112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31591,7 +31589,7 @@ i32.const 16 i32.const 2113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31606,7 +31604,7 @@ i32.const 16 i32.const 2114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -31621,7 +31619,7 @@ i32.const 16 i32.const 2115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -31638,7 +31636,7 @@ i32.const 16 i32.const 2116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -31653,7 +31651,7 @@ i32.const 16 i32.const 2117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31668,7 +31666,7 @@ i32.const 16 i32.const 2118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31683,7 +31681,7 @@ i32.const 16 i32.const 2119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -31698,7 +31696,7 @@ i32.const 16 i32.const 2120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -31713,7 +31711,7 @@ i32.const 16 i32.const 2121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31728,7 +31726,7 @@ i32.const 16 i32.const 2122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31743,7 +31741,7 @@ i32.const 16 i32.const 2123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -31758,7 +31756,7 @@ i32.const 16 i32.const 2124 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -31775,7 +31773,7 @@ i32.const 16 i32.const 2125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -31790,7 +31788,7 @@ i32.const 16 i32.const 2126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31805,7 +31803,7 @@ i32.const 16 i32.const 2127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31820,7 +31818,7 @@ i32.const 16 i32.const 2128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31835,7 +31833,7 @@ i32.const 16 i32.const 2129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31852,7 +31850,7 @@ i32.const 16 i32.const 2130 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -31867,7 +31865,7 @@ i32.const 16 i32.const 2131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31882,7 +31880,7 @@ i32.const 16 i32.const 2132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31897,7 +31895,7 @@ i32.const 16 i32.const 2133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31912,7 +31910,7 @@ i32.const 16 i32.const 2134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31929,7 +31927,7 @@ i32.const 16 i32.const 2135 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -31944,7 +31942,7 @@ i32.const 16 i32.const 2136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -31959,7 +31957,7 @@ i32.const 16 i32.const 2137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -31974,7 +31972,7 @@ i32.const 16 i32.const 2138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -31989,7 +31987,7 @@ i32.const 16 i32.const 2139 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32006,7 +32004,7 @@ i32.const 16 i32.const 2140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -32021,7 +32019,7 @@ i32.const 16 i32.const 2141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -32036,7 +32034,7 @@ i32.const 16 i32.const 2142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32051,7 +32049,7 @@ i32.const 16 i32.const 2143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32068,7 +32066,7 @@ i32.const 16 i32.const 2144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -32083,7 +32081,7 @@ i32.const 16 i32.const 2145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32098,7 +32096,7 @@ i32.const 16 i32.const 2146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32113,7 +32111,7 @@ i32.const 16 i32.const 2147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32128,7 +32126,7 @@ i32.const 16 i32.const 2148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32145,7 +32143,7 @@ i32.const 16 i32.const 2149 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32162,7 +32160,7 @@ i32.const 16 i32.const 2150 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32178,7 +32176,7 @@ i32.const 16 i32.const 2151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -32193,7 +32191,7 @@ i32.const 16 i32.const 2152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -32208,7 +32206,7 @@ i32.const 16 i32.const 2153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -32223,7 +32221,7 @@ i32.const 16 i32.const 2154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -32238,7 +32236,7 @@ i32.const 16 i32.const 2155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -32253,7 +32251,7 @@ i32.const 16 i32.const 2156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32268,7 +32266,7 @@ i32.const 16 i32.const 2157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32285,7 +32283,7 @@ i32.const 16 i32.const 2158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -32302,7 +32300,7 @@ i32.const 16 i32.const 2159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -32319,7 +32317,7 @@ i32.const 16 i32.const 2160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32336,7 +32334,7 @@ i32.const 16 i32.const 2161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -32354,7 +32352,7 @@ i32.const 16 i32.const 2162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -32369,7 +32367,7 @@ i32.const 16 i32.const 2163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -32384,7 +32382,7 @@ i32.const 16 i32.const 2164 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -32399,7 +32397,7 @@ i32.const 16 i32.const 2165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -32414,7 +32412,7 @@ i32.const 16 i32.const 2166 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -32429,7 +32427,7 @@ i32.const 16 i32.const 2180 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -32444,7 +32442,7 @@ i32.const 16 i32.const 2181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -32459,7 +32457,7 @@ i32.const 16 i32.const 2182 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -32474,7 +32472,7 @@ i32.const 16 i32.const 2183 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -32489,7 +32487,7 @@ i32.const 16 i32.const 2184 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -32504,7 +32502,7 @@ i32.const 16 i32.const 2185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -32519,7 +32517,7 @@ i32.const 16 i32.const 2186 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -32534,7 +32532,7 @@ i32.const 16 i32.const 2187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -32549,7 +32547,7 @@ i32.const 16 i32.const 2188 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -32564,7 +32562,7 @@ i32.const 16 i32.const 2189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -32579,7 +32577,7 @@ i32.const 16 i32.const 2192 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -32594,7 +32592,7 @@ i32.const 16 i32.const 2193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -32609,7 +32607,7 @@ i32.const 16 i32.const 2194 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -32624,7 +32622,7 @@ i32.const 16 i32.const 2195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -32639,7 +32637,7 @@ i32.const 16 i32.const 2196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -32654,7 +32652,7 @@ i32.const 16 i32.const 2197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -32669,7 +32667,7 @@ i32.const 16 i32.const 2198 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -32684,7 +32682,7 @@ i32.const 16 i32.const 2199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -32699,7 +32697,7 @@ i32.const 16 i32.const 2200 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -32714,7 +32712,7 @@ i32.const 16 i32.const 2201 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -32729,7 +32727,7 @@ i32.const 16 i32.const 2202 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -32745,7 +32743,7 @@ i32.const 16 i32.const 2203 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -32760,7 +32758,7 @@ i32.const 16 i32.const 2204 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -32775,7 +32773,7 @@ i32.const 16 i32.const 2205 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -32790,7 +32788,7 @@ i32.const 16 i32.const 2206 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -32805,7 +32803,7 @@ i32.const 16 i32.const 2207 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -32820,7 +32818,7 @@ i32.const 16 i32.const 2208 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -32835,7 +32833,7 @@ i32.const 16 i32.const 2209 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -32850,7 +32848,7 @@ i32.const 16 i32.const 2210 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -32865,7 +32863,7 @@ i32.const 16 i32.const 2211 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -32880,7 +32878,7 @@ i32.const 16 i32.const 2212 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -32895,7 +32893,7 @@ i32.const 16 i32.const 2213 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -32910,7 +32908,7 @@ i32.const 16 i32.const 2214 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -32925,7 +32923,7 @@ i32.const 16 i32.const 2215 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -32941,7 +32939,7 @@ i32.const 16 i32.const 2216 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -32956,7 +32954,7 @@ i32.const 16 i32.const 2217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -32971,7 +32969,7 @@ i32.const 16 i32.const 2218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -32986,7 +32984,7 @@ i32.const 16 i32.const 2219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33001,7 +32999,7 @@ i32.const 16 i32.const 2220 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33017,7 +33015,7 @@ i32.const 16 i32.const 2221 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -33032,7 +33030,7 @@ i32.const 16 i32.const 2222 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33047,7 +33045,7 @@ i32.const 16 i32.const 2223 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33062,7 +33060,7 @@ i32.const 16 i32.const 2224 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33077,7 +33075,7 @@ i32.const 16 i32.const 2225 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33093,7 +33091,7 @@ i32.const 16 i32.const 2226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -33108,7 +33106,7 @@ i32.const 16 i32.const 2227 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -33123,7 +33121,7 @@ i32.const 16 i32.const 2228 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -33138,7 +33136,7 @@ i32.const 16 i32.const 2229 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33153,7 +33151,7 @@ i32.const 16 i32.const 2230 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33169,7 +33167,7 @@ i32.const 16 i32.const 2231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -33184,7 +33182,7 @@ i32.const 16 i32.const 2232 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -33199,7 +33197,7 @@ i32.const 16 i32.const 2233 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33214,7 +33212,7 @@ i32.const 16 i32.const 2234 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33230,7 +33228,7 @@ i32.const 16 i32.const 2235 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -33245,7 +33243,7 @@ i32.const 16 i32.const 2236 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33260,7 +33258,7 @@ i32.const 16 i32.const 2237 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33275,7 +33273,7 @@ i32.const 16 i32.const 2238 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33290,7 +33288,7 @@ i32.const 16 i32.const 2239 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33306,7 +33304,7 @@ i32.const 16 i32.const 2240 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33322,7 +33320,7 @@ i32.const 16 i32.const 2241 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33338,7 +33336,7 @@ i32.const 16 i32.const 2242 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -33353,7 +33351,7 @@ i32.const 16 i32.const 2243 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -33368,7 +33366,7 @@ i32.const 16 i32.const 2244 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -33383,7 +33381,7 @@ i32.const 16 i32.const 2245 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -33398,7 +33396,7 @@ i32.const 16 i32.const 2246 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -33413,7 +33411,7 @@ i32.const 16 i32.const 2247 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33428,7 +33426,7 @@ i32.const 16 i32.const 2248 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33444,7 +33442,7 @@ i32.const 16 i32.const 2249 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -33460,7 +33458,7 @@ i32.const 16 i32.const 2250 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -33476,7 +33474,7 @@ i32.const 16 i32.const 2251 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33492,7 +33490,7 @@ i32.const 16 i32.const 2252 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -33509,7 +33507,7 @@ i32.const 16 i32.const 2253 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -33524,7 +33522,7 @@ i32.const 16 i32.const 2254 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -33539,7 +33537,7 @@ i32.const 16 i32.const 2255 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -33554,7 +33552,7 @@ i32.const 16 i32.const 2256 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -33569,7 +33567,7 @@ i32.const 16 i32.const 2257 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -33584,7 +33582,7 @@ i32.const 16 i32.const 2266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -33599,7 +33597,7 @@ i32.const 16 i32.const 2267 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -33614,7 +33612,7 @@ i32.const 16 i32.const 2268 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -33629,7 +33627,7 @@ i32.const 16 i32.const 2269 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -33644,7 +33642,7 @@ i32.const 16 i32.const 2270 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -33659,7 +33657,7 @@ i32.const 16 i32.const 2271 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -33674,7 +33672,7 @@ i32.const 16 i32.const 2272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -33689,7 +33687,7 @@ i32.const 16 i32.const 2273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -33704,7 +33702,7 @@ i32.const 16 i32.const 2274 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -33719,7 +33717,7 @@ i32.const 16 i32.const 2275 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -33734,7 +33732,7 @@ i32.const 16 i32.const 2278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -33749,7 +33747,7 @@ i32.const 16 i32.const 2279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -33764,7 +33762,7 @@ i32.const 16 i32.const 2280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -33779,7 +33777,7 @@ i32.const 16 i32.const 2281 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -33794,7 +33792,7 @@ i32.const 16 i32.const 2282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -33809,7 +33807,7 @@ i32.const 16 i32.const 2283 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -33824,7 +33822,7 @@ i32.const 16 i32.const 2284 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -33839,7 +33837,7 @@ i32.const 16 i32.const 2285 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -33854,7 +33852,7 @@ i32.const 16 i32.const 2286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -33869,7 +33867,7 @@ i32.const 16 i32.const 2287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -33884,7 +33882,7 @@ i32.const 16 i32.const 2288 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -33900,7 +33898,7 @@ i32.const 16 i32.const 2289 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -33915,7 +33913,7 @@ i32.const 16 i32.const 2290 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -33930,7 +33928,7 @@ i32.const 16 i32.const 2291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -33945,7 +33943,7 @@ i32.const 16 i32.const 2292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -33960,7 +33958,7 @@ i32.const 16 i32.const 2293 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -33975,7 +33973,7 @@ i32.const 16 i32.const 2294 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -33990,7 +33988,7 @@ i32.const 16 i32.const 2295 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -34005,7 +34003,7 @@ i32.const 16 i32.const 2296 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -34020,7 +34018,7 @@ i32.const 16 i32.const 2297 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -34035,7 +34033,7 @@ i32.const 16 i32.const 2298 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -34050,7 +34048,7 @@ i32.const 16 i32.const 2299 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -34065,7 +34063,7 @@ i32.const 16 i32.const 2300 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34080,7 +34078,7 @@ i32.const 16 i32.const 2301 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34096,7 +34094,7 @@ i32.const 16 i32.const 2302 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -34111,7 +34109,7 @@ i32.const 16 i32.const 2303 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34126,7 +34124,7 @@ i32.const 16 i32.const 2304 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34141,7 +34139,7 @@ i32.const 16 i32.const 2305 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34156,7 +34154,7 @@ i32.const 16 i32.const 2306 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34172,7 +34170,7 @@ i32.const 16 i32.const 2307 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -34187,7 +34185,7 @@ i32.const 16 i32.const 2308 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34202,7 +34200,7 @@ i32.const 16 i32.const 2309 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34217,7 +34215,7 @@ i32.const 16 i32.const 2310 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34232,7 +34230,7 @@ i32.const 16 i32.const 2311 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34248,7 +34246,7 @@ i32.const 16 i32.const 2312 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -34263,7 +34261,7 @@ i32.const 16 i32.const 2313 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -34278,7 +34276,7 @@ i32.const 16 i32.const 2314 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -34293,7 +34291,7 @@ i32.const 16 i32.const 2315 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34308,7 +34306,7 @@ i32.const 16 i32.const 2316 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34324,7 +34322,7 @@ i32.const 16 i32.const 2317 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -34339,7 +34337,7 @@ i32.const 16 i32.const 2318 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -34354,7 +34352,7 @@ i32.const 16 i32.const 2319 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34369,7 +34367,7 @@ i32.const 16 i32.const 2320 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34385,7 +34383,7 @@ i32.const 16 i32.const 2321 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -34400,7 +34398,7 @@ i32.const 16 i32.const 2322 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34415,7 +34413,7 @@ i32.const 16 i32.const 2323 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34430,7 +34428,7 @@ i32.const 16 i32.const 2324 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34445,7 +34443,7 @@ i32.const 16 i32.const 2325 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34461,7 +34459,7 @@ i32.const 16 i32.const 2326 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34477,7 +34475,7 @@ i32.const 16 i32.const 2327 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34493,7 +34491,7 @@ i32.const 16 i32.const 2328 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -34508,7 +34506,7 @@ i32.const 16 i32.const 2329 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -34523,7 +34521,7 @@ i32.const 16 i32.const 2330 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -34538,7 +34536,7 @@ i32.const 16 i32.const 2331 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -34553,7 +34551,7 @@ i32.const 16 i32.const 2332 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -34568,7 +34566,7 @@ i32.const 16 i32.const 2333 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34583,7 +34581,7 @@ i32.const 16 i32.const 2334 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34599,7 +34597,7 @@ i32.const 16 i32.const 2335 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -34615,7 +34613,7 @@ i32.const 16 i32.const 2336 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -34631,7 +34629,7 @@ i32.const 16 i32.const 2337 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34647,7 +34645,7 @@ i32.const 16 i32.const 2338 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -34664,7 +34662,7 @@ i32.const 16 i32.const 2339 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -34679,7 +34677,7 @@ i32.const 16 i32.const 2340 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -34694,7 +34692,7 @@ i32.const 16 i32.const 2341 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -34709,7 +34707,7 @@ i32.const 16 i32.const 2342 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -34724,7 +34722,7 @@ i32.const 16 i32.const 2343 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -34739,7 +34737,7 @@ i32.const 16 i32.const 2355 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -34754,7 +34752,7 @@ i32.const 16 i32.const 2356 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -34769,7 +34767,7 @@ i32.const 16 i32.const 2357 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -34784,7 +34782,7 @@ i32.const 16 i32.const 2358 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -34799,7 +34797,7 @@ i32.const 16 i32.const 2359 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -34814,7 +34812,7 @@ i32.const 16 i32.const 2360 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -34829,7 +34827,7 @@ i32.const 16 i32.const 2361 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -34844,7 +34842,7 @@ i32.const 16 i32.const 2362 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -34859,7 +34857,7 @@ i32.const 16 i32.const 2363 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -34874,7 +34872,7 @@ i32.const 16 i32.const 2364 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -34889,7 +34887,7 @@ i32.const 16 i32.const 2367 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -34904,7 +34902,7 @@ i32.const 16 i32.const 2368 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -34919,7 +34917,7 @@ i32.const 16 i32.const 2369 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -34934,7 +34932,7 @@ i32.const 16 i32.const 2370 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -34949,7 +34947,7 @@ i32.const 16 i32.const 2371 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -34964,7 +34962,7 @@ i32.const 16 i32.const 2372 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -34979,7 +34977,7 @@ i32.const 16 i32.const 2373 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -34994,7 +34992,7 @@ i32.const 16 i32.const 2374 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -35009,7 +35007,7 @@ i32.const 16 i32.const 2375 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -35024,7 +35022,7 @@ i32.const 16 i32.const 2376 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -35039,7 +35037,7 @@ i32.const 16 i32.const 2377 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -35054,7 +35052,7 @@ i32.const 16 i32.const 2378 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -35069,7 +35067,7 @@ i32.const 16 i32.const 2379 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -35085,7 +35083,7 @@ i32.const 16 i32.const 2380 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35100,7 +35098,7 @@ i32.const 16 i32.const 2381 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35115,7 +35113,7 @@ i32.const 16 i32.const 2382 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35130,7 +35128,7 @@ i32.const 16 i32.const 2383 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35145,7 +35143,7 @@ i32.const 16 i32.const 2384 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35160,7 +35158,7 @@ i32.const 16 i32.const 2385 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35175,7 +35173,7 @@ i32.const 16 i32.const 2386 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35190,7 +35188,7 @@ i32.const 16 i32.const 2387 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35205,7 +35203,7 @@ i32.const 16 i32.const 2388 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35220,7 +35218,7 @@ i32.const 16 i32.const 2389 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35236,7 +35234,7 @@ i32.const 16 i32.const 2390 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35251,7 +35249,7 @@ i32.const 16 i32.const 2391 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35267,7 +35265,7 @@ i32.const 16 i32.const 2392 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35282,7 +35280,7 @@ i32.const 16 i32.const 2393 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -35298,7 +35296,7 @@ i32.const 16 i32.const 2394 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -35313,7 +35311,7 @@ i32.const 16 i32.const 2395 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -35328,7 +35326,7 @@ i32.const 16 i32.const 2396 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -35344,7 +35342,7 @@ i32.const 16 i32.const 2397 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -35359,7 +35357,7 @@ i32.const 16 i32.const 2398 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -35374,7 +35372,7 @@ i32.const 16 i32.const 2399 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -35389,7 +35387,7 @@ i32.const 16 i32.const 2400 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -35404,7 +35402,7 @@ i32.const 16 i32.const 2401 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -35419,7 +35417,7 @@ i32.const 16 i32.const 2402 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -35435,7 +35433,7 @@ i32.const 16 i32.const 2403 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -35450,7 +35448,7 @@ i32.const 16 i32.const 2404 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -35465,7 +35463,7 @@ i32.const 16 i32.const 2405 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -35480,7 +35478,7 @@ i32.const 16 i32.const 2406 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -35495,7 +35493,7 @@ i32.const 16 i32.const 2407 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -35510,7 +35508,7 @@ i32.const 16 i32.const 2408 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -35526,7 +35524,7 @@ i32.const 16 i32.const 2409 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -35541,7 +35539,7 @@ i32.const 16 i32.const 2410 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -35556,7 +35554,7 @@ i32.const 16 i32.const 2411 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -35571,7 +35569,7 @@ i32.const 16 i32.const 2412 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -35586,7 +35584,7 @@ i32.const 16 i32.const 2413 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -35601,7 +35599,7 @@ i32.const 16 i32.const 2414 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -35616,7 +35614,7 @@ i32.const 16 i32.const 2415 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -35631,7 +35629,7 @@ i32.const 16 i32.const 2416 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -35647,7 +35645,7 @@ i32.const 16 i32.const 2417 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -35662,7 +35660,7 @@ i32.const 16 i32.const 2418 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -35677,7 +35675,7 @@ i32.const 16 i32.const 2419 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -35692,7 +35690,7 @@ i32.const 16 i32.const 2420 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -35707,7 +35705,7 @@ i32.const 16 i32.const 2421 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -35722,7 +35720,7 @@ i32.const 16 i32.const 2422 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -35737,7 +35735,7 @@ i32.const 16 i32.const 2423 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -35752,7 +35750,7 @@ i32.const 16 i32.const 2424 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -35767,7 +35765,7 @@ i32.const 16 i32.const 2425 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -35782,7 +35780,7 @@ i32.const 16 i32.const 2426 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -35798,7 +35796,7 @@ i32.const 16 i32.const 2427 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -35813,7 +35811,7 @@ i32.const 16 i32.const 2428 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -35828,7 +35826,7 @@ i32.const 16 i32.const 2429 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -35844,7 +35842,7 @@ i32.const 16 i32.const 2430 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -35859,7 +35857,7 @@ i32.const 16 i32.const 2431 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -35874,7 +35872,7 @@ i32.const 16 i32.const 2432 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -35890,7 +35888,7 @@ i32.const 16 i32.const 2433 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -35905,7 +35903,7 @@ i32.const 16 i32.const 2434 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -35920,7 +35918,7 @@ i32.const 16 i32.const 2435 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -35935,7 +35933,7 @@ i32.const 16 i32.const 2436 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -35951,7 +35949,7 @@ i32.const 16 i32.const 2437 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -35966,7 +35964,7 @@ i32.const 16 i32.const 2438 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -35981,7 +35979,7 @@ i32.const 16 i32.const 2439 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -35996,7 +35994,7 @@ i32.const 16 i32.const 2440 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36011,7 +36009,7 @@ i32.const 16 i32.const 2441 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36026,7 +36024,7 @@ i32.const 16 i32.const 2442 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36041,7 +36039,7 @@ i32.const 16 i32.const 2443 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36056,7 +36054,7 @@ i32.const 16 i32.const 2444 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36072,7 +36070,7 @@ i32.const 16 i32.const 2445 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36088,7 +36086,7 @@ i32.const 16 i32.const 2446 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36105,7 +36103,7 @@ i32.const 16 i32.const 2447 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36122,7 +36120,7 @@ i32.const 16 i32.const 2448 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36138,7 +36136,7 @@ i32.const 16 i32.const 2449 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36155,7 +36153,7 @@ i32.const 16 i32.const 2450 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36171,7 +36169,7 @@ i32.const 16 i32.const 2451 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36187,7 +36185,7 @@ i32.const 16 i32.const 2452 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36203,7 +36201,7 @@ i32.const 16 i32.const 2453 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -36219,7 +36217,7 @@ i32.const 16 i32.const 2454 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -36234,7 +36232,7 @@ i32.const 16 i32.const 2455 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -36249,7 +36247,7 @@ i32.const 16 i32.const 2456 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -36264,7 +36262,7 @@ i32.const 16 i32.const 2457 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -36279,7 +36277,7 @@ i32.const 16 i32.const 2458 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -36294,7 +36292,7 @@ i32.const 16 i32.const 2467 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -36309,7 +36307,7 @@ i32.const 16 i32.const 2468 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -36324,7 +36322,7 @@ i32.const 16 i32.const 2469 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -36339,7 +36337,7 @@ i32.const 16 i32.const 2470 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -36354,7 +36352,7 @@ i32.const 16 i32.const 2471 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -36369,7 +36367,7 @@ i32.const 16 i32.const 2472 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -36384,7 +36382,7 @@ i32.const 16 i32.const 2473 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -36399,7 +36397,7 @@ i32.const 16 i32.const 2474 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -36414,7 +36412,7 @@ i32.const 16 i32.const 2475 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -36429,7 +36427,7 @@ i32.const 16 i32.const 2476 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36444,7 +36442,7 @@ i32.const 16 i32.const 2479 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36459,7 +36457,7 @@ i32.const 16 i32.const 2480 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36474,7 +36472,7 @@ i32.const 16 i32.const 2481 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36489,7 +36487,7 @@ i32.const 16 i32.const 2482 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36504,7 +36502,7 @@ i32.const 16 i32.const 2483 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36519,7 +36517,7 @@ i32.const 16 i32.const 2484 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36534,7 +36532,7 @@ i32.const 16 i32.const 2485 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36549,7 +36547,7 @@ i32.const 16 i32.const 2486 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36564,7 +36562,7 @@ i32.const 16 i32.const 2487 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36579,7 +36577,7 @@ i32.const 16 i32.const 2488 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36594,7 +36592,7 @@ i32.const 16 i32.const 2489 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36609,7 +36607,7 @@ i32.const 16 i32.const 2490 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36624,7 +36622,7 @@ i32.const 16 i32.const 2491 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -36640,7 +36638,7 @@ i32.const 16 i32.const 2492 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36655,7 +36653,7 @@ i32.const 16 i32.const 2493 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36670,7 +36668,7 @@ i32.const 16 i32.const 2494 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36685,7 +36683,7 @@ i32.const 16 i32.const 2495 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36700,7 +36698,7 @@ i32.const 16 i32.const 2496 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36715,7 +36713,7 @@ i32.const 16 i32.const 2497 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36730,7 +36728,7 @@ i32.const 16 i32.const 2498 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36745,7 +36743,7 @@ i32.const 16 i32.const 2499 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36760,7 +36758,7 @@ i32.const 16 i32.const 2500 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36775,7 +36773,7 @@ i32.const 16 i32.const 2501 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36791,7 +36789,7 @@ i32.const 16 i32.const 2502 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36806,7 +36804,7 @@ i32.const 16 i32.const 2503 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36822,7 +36820,7 @@ i32.const 16 i32.const 2504 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36837,7 +36835,7 @@ i32.const 16 i32.const 2505 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -36853,7 +36851,7 @@ i32.const 16 i32.const 2506 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -36868,7 +36866,7 @@ i32.const 16 i32.const 2507 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -36883,7 +36881,7 @@ i32.const 16 i32.const 2508 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -36899,7 +36897,7 @@ i32.const 16 i32.const 2509 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -36914,7 +36912,7 @@ i32.const 16 i32.const 2510 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -36929,7 +36927,7 @@ i32.const 16 i32.const 2511 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -36944,7 +36942,7 @@ i32.const 16 i32.const 2512 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -36959,7 +36957,7 @@ i32.const 16 i32.const 2513 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -36974,7 +36972,7 @@ i32.const 16 i32.const 2514 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -36990,7 +36988,7 @@ i32.const 16 i32.const 2515 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -37005,7 +37003,7 @@ i32.const 16 i32.const 2516 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -37020,7 +37018,7 @@ i32.const 16 i32.const 2517 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -37035,7 +37033,7 @@ i32.const 16 i32.const 2518 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -37050,7 +37048,7 @@ i32.const 16 i32.const 2519 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -37065,7 +37063,7 @@ i32.const 16 i32.const 2520 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -37081,7 +37079,7 @@ i32.const 16 i32.const 2521 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -37096,7 +37094,7 @@ i32.const 16 i32.const 2522 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -37111,7 +37109,7 @@ i32.const 16 i32.const 2523 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -37126,7 +37124,7 @@ i32.const 16 i32.const 2524 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -37141,7 +37139,7 @@ i32.const 16 i32.const 2525 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -37156,7 +37154,7 @@ i32.const 16 i32.const 2526 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -37171,7 +37169,7 @@ i32.const 16 i32.const 2527 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -37186,7 +37184,7 @@ i32.const 16 i32.const 2528 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -37202,7 +37200,7 @@ i32.const 16 i32.const 2529 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -37217,7 +37215,7 @@ i32.const 16 i32.const 2530 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -37232,7 +37230,7 @@ i32.const 16 i32.const 2531 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -37247,7 +37245,7 @@ i32.const 16 i32.const 2532 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -37262,7 +37260,7 @@ i32.const 16 i32.const 2533 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -37277,7 +37275,7 @@ i32.const 16 i32.const 2534 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -37292,7 +37290,7 @@ i32.const 16 i32.const 2535 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -37307,7 +37305,7 @@ i32.const 16 i32.const 2536 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -37322,7 +37320,7 @@ i32.const 16 i32.const 2537 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -37337,7 +37335,7 @@ i32.const 16 i32.const 2538 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -37353,7 +37351,7 @@ i32.const 16 i32.const 2539 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -37368,7 +37366,7 @@ i32.const 16 i32.const 2540 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -37383,7 +37381,7 @@ i32.const 16 i32.const 2541 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -37399,7 +37397,7 @@ i32.const 16 i32.const 2542 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -37414,7 +37412,7 @@ i32.const 16 i32.const 2543 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -37429,7 +37427,7 @@ i32.const 16 i32.const 2544 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -37445,7 +37443,7 @@ i32.const 16 i32.const 2545 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -37460,7 +37458,7 @@ i32.const 16 i32.const 2546 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37475,7 +37473,7 @@ i32.const 16 i32.const 2547 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37490,7 +37488,7 @@ i32.const 16 i32.const 2548 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37506,7 +37504,7 @@ i32.const 16 i32.const 2549 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37521,7 +37519,7 @@ i32.const 16 i32.const 2550 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37536,7 +37534,7 @@ i32.const 16 i32.const 2551 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37551,7 +37549,7 @@ i32.const 16 i32.const 2552 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37566,7 +37564,7 @@ i32.const 16 i32.const 2553 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37581,7 +37579,7 @@ i32.const 16 i32.const 2554 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37596,7 +37594,7 @@ i32.const 16 i32.const 2555 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37611,7 +37609,7 @@ i32.const 16 i32.const 2556 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37627,7 +37625,7 @@ i32.const 16 i32.const 2557 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37643,7 +37641,7 @@ i32.const 16 i32.const 2558 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37660,7 +37658,7 @@ i32.const 16 i32.const 2559 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37677,7 +37675,7 @@ i32.const 16 i32.const 2560 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37693,7 +37691,7 @@ i32.const 16 i32.const 2561 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37710,7 +37708,7 @@ i32.const 16 i32.const 2562 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37726,7 +37724,7 @@ i32.const 16 i32.const 2563 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37742,7 +37740,7 @@ i32.const 16 i32.const 2564 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37758,7 +37756,7 @@ i32.const 16 i32.const 2565 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -37774,7 +37772,7 @@ i32.const 16 i32.const 2566 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -37789,7 +37787,7 @@ i32.const 16 i32.const 2567 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -37804,7 +37802,7 @@ i32.const 16 i32.const 2568 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -37819,7 +37817,7 @@ i32.const 16 i32.const 2569 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -37834,7 +37832,7 @@ i32.const 16 i32.const 2570 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $~lib/bindings/Math/random @@ -37870,7 +37868,7 @@ i32.const 16 i32.const 2579 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -37920,7 +37918,7 @@ i32.const 16 i32.const 2587 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -37944,7 +37942,7 @@ i32.const 16 i32.const 2601 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -37958,7 +37956,7 @@ i32.const 16 i32.const 2602 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -37972,7 +37970,7 @@ i32.const 16 i32.const 2603 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -37986,7 +37984,7 @@ i32.const 16 i32.const 2604 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -38000,7 +37998,7 @@ i32.const 16 i32.const 2605 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -38014,7 +38012,7 @@ i32.const 16 i32.const 2606 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -38028,7 +38026,7 @@ i32.const 16 i32.const 2607 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -38042,7 +38040,7 @@ i32.const 16 i32.const 2608 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -38056,7 +38054,7 @@ i32.const 16 i32.const 2609 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -38070,7 +38068,7 @@ i32.const 16 i32.const 2610 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -38084,7 +38082,7 @@ i32.const 16 i32.const 2613 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -38098,7 +38096,7 @@ i32.const 16 i32.const 2614 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -38114,7 +38112,7 @@ i32.const 16 i32.const 2615 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -38128,7 +38126,7 @@ i32.const 16 i32.const 2616 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -38142,7 +38140,7 @@ i32.const 16 i32.const 2617 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -38156,7 +38154,7 @@ i32.const 16 i32.const 2618 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -38170,7 +38168,7 @@ i32.const 16 i32.const 2619 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -38184,7 +38182,7 @@ i32.const 16 i32.const 2620 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -38198,7 +38196,7 @@ i32.const 16 i32.const 2621 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -38212,7 +38210,7 @@ i32.const 16 i32.const 2622 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -38226,7 +38224,7 @@ i32.const 16 i32.const 2623 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -38240,7 +38238,7 @@ i32.const 16 i32.const 2624 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -38254,7 +38252,7 @@ i32.const 16 i32.const 2625 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -38268,7 +38266,7 @@ i32.const 16 i32.const 2626 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -38282,7 +38280,7 @@ i32.const 16 i32.const 2627 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -38296,7 +38294,7 @@ i32.const 16 i32.const 2628 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -38310,7 +38308,7 @@ i32.const 16 i32.const 2629 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -38324,7 +38322,7 @@ i32.const 16 i32.const 2638 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -38338,7 +38336,7 @@ i32.const 16 i32.const 2639 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -38352,7 +38350,7 @@ i32.const 16 i32.const 2640 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -38366,7 +38364,7 @@ i32.const 16 i32.const 2641 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -38380,7 +38378,7 @@ i32.const 16 i32.const 2642 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -38394,7 +38392,7 @@ i32.const 16 i32.const 2643 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -38408,7 +38406,7 @@ i32.const 16 i32.const 2644 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -38422,7 +38420,7 @@ i32.const 16 i32.const 2645 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -38436,7 +38434,7 @@ i32.const 16 i32.const 2646 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -38450,7 +38448,7 @@ i32.const 16 i32.const 2647 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -38464,7 +38462,7 @@ i32.const 16 i32.const 2650 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -38478,7 +38476,7 @@ i32.const 16 i32.const 2651 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -38494,7 +38492,7 @@ i32.const 16 i32.const 2652 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -38508,7 +38506,7 @@ i32.const 16 i32.const 2653 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -38522,7 +38520,7 @@ i32.const 16 i32.const 2654 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -38536,7 +38534,7 @@ i32.const 16 i32.const 2655 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -38550,7 +38548,7 @@ i32.const 16 i32.const 2656 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -38564,7 +38562,7 @@ i32.const 16 i32.const 2657 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -38578,7 +38576,7 @@ i32.const 16 i32.const 2658 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -38592,7 +38590,7 @@ i32.const 16 i32.const 2659 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -38606,7 +38604,7 @@ i32.const 16 i32.const 2660 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -38620,7 +38618,7 @@ i32.const 16 i32.const 2661 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -38634,7 +38632,7 @@ i32.const 16 i32.const 2662 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -38648,7 +38646,7 @@ i32.const 16 i32.const 2663 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -38662,7 +38660,7 @@ i32.const 16 i32.const 2664 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -38676,7 +38674,7 @@ i32.const 16 i32.const 2665 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -38690,7 +38688,7 @@ i32.const 16 i32.const 2666 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -38704,7 +38702,7 @@ i32.const 16 i32.const 2677 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -38718,7 +38716,7 @@ i32.const 16 i32.const 2678 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -38732,7 +38730,7 @@ i32.const 16 i32.const 2679 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -38746,7 +38744,7 @@ i32.const 16 i32.const 2680 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -38760,7 +38758,7 @@ i32.const 16 i32.const 2681 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -38774,7 +38772,7 @@ i32.const 16 i32.const 2682 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -38788,7 +38786,7 @@ i32.const 16 i32.const 2683 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -38803,7 +38801,7 @@ i32.const 16 i32.const 2684 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -38817,7 +38815,7 @@ i32.const 16 i32.const 2685 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -38831,7 +38829,7 @@ i32.const 16 i32.const 2693 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -38845,7 +38843,7 @@ i32.const 16 i32.const 2694 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -38859,7 +38857,7 @@ i32.const 16 i32.const 2695 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -38873,7 +38871,7 @@ i32.const 16 i32.const 2696 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -38887,7 +38885,7 @@ i32.const 16 i32.const 2697 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -38901,7 +38899,7 @@ i32.const 16 i32.const 2698 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -38915,7 +38913,7 @@ i32.const 16 i32.const 2699 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -38930,7 +38928,7 @@ i32.const 16 i32.const 2700 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -38944,7 +38942,7 @@ i32.const 16 i32.const 2701 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMath.signbit|inlined.4 (result i32) @@ -38970,7 +38968,7 @@ i32.const 16 i32.const 2707 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMath.signbit|inlined.5 (result i32) @@ -38996,7 +38994,7 @@ i32.const 16 i32.const 2708 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMath.signbit|inlined.6 (result i32) @@ -39022,7 +39020,7 @@ i32.const 16 i32.const 2709 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMath.signbit|inlined.7 (result i32) @@ -39048,7 +39046,7 @@ i32.const 16 i32.const 2710 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMath.signbit|inlined.8 (result i32) @@ -39074,7 +39072,7 @@ i32.const 16 i32.const 2711 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMath.signbit|inlined.9 (result i32) @@ -39101,7 +39099,7 @@ i32.const 16 i32.const 2712 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMath.signbit|inlined.10 (result i32) @@ -39127,7 +39125,7 @@ i32.const 16 i32.const 2713 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMath.signbit|inlined.11 (result i32) @@ -39154,7 +39152,7 @@ i32.const 16 i32.const 2714 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMathf.signbit|inlined.4 (result i32) @@ -39179,7 +39177,7 @@ i32.const 16 i32.const 2720 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMathf.signbit|inlined.5 (result i32) @@ -39204,7 +39202,7 @@ i32.const 16 i32.const 2721 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMathf.signbit|inlined.6 (result i32) @@ -39229,7 +39227,7 @@ i32.const 16 i32.const 2722 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMathf.signbit|inlined.7 (result i32) @@ -39254,7 +39252,7 @@ i32.const 16 i32.const 2723 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMathf.signbit|inlined.8 (result i32) @@ -39279,7 +39277,7 @@ i32.const 16 i32.const 2724 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMathf.signbit|inlined.9 (result i32) @@ -39305,7 +39303,7 @@ i32.const 16 i32.const 2725 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMathf.signbit|inlined.10 (result i32) @@ -39330,7 +39328,7 @@ i32.const 16 i32.const 2726 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/math/NativeMathf.signbit|inlined.11 (result i32) @@ -39356,7 +39354,7 @@ i32.const 16 i32.const 2727 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -39371,7 +39369,7 @@ i32.const 16 i32.const 2738 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -39386,7 +39384,7 @@ i32.const 16 i32.const 2739 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -39401,7 +39399,7 @@ i32.const 16 i32.const 2740 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -39416,7 +39414,7 @@ i32.const 16 i32.const 2741 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -39431,7 +39429,7 @@ i32.const 16 i32.const 2742 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 @@ -39446,7 +39444,7 @@ i32.const 16 i32.const 2743 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 @@ -39461,7 +39459,7 @@ i32.const 16 i32.const 2744 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 @@ -39476,7 +39474,7 @@ i32.const 16 i32.const 2745 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 @@ -39491,7 +39489,7 @@ i32.const 16 i32.const 2746 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 @@ -39506,7 +39504,7 @@ i32.const 16 i32.const 2747 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -39521,7 +39519,7 @@ i32.const 16 i32.const 2750 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -39536,7 +39534,7 @@ i32.const 16 i32.const 2751 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -39551,7 +39549,7 @@ i32.const 16 i32.const 2752 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -39566,7 +39564,7 @@ i32.const 16 i32.const 2753 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -39581,7 +39579,7 @@ i32.const 16 i32.const 2754 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -39596,7 +39594,7 @@ i32.const 16 i32.const 2755 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -39611,7 +39609,7 @@ i32.const 16 i32.const 2756 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -39626,7 +39624,7 @@ i32.const 16 i32.const 2757 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -39641,7 +39639,7 @@ i32.const 16 i32.const 2758 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -39656,7 +39654,7 @@ i32.const 16 i32.const 2759 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -39671,7 +39669,7 @@ i32.const 16 i32.const 2760 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -39687,7 +39685,7 @@ i32.const 16 i32.const 2761 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -39702,7 +39700,7 @@ i32.const 16 i32.const 2762 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -39717,7 +39715,7 @@ i32.const 16 i32.const 2763 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -39732,7 +39730,7 @@ i32.const 16 i32.const 2764 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -39747,7 +39745,7 @@ i32.const 16 i32.const 2765 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -39762,7 +39760,7 @@ i32.const 16 i32.const 2766 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -39777,7 +39775,7 @@ i32.const 16 i32.const 2767 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -39792,7 +39790,7 @@ i32.const 16 i32.const 2768 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -39807,7 +39805,7 @@ i32.const 16 i32.const 2769 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -39822,7 +39820,7 @@ i32.const 16 i32.const 2770 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -39837,7 +39835,7 @@ i32.const 16 i32.const 2771 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -39852,7 +39850,7 @@ i32.const 16 i32.const 2772 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -39867,7 +39865,7 @@ i32.const 16 i32.const 2773 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -39883,7 +39881,7 @@ i32.const 16 i32.const 2774 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -39898,7 +39896,7 @@ i32.const 16 i32.const 2775 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -39913,7 +39911,7 @@ i32.const 16 i32.const 2776 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -39928,7 +39926,7 @@ i32.const 16 i32.const 2777 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -39943,7 +39941,7 @@ i32.const 16 i32.const 2778 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -39959,7 +39957,7 @@ i32.const 16 i32.const 2779 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -39974,7 +39972,7 @@ i32.const 16 i32.const 2780 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -39989,7 +39987,7 @@ i32.const 16 i32.const 2781 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -40004,7 +40002,7 @@ i32.const 16 i32.const 2782 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -40019,7 +40017,7 @@ i32.const 16 i32.const 2783 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -40035,7 +40033,7 @@ i32.const 16 i32.const 2784 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -40050,7 +40048,7 @@ i32.const 16 i32.const 2785 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -40065,7 +40063,7 @@ i32.const 16 i32.const 2786 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -40080,7 +40078,7 @@ i32.const 16 i32.const 2787 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40095,7 +40093,7 @@ i32.const 16 i32.const 2788 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40111,7 +40109,7 @@ i32.const 16 i32.const 2789 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -40126,7 +40124,7 @@ i32.const 16 i32.const 2790 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -40141,7 +40139,7 @@ i32.const 16 i32.const 2791 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40156,7 +40154,7 @@ i32.const 16 i32.const 2792 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40172,7 +40170,7 @@ i32.const 16 i32.const 2793 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -40187,7 +40185,7 @@ i32.const 16 i32.const 2794 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40202,7 +40200,7 @@ i32.const 16 i32.const 2795 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40217,7 +40215,7 @@ i32.const 16 i32.const 2796 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40232,7 +40230,7 @@ i32.const 16 i32.const 2797 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40248,7 +40246,7 @@ i32.const 16 i32.const 2798 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40264,7 +40262,7 @@ i32.const 16 i32.const 2799 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40280,7 +40278,7 @@ i32.const 16 i32.const 2800 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -40295,7 +40293,7 @@ i32.const 16 i32.const 2801 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -40310,7 +40308,7 @@ i32.const 16 i32.const 2802 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -40325,7 +40323,7 @@ i32.const 16 i32.const 2803 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -40340,7 +40338,7 @@ i32.const 16 i32.const 2804 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -40355,7 +40353,7 @@ i32.const 16 i32.const 2805 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40370,7 +40368,7 @@ i32.const 16 i32.const 2806 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40386,7 +40384,7 @@ i32.const 16 i32.const 2807 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -40402,7 +40400,7 @@ i32.const 16 i32.const 2808 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -40418,7 +40416,7 @@ i32.const 16 i32.const 2809 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40434,7 +40432,7 @@ i32.const 16 i32.const 2810 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -40451,7 +40449,7 @@ i32.const 16 i32.const 2811 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -40466,7 +40464,7 @@ i32.const 16 i32.const 2812 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -40481,7 +40479,7 @@ i32.const 16 i32.const 2813 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.75 @@ -40496,7 +40494,7 @@ i32.const 16 i32.const 2814 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.75 @@ -40511,7 +40509,7 @@ i32.const 16 i32.const 2815 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 8e-323 @@ -40526,7 +40524,7 @@ i32.const 16 i32.const 2816 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -40541,7 +40539,7 @@ i32.const 16 i32.const 2825 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -40556,7 +40554,7 @@ i32.const 16 i32.const 2826 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -40571,7 +40569,7 @@ i32.const 16 i32.const 2827 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -40586,7 +40584,7 @@ i32.const 16 i32.const 2828 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -40601,7 +40599,7 @@ i32.const 16 i32.const 2829 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 @@ -40616,7 +40614,7 @@ i32.const 16 i32.const 2830 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 @@ -40631,7 +40629,7 @@ i32.const 16 i32.const 2831 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 @@ -40646,7 +40644,7 @@ i32.const 16 i32.const 2832 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 @@ -40661,7 +40659,7 @@ i32.const 16 i32.const 2833 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 @@ -40676,7 +40674,7 @@ i32.const 16 i32.const 2834 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -40691,7 +40689,7 @@ i32.const 16 i32.const 2837 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -40706,7 +40704,7 @@ i32.const 16 i32.const 2838 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -40721,7 +40719,7 @@ i32.const 16 i32.const 2839 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -40736,7 +40734,7 @@ i32.const 16 i32.const 2840 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -40751,7 +40749,7 @@ i32.const 16 i32.const 2841 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -40766,7 +40764,7 @@ i32.const 16 i32.const 2842 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -40781,7 +40779,7 @@ i32.const 16 i32.const 2843 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -40796,7 +40794,7 @@ i32.const 16 i32.const 2844 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -40811,7 +40809,7 @@ i32.const 16 i32.const 2845 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -40826,7 +40824,7 @@ i32.const 16 i32.const 2846 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -40841,7 +40839,7 @@ i32.const 16 i32.const 2847 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -40857,7 +40855,7 @@ i32.const 16 i32.const 2848 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -40872,7 +40870,7 @@ i32.const 16 i32.const 2849 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -40887,7 +40885,7 @@ i32.const 16 i32.const 2850 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -40902,7 +40900,7 @@ i32.const 16 i32.const 2851 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -40917,7 +40915,7 @@ i32.const 16 i32.const 2852 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -40932,7 +40930,7 @@ i32.const 16 i32.const 2853 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -40947,7 +40945,7 @@ i32.const 16 i32.const 2854 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -40962,7 +40960,7 @@ i32.const 16 i32.const 2855 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -40977,7 +40975,7 @@ i32.const 16 i32.const 2856 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -40992,7 +40990,7 @@ i32.const 16 i32.const 2857 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2 @@ -41007,7 +41005,7 @@ i32.const 16 i32.const 2858 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2 @@ -41022,7 +41020,7 @@ i32.const 16 i32.const 2859 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41037,7 +41035,7 @@ i32.const 16 i32.const 2860 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41053,7 +41051,7 @@ i32.const 16 i32.const 2861 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -41068,7 +41066,7 @@ i32.const 16 i32.const 2862 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -41083,7 +41081,7 @@ i32.const 16 i32.const 2863 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -41098,7 +41096,7 @@ i32.const 16 i32.const 2864 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -41113,7 +41111,7 @@ i32.const 16 i32.const 2865 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -41129,7 +41127,7 @@ i32.const 16 i32.const 2866 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -41144,7 +41142,7 @@ i32.const 16 i32.const 2867 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -41159,7 +41157,7 @@ i32.const 16 i32.const 2868 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -41174,7 +41172,7 @@ i32.const 16 i32.const 2869 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -41189,7 +41187,7 @@ i32.const 16 i32.const 2870 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -41205,7 +41203,7 @@ i32.const 16 i32.const 2871 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -41220,7 +41218,7 @@ i32.const 16 i32.const 2872 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -41235,7 +41233,7 @@ i32.const 16 i32.const 2873 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -41250,7 +41248,7 @@ i32.const 16 i32.const 2874 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41265,7 +41263,7 @@ i32.const 16 i32.const 2875 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41281,7 +41279,7 @@ i32.const 16 i32.const 2876 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -41296,7 +41294,7 @@ i32.const 16 i32.const 2877 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -41311,7 +41309,7 @@ i32.const 16 i32.const 2878 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41326,7 +41324,7 @@ i32.const 16 i32.const 2879 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41342,7 +41340,7 @@ i32.const 16 i32.const 2880 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -41357,7 +41355,7 @@ i32.const 16 i32.const 2881 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41372,7 +41370,7 @@ i32.const 16 i32.const 2882 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41387,7 +41385,7 @@ i32.const 16 i32.const 2883 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41402,7 +41400,7 @@ i32.const 16 i32.const 2884 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41418,7 +41416,7 @@ i32.const 16 i32.const 2885 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41434,7 +41432,7 @@ i32.const 16 i32.const 2886 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41450,7 +41448,7 @@ i32.const 16 i32.const 2887 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -41465,7 +41463,7 @@ i32.const 16 i32.const 2888 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -41480,7 +41478,7 @@ i32.const 16 i32.const 2889 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -41495,7 +41493,7 @@ i32.const 16 i32.const 2890 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -41510,7 +41508,7 @@ i32.const 16 i32.const 2891 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -41525,7 +41523,7 @@ i32.const 16 i32.const 2892 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41540,7 +41538,7 @@ i32.const 16 i32.const 2893 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41556,7 +41554,7 @@ i32.const 16 i32.const 2894 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -41572,7 +41570,7 @@ i32.const 16 i32.const 2895 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -41588,7 +41586,7 @@ i32.const 16 i32.const 2896 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41604,7 +41602,7 @@ i32.const 16 i32.const 2897 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41621,7 +41619,7 @@ i32.const 16 i32.const 2898 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -41636,7 +41634,7 @@ i32.const 16 i32.const 2899 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -41651,7 +41649,7 @@ i32.const 16 i32.const 2900 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.75 @@ -41666,7 +41664,7 @@ i32.const 16 i32.const 2901 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.75 @@ -41681,7 +41679,7 @@ i32.const 16 i32.const 2902 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 @@ -41696,7 +41694,7 @@ i32.const 16 i32.const 2903 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -41710,7 +41708,7 @@ i32.const 16 i32.const 2941 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -41724,7 +41722,7 @@ i32.const 16 i32.const 2942 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -41738,7 +41736,7 @@ i32.const 16 i32.const 2943 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -41752,7 +41750,7 @@ i32.const 16 i32.const 2944 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -41766,7 +41764,7 @@ i32.const 16 i32.const 2945 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -41780,7 +41778,7 @@ i32.const 16 i32.const 2946 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -41794,7 +41792,7 @@ i32.const 16 i32.const 2947 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -41808,7 +41806,7 @@ i32.const 16 i32.const 2948 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -41822,7 +41820,7 @@ i32.const 16 i32.const 2949 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -41836,7 +41834,7 @@ i32.const 16 i32.const 2950 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -41850,7 +41848,7 @@ i32.const 16 i32.const 2953 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -41864,7 +41862,7 @@ i32.const 16 i32.const 2954 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41878,7 +41876,7 @@ i32.const 16 i32.const 2955 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -41893,7 +41891,7 @@ i32.const 16 i32.const 2956 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -41907,7 +41905,7 @@ i32.const 16 i32.const 2957 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.862645149230957e-09 @@ -41921,7 +41919,7 @@ i32.const 16 i32.const 2960 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.862645149230957e-09 @@ -41935,7 +41933,7 @@ i32.const 16 i32.const 2961 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 @@ -41949,7 +41947,7 @@ i32.const 16 i32.const 2962 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754943508222875e-38 @@ -41963,7 +41961,7 @@ i32.const 16 i32.const 2963 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -41979,7 +41977,7 @@ i32.const 16 i32.const 2964 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 @@ -41995,7 +41993,7 @@ i32.const 16 i32.const 2965 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.175494490952134e-38 @@ -42009,7 +42007,7 @@ i32.const 16 i32.const 2966 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754946310819804e-38 @@ -42023,7 +42021,7 @@ i32.const 16 i32.const 2967 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509880009953429e-38 @@ -42037,7 +42035,7 @@ i32.const 16 i32.const 2968 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 @@ -42051,7 +42049,7 @@ i32.const 16 i32.const 2969 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509895424236536e-38 @@ -42065,7 +42063,7 @@ i32.const 16 i32.const 2970 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 @@ -42079,7 +42077,7 @@ i32.const 16 i32.const 2971 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1175870895385742e-08 @@ -42093,7 +42091,7 @@ i32.const 16 i32.const 2972 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.4901161193847656e-08 @@ -42107,7 +42105,7 @@ i32.const 16 i32.const 2973 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.000244140625 @@ -42121,7 +42119,7 @@ i32.const 16 i32.const 2974 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.0003662109375 @@ -42135,7 +42133,7 @@ i32.const 16 i32.const 2975 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.175494490952134e-38 @@ -42149,7 +42147,7 @@ i32.const 16 i32.const 2976 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754946310819804e-38 @@ -42163,7 +42161,7 @@ i32.const 16 i32.const 2977 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509880009953429e-38 @@ -42177,7 +42175,7 @@ i32.const 16 i32.const 2978 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.350988701644575e-38 @@ -42191,7 +42189,7 @@ i32.const 16 i32.const 2979 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509895424236536e-38 @@ -42205,7 +42203,7 @@ i32.const 16 i32.const 2980 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -4.70197740328915e-38 @@ -42219,7 +42217,7 @@ i32.const 16 i32.const 2981 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1175870895385742e-08 @@ -42233,7 +42231,7 @@ i32.const 16 i32.const 2982 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.4901161193847656e-08 @@ -42247,7 +42245,7 @@ i32.const 16 i32.const 2983 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.000244140625 @@ -42261,7 +42259,7 @@ i32.const 16 i32.const 2984 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.0003662109375 @@ -42275,7 +42273,7 @@ i32.const 16 i32.const 2985 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 @@ -42291,7 +42289,7 @@ i32.const 16 i32.const 2986 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.2611686178923354e-44 @@ -42307,7 +42305,7 @@ i32.const 16 i32.const 2987 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 @@ -42323,7 +42321,7 @@ i32.const 16 i32.const 2988 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 @@ -42339,7 +42337,7 @@ i32.const 16 i32.const 2989 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754940705625946e-38 @@ -42355,7 +42353,7 @@ i32.const 16 i32.const 2990 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754942106924411e-38 @@ -42371,7 +42369,7 @@ i32.const 16 i32.const 2991 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.802596928649634e-45 @@ -42387,7 +42385,7 @@ i32.const 16 i32.const 2992 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.2611686178923354e-44 @@ -42403,7 +42401,7 @@ i32.const 16 i32.const 2993 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 @@ -42419,7 +42417,7 @@ i32.const 16 i32.const 2994 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -5.877471754111438e-39 @@ -42435,7 +42433,7 @@ i32.const 16 i32.const 2995 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754940705625946e-38 @@ -42451,7 +42449,7 @@ i32.const 16 i32.const 2996 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 @@ -42467,7 +42465,7 @@ i32.const 16 i32.const 2997 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 255.99993896484375 @@ -42481,7 +42479,7 @@ i32.const 16 i32.const 3000 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5033165 @@ -42495,7 +42493,7 @@ i32.const 16 i32.const 3001 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 421657440 @@ -42509,7 +42507,7 @@ i32.const 16 i32.const 3002 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2147483392 @@ -42523,7 +42521,7 @@ i32.const 16 i32.const 3003 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 68719476736 @@ -42537,7 +42535,7 @@ i32.const 16 i32.const 3004 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 549755813888 @@ -42551,7 +42549,7 @@ i32.const 16 i32.const 3005 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_VALUE @@ -42565,7 +42563,7 @@ i32.const 16 i32.const 3006 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -255.99993896484375 @@ -42579,7 +42577,7 @@ i32.const 16 i32.const 3007 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -5033165 @@ -42593,7 +42591,7 @@ i32.const 16 i32.const 3008 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -421657440 @@ -42607,7 +42605,7 @@ i32.const 16 i32.const 3009 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2147483392 @@ -42621,7 +42619,7 @@ i32.const 16 i32.const 3010 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -68719476736 @@ -42635,7 +42633,7 @@ i32.const 16 i32.const 3011 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -549755813888 @@ -42649,7 +42647,7 @@ i32.const 16 i32.const 3012 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_VALUE @@ -42664,7 +42662,7 @@ i32.const 16 i32.const 3013 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -42678,7 +42676,7 @@ i32.const 16 i32.const 3025 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -42692,7 +42690,7 @@ i32.const 16 i32.const 3026 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -42706,7 +42704,7 @@ i32.const 16 i32.const 3027 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -42720,7 +42718,7 @@ i32.const 16 i32.const 3028 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -42734,7 +42732,7 @@ i32.const 16 i32.const 3029 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -42748,7 +42746,7 @@ i32.const 16 i32.const 3030 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -42762,7 +42760,7 @@ i32.const 16 i32.const 3031 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -42776,7 +42774,7 @@ i32.const 16 i32.const 3032 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -42790,7 +42788,7 @@ i32.const 16 i32.const 3033 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -42804,7 +42802,7 @@ i32.const 16 i32.const 3034 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -42818,7 +42816,7 @@ i32.const 16 i32.const 3037 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -42832,7 +42830,7 @@ i32.const 16 i32.const 3038 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -42846,7 +42844,7 @@ i32.const 16 i32.const 3039 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -42862,7 +42860,7 @@ i32.const 16 i32.const 3040 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -42876,7 +42874,7 @@ i32.const 16 i32.const 3041 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -42890,7 +42888,7 @@ i32.const 16 i32.const 3050 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -42904,7 +42902,7 @@ i32.const 16 i32.const 3051 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -42918,7 +42916,7 @@ i32.const 16 i32.const 3052 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -42932,7 +42930,7 @@ i32.const 16 i32.const 3053 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -42946,7 +42944,7 @@ i32.const 16 i32.const 3054 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -42960,7 +42958,7 @@ i32.const 16 i32.const 3055 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -42974,7 +42972,7 @@ i32.const 16 i32.const 3056 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -42988,7 +42986,7 @@ i32.const 16 i32.const 3057 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -43002,7 +43000,7 @@ i32.const 16 i32.const 3058 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -43016,7 +43014,7 @@ i32.const 16 i32.const 3059 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -43030,7 +43028,7 @@ i32.const 16 i32.const 3062 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -43044,7 +43042,7 @@ i32.const 16 i32.const 3063 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -43058,7 +43056,7 @@ i32.const 16 i32.const 3064 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -43074,7 +43072,7 @@ i32.const 16 i32.const 3065 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -43088,7 +43086,7 @@ i32.const 16 i32.const 3066 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -43102,7 +43100,7 @@ i32.const 16 i32.const 3078 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -43116,7 +43114,7 @@ i32.const 16 i32.const 3079 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -43130,7 +43128,7 @@ i32.const 16 i32.const 3080 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -43144,7 +43142,7 @@ i32.const 16 i32.const 3081 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -43158,7 +43156,7 @@ i32.const 16 i32.const 3082 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -43172,7 +43170,7 @@ i32.const 16 i32.const 3083 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -43186,7 +43184,7 @@ i32.const 16 i32.const 3084 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -43200,7 +43198,7 @@ i32.const 16 i32.const 3085 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -43214,7 +43212,7 @@ i32.const 16 i32.const 3086 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -43228,7 +43226,7 @@ i32.const 16 i32.const 3087 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -43242,7 +43240,7 @@ i32.const 16 i32.const 3090 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -43256,7 +43254,7 @@ i32.const 16 i32.const 3091 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -43271,7 +43269,7 @@ i32.const 16 i32.const 3092 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -43285,7 +43283,7 @@ i32.const 16 i32.const 3093 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -43299,7 +43297,7 @@ i32.const 16 i32.const 3094 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -43313,7 +43311,7 @@ i32.const 16 i32.const 3095 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -43327,7 +43325,7 @@ i32.const 16 i32.const 3096 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4 @@ -43341,7 +43339,7 @@ i32.const 16 i32.const 3097 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e-323 @@ -43355,7 +43353,7 @@ i32.const 16 i32.const 3098 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5e-323 @@ -43369,7 +43367,7 @@ i32.const 16 i32.const 3099 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -43383,7 +43381,7 @@ i32.const 16 i32.const 3100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -5e-324 @@ -43397,7 +43395,7 @@ i32.const 16 i32.const 3101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999999999999999 @@ -43411,7 +43409,7 @@ i32.const 16 i32.const 3102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.9999999999999998 @@ -43425,7 +43423,7 @@ i32.const 16 i32.const 3103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000000000000002 @@ -43439,7 +43437,7 @@ i32.const 16 i32.const 3104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.0000000000000004 @@ -43453,7 +43451,7 @@ i32.const 16 i32.const 3105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000000000000002 @@ -43467,7 +43465,7 @@ i32.const 16 i32.const 3106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999999999999999 @@ -43481,7 +43479,7 @@ i32.const 16 i32.const 3107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1797693134862315708145274e284 @@ -43495,7 +43493,7 @@ i32.const 16 i32.const 3108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -43509,7 +43507,7 @@ i32.const 16 i32.const 3109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 179769313486231490980915e285 @@ -43523,7 +43521,7 @@ i32.const 16 i32.const 3110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862314111473026e284 @@ -43537,7 +43535,7 @@ i32.const 16 i32.const 3111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862313313136902e284 @@ -43551,7 +43549,7 @@ i32.const 16 i32.const 3112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862312514800778e284 @@ -43565,7 +43563,7 @@ i32.const 16 i32.const 3113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862311716464655e284 @@ -43579,7 +43577,7 @@ i32.const 16 i32.const 3114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862310918128531e284 @@ -43593,7 +43591,7 @@ i32.const 16 i32.const 3115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862310119792407e284 @@ -43607,7 +43605,7 @@ i32.const 16 i32.const 3116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862309321456283e284 @@ -43621,7 +43619,7 @@ i32.const 16 i32.const 3117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862308523120159e284 @@ -43635,7 +43633,7 @@ i32.const 16 i32.const 3118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862307724784036e284 @@ -43649,7 +43647,7 @@ i32.const 16 i32.const 3119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507203e-308 @@ -43663,7 +43661,7 @@ i32.const 16 i32.const 3120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507205e-308 @@ -43677,7 +43675,7 @@ i32.const 16 i32.const 3121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507207e-308 @@ -43691,7 +43689,7 @@ i32.const 16 i32.const 3122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507209e-308 @@ -43705,7 +43703,7 @@ i32.const 16 i32.const 3123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.225073858507211e-308 @@ -43719,7 +43717,7 @@ i32.const 16 i32.const 3124 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072127e-308 @@ -43733,7 +43731,7 @@ i32.const 16 i32.const 3125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072147e-308 @@ -43747,7 +43745,7 @@ i32.const 16 i32.const 3126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072167e-308 @@ -43761,7 +43759,7 @@ i32.const 16 i32.const 3127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072187e-308 @@ -43775,7 +43773,7 @@ i32.const 16 i32.const 3128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072207e-308 @@ -43789,7 +43787,7 @@ i32.const 16 i32.const 3129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072226e-308 @@ -43803,7 +43801,7 @@ i32.const 16 i32.const 3130 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072246e-308 @@ -43817,7 +43815,7 @@ i32.const 16 i32.const 3131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072266e-308 @@ -43831,7 +43829,7 @@ i32.const 16 i32.const 3132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072286e-308 @@ -43845,7 +43843,7 @@ i32.const 16 i32.const 3133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 92.35130391890645 @@ -43859,7 +43857,7 @@ i32.const 16 i32.const 3134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 93.3599596388916 @@ -43873,7 +43871,7 @@ i32.const 16 i32.const 3135 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 95.42049628886124 @@ -43887,7 +43885,7 @@ i32.const 16 i32.const 3136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 95.87916941885449 @@ -43901,7 +43899,7 @@ i32.const 16 i32.const 3137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 96.84804174884022 @@ -43915,7 +43913,7 @@ i32.const 16 i32.const 3138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 97.43639050883155 @@ -43929,7 +43927,7 @@ i32.const 16 i32.const 3139 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 97.50957979883047 @@ -43943,7 +43941,7 @@ i32.const 16 i32.const 3140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 97.80496893882612 @@ -43957,7 +43955,7 @@ i32.const 16 i32.const 3141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 98.2751822888192 @@ -43971,7 +43969,7 @@ i32.const 16 i32.const 3142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 99.47293564880155 @@ -43985,7 +43983,7 @@ i32.const 16 i32.const 3143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 100.57047130878539 @@ -43999,7 +43997,7 @@ i32.const 16 i32.const 3144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 100.60954608878481 @@ -44013,7 +44011,7 @@ i32.const 16 i32.const 3145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 100.67909109878379 @@ -44027,7 +44025,7 @@ i32.const 16 i32.const 3146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 101.12268095877725 @@ -44041,7 +44039,7 @@ i32.const 16 i32.const 3147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 101.3027691287746 @@ -44055,7 +44053,7 @@ i32.const 16 i32.const 3148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.45932313565507e-307 @@ -44069,7 +44067,7 @@ i32.const 16 i32.const 3149 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5.610957305180409e-307 @@ -44083,7 +44081,7 @@ i32.const 16 i32.const 3150 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5.8073887977408524e-307 @@ -44097,7 +44095,7 @@ i32.const 16 i32.const 3151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.026137080471427e-307 @@ -44111,7 +44109,7 @@ i32.const 16 i32.const 3152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 8.438697769194972e-307 @@ -44125,7 +44123,7 @@ i32.const 16 i32.const 3153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1607792515836795e-306 @@ -44139,7 +44137,7 @@ i32.const 16 i32.const 3154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.2827413827423193e-306 @@ -44153,7 +44151,7 @@ i32.const 16 i32.const 3155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.7116604596087457e-306 @@ -44167,7 +44165,7 @@ i32.const 16 i32.const 3156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.038173251686994e-306 @@ -44181,7 +44179,7 @@ i32.const 16 i32.const 3157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.171572060856931e-306 @@ -44195,7 +44193,7 @@ i32.const 16 i32.const 3158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.4681399631804094e-306 @@ -44209,7 +44207,7 @@ i32.const 16 i32.const 3159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.5175533964200588e-306 @@ -44223,7 +44221,7 @@ i32.const 16 i32.const 3160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.6461505468829625e-306 @@ -44237,7 +44235,7 @@ i32.const 16 i32.const 3161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3.8167076367720413e-306 @@ -44251,7 +44249,7 @@ i32.const 16 i32.const 3162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.5743220778562766e-306 @@ -44265,7 +44263,7 @@ i32.const 16 i32.const 3163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -44279,7 +44277,7 @@ i32.const 16 i32.const 3172 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -44293,7 +44291,7 @@ i32.const 16 i32.const 3173 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -44307,7 +44305,7 @@ i32.const 16 i32.const 3174 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -44321,7 +44319,7 @@ i32.const 16 i32.const 3175 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -44335,7 +44333,7 @@ i32.const 16 i32.const 3176 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -44349,7 +44347,7 @@ i32.const 16 i32.const 3177 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -44363,7 +44361,7 @@ i32.const 16 i32.const 3178 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -44377,7 +44375,7 @@ i32.const 16 i32.const 3179 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -44391,7 +44389,7 @@ i32.const 16 i32.const 3180 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -44405,7 +44403,7 @@ i32.const 16 i32.const 3181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -44419,7 +44417,7 @@ i32.const 16 i32.const 3184 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -44433,7 +44431,7 @@ i32.const 16 i32.const 3185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -44448,7 +44446,7 @@ i32.const 16 i32.const 3186 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -44462,7 +44460,7 @@ i32.const 16 i32.const 3187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -44476,7 +44474,7 @@ i32.const 16 i32.const 3188 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -44490,7 +44488,7 @@ i32.const 16 i32.const 3189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -44504,7 +44502,7 @@ i32.const 16 i32.const 3190 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4 @@ -44518,7 +44516,7 @@ i32.const 16 i32.const 3191 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 @@ -44532,7 +44530,7 @@ i32.const 16 i32.const 3192 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.203895392974451e-45 @@ -44546,7 +44544,7 @@ i32.const 16 i32.const 3193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -44560,7 +44558,7 @@ i32.const 16 i32.const 3194 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 @@ -44574,7 +44572,7 @@ i32.const 16 i32.const 3195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 @@ -44588,7 +44586,7 @@ i32.const 16 i32.const 3196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3402823466385288598117041e14 @@ -44602,7 +44600,7 @@ i32.const 16 i32.const 3197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999998807907104 @@ -44616,7 +44614,7 @@ i32.const 16 i32.const 3198 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999999403953552 @@ -44630,7 +44628,7 @@ i32.const 16 i32.const 3199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.999999761581421 @@ -44644,7 +44642,7 @@ i32.const 16 i32.const 3200 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.9999998807907104 @@ -44658,7 +44656,7 @@ i32.const 16 i32.const 3201 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000001192092896 @@ -44672,7 +44670,7 @@ i32.const 16 i32.const 3202 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.000000238418579 @@ -44686,7 +44684,7 @@ i32.const 16 i32.const 3203 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.000000238418579 @@ -44700,7 +44698,7 @@ i32.const 16 i32.const 3204 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.000000476837158 @@ -44714,7 +44712,7 @@ i32.const 16 i32.const 3205 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -44728,7 +44726,7 @@ i32.const 16 i32.const 3243 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -44742,7 +44740,7 @@ i32.const 16 i32.const 3244 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -44756,7 +44754,7 @@ i32.const 16 i32.const 3245 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -44770,7 +44768,7 @@ i32.const 16 i32.const 3246 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -44784,7 +44782,7 @@ i32.const 16 i32.const 3247 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -44798,7 +44796,7 @@ i32.const 16 i32.const 3248 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -44812,7 +44810,7 @@ i32.const 16 i32.const 3249 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -44826,7 +44824,7 @@ i32.const 16 i32.const 3250 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -44840,7 +44838,7 @@ i32.const 16 i32.const 3251 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -44854,7 +44852,7 @@ i32.const 16 i32.const 3252 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -44868,7 +44866,7 @@ i32.const 16 i32.const 3255 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -44882,7 +44880,7 @@ i32.const 16 i32.const 3256 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -44896,7 +44894,7 @@ i32.const 16 i32.const 3257 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -44911,7 +44909,7 @@ i32.const 16 i32.const 3258 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -44925,7 +44923,7 @@ i32.const 16 i32.const 3259 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.862645149230957e-09 @@ -44939,7 +44937,7 @@ i32.const 16 i32.const 3262 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.862645149230957e-09 @@ -44953,7 +44951,7 @@ i32.const 16 i32.const 3263 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 @@ -44967,7 +44965,7 @@ i32.const 16 i32.const 3264 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754943508222875e-38 @@ -44981,7 +44979,7 @@ i32.const 16 i32.const 3265 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 @@ -44997,7 +44995,7 @@ i32.const 16 i32.const 3266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 @@ -45013,7 +45011,7 @@ i32.const 16 i32.const 3267 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.175494490952134e-38 @@ -45027,7 +45025,7 @@ i32.const 16 i32.const 3268 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754946310819804e-38 @@ -45041,7 +45039,7 @@ i32.const 16 i32.const 3269 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509880009953429e-38 @@ -45055,7 +45053,7 @@ i32.const 16 i32.const 3270 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 @@ -45069,7 +45067,7 @@ i32.const 16 i32.const 3271 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.3509895424236536e-38 @@ -45083,7 +45081,7 @@ i32.const 16 i32.const 3272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 @@ -45097,7 +45095,7 @@ i32.const 16 i32.const 3273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1175870895385742e-08 @@ -45111,7 +45109,7 @@ i32.const 16 i32.const 3274 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.4901161193847656e-08 @@ -45125,7 +45123,7 @@ i32.const 16 i32.const 3275 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.000244140625 @@ -45139,7 +45137,7 @@ i32.const 16 i32.const 3276 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.175494490952134e-38 @@ -45153,7 +45151,7 @@ i32.const 16 i32.const 3277 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754946310819804e-38 @@ -45167,7 +45165,7 @@ i32.const 16 i32.const 3278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509880009953429e-38 @@ -45181,7 +45179,7 @@ i32.const 16 i32.const 3279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 @@ -45195,7 +45193,7 @@ i32.const 16 i32.const 3280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.3509895424236536e-38 @@ -45209,7 +45207,7 @@ i32.const 16 i32.const 3281 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -4.70197740328915e-38 @@ -45223,7 +45221,7 @@ i32.const 16 i32.const 3282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1175870895385742e-08 @@ -45237,7 +45235,7 @@ i32.const 16 i32.const 3283 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.4901161193847656e-08 @@ -45251,7 +45249,7 @@ i32.const 16 i32.const 3284 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.000244140625 @@ -45265,7 +45263,7 @@ i32.const 16 i32.const 3285 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 @@ -45281,7 +45279,7 @@ i32.const 16 i32.const 3286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.2611686178923354e-44 @@ -45297,7 +45295,7 @@ i32.const 16 i32.const 3287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 @@ -45313,7 +45311,7 @@ i32.const 16 i32.const 3288 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 @@ -45329,7 +45327,7 @@ i32.const 16 i32.const 3289 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754940705625946e-38 @@ -45345,7 +45343,7 @@ i32.const 16 i32.const 3290 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.1754942106924411e-38 @@ -45361,7 +45359,7 @@ i32.const 16 i32.const 3291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.802596928649634e-45 @@ -45377,7 +45375,7 @@ i32.const 16 i32.const 3292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.2611686178923354e-44 @@ -45393,7 +45391,7 @@ i32.const 16 i32.const 3293 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 @@ -45409,7 +45407,7 @@ i32.const 16 i32.const 3294 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -5.877471754111438e-39 @@ -45425,7 +45423,7 @@ i32.const 16 i32.const 3295 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754940705625946e-38 @@ -45441,7 +45439,7 @@ i32.const 16 i32.const 3296 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 @@ -45457,7 +45455,7 @@ i32.const 16 i32.const 3297 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -45471,7 +45469,7 @@ i32.const 16 i32.const 3309 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -45485,7 +45483,7 @@ i32.const 16 i32.const 3310 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -45499,7 +45497,7 @@ i32.const 16 i32.const 3311 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -45513,7 +45511,7 @@ i32.const 16 i32.const 3312 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -45527,7 +45525,7 @@ i32.const 16 i32.const 3313 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -45541,7 +45539,7 @@ i32.const 16 i32.const 3314 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -45555,7 +45553,7 @@ i32.const 16 i32.const 3315 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -45569,7 +45567,7 @@ i32.const 16 i32.const 3316 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -45583,7 +45581,7 @@ i32.const 16 i32.const 3317 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -45597,7 +45595,7 @@ i32.const 16 i32.const 3318 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -45611,7 +45609,7 @@ i32.const 16 i32.const 3321 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -45625,7 +45623,7 @@ i32.const 16 i32.const 3322 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -45639,7 +45637,7 @@ i32.const 16 i32.const 3323 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -45654,7 +45652,7 @@ i32.const 16 i32.const 3324 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -45668,7 +45666,7 @@ i32.const 16 i32.const 3325 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -45682,7 +45680,7 @@ i32.const 16 i32.const 3334 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -45696,7 +45694,7 @@ i32.const 16 i32.const 3335 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -45710,7 +45708,7 @@ i32.const 16 i32.const 3336 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -45724,7 +45722,7 @@ i32.const 16 i32.const 3337 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -45738,7 +45736,7 @@ i32.const 16 i32.const 3338 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -45752,7 +45750,7 @@ i32.const 16 i32.const 3339 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -45766,7 +45764,7 @@ i32.const 16 i32.const 3340 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -45780,7 +45778,7 @@ i32.const 16 i32.const 3341 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -45794,7 +45792,7 @@ i32.const 16 i32.const 3342 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -45808,7 +45806,7 @@ i32.const 16 i32.const 3343 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -45822,7 +45820,7 @@ i32.const 16 i32.const 3346 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -45836,7 +45834,7 @@ i32.const 16 i32.const 3347 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -45850,7 +45848,7 @@ i32.const 16 i32.const 3348 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -45865,7 +45863,7 @@ i32.const 16 i32.const 3349 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -45879,7 +45877,7 @@ i32.const 16 i32.const 3350 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 @@ -45893,7 +45891,7 @@ i32.const 16 i32.const 3362 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 @@ -45907,7 +45905,7 @@ i32.const 16 i32.const 3363 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 @@ -45921,7 +45919,7 @@ i32.const 16 i32.const 3364 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 @@ -45935,7 +45933,7 @@ i32.const 16 i32.const 3365 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 @@ -45949,7 +45947,7 @@ i32.const 16 i32.const 3366 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 @@ -45963,7 +45961,7 @@ i32.const 16 i32.const 3367 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 @@ -45977,7 +45975,7 @@ i32.const 16 i32.const 3368 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 @@ -45991,7 +45989,7 @@ i32.const 16 i32.const 3369 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 @@ -46005,7 +46003,7 @@ i32.const 16 i32.const 3370 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 @@ -46019,7 +46017,7 @@ i32.const 16 i32.const 3371 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -46033,7 +46031,7 @@ i32.const 16 i32.const 3374 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -46047,7 +46045,7 @@ i32.const 16 i32.const 3375 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -46063,7 +46061,7 @@ i32.const 16 i32.const 3376 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -46077,7 +46075,7 @@ i32.const 16 i32.const 3377 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -46091,7 +46089,7 @@ i32.const 16 i32.const 3378 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -46105,7 +46103,7 @@ i32.const 16 i32.const 3379 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -46119,7 +46117,7 @@ i32.const 16 i32.const 3380 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -46133,7 +46131,7 @@ i32.const 16 i32.const 3381 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -46147,7 +46145,7 @@ i32.const 16 i32.const 3382 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.0000152587890625 @@ -46161,7 +46159,7 @@ i32.const 16 i32.const 3383 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.0000152587890625 @@ -46175,7 +46173,7 @@ i32.const 16 i32.const 3384 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999923706054688 @@ -46189,7 +46187,7 @@ i32.const 16 i32.const 3385 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.9999923706054688 @@ -46203,7 +46201,7 @@ i32.const 16 i32.const 3386 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 7.888609052210118e-31 @@ -46217,7 +46215,7 @@ i32.const 16 i32.const 3387 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 @@ -46231,7 +46229,7 @@ i32.const 16 i32.const 3388 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 @@ -46245,7 +46243,7 @@ i32.const 16 i32.const 3397 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 @@ -46259,7 +46257,7 @@ i32.const 16 i32.const 3398 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 @@ -46273,7 +46271,7 @@ i32.const 16 i32.const 3399 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 @@ -46287,7 +46285,7 @@ i32.const 16 i32.const 3400 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 @@ -46301,7 +46299,7 @@ i32.const 16 i32.const 3401 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 @@ -46315,7 +46313,7 @@ i32.const 16 i32.const 3402 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 @@ -46329,7 +46327,7 @@ i32.const 16 i32.const 3403 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 @@ -46343,7 +46341,7 @@ i32.const 16 i32.const 3404 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 @@ -46357,7 +46355,7 @@ i32.const 16 i32.const 3405 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 @@ -46371,7 +46369,7 @@ i32.const 16 i32.const 3406 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -46385,7 +46383,7 @@ i32.const 16 i32.const 3409 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -46399,7 +46397,7 @@ i32.const 16 i32.const 3410 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -46415,7 +46413,7 @@ i32.const 16 i32.const 3411 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -46429,7 +46427,7 @@ i32.const 16 i32.const 3412 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -46443,7 +46441,7 @@ i32.const 16 i32.const 3413 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -46457,7 +46455,7 @@ i32.const 16 i32.const 3414 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -46471,7 +46469,7 @@ i32.const 16 i32.const 3415 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -46485,7 +46483,7 @@ i32.const 16 i32.const 3416 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -46499,7 +46497,7 @@ i32.const 16 i32.const 3417 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.0000152587890625 @@ -46513,7 +46511,7 @@ i32.const 16 i32.const 3418 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.0000152587890625 @@ -46527,7 +46525,7 @@ i32.const 16 i32.const 3419 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.9999923706054688 @@ -46541,7 +46539,7 @@ i32.const 16 i32.const 3420 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.9999923706054688 @@ -46555,7 +46553,7 @@ i32.const 16 i32.const 3421 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 7.888609052210118e-31 @@ -46569,7 +46567,7 @@ i32.const 16 i32.const 3422 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 @@ -46583,7 +46581,7 @@ i32.const 16 i32.const 3423 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2 @@ -46597,7 +46595,7 @@ i32.const 16 i32.const 3427 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -46611,7 +46609,7 @@ i32.const 16 i32.const 3428 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2 @@ -46625,7 +46623,7 @@ i32.const 16 i32.const 3429 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967295 @@ -46639,7 +46637,7 @@ i32.const 16 i32.const 3430 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967294 @@ -46653,7 +46651,7 @@ i32.const 16 i32.const 3431 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.e+60 @@ -46667,7 +46665,7 @@ i32.const 16 i32.const 3432 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.e+60 @@ -46681,7 +46679,7 @@ i32.const 16 i32.const 3433 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.e+60 @@ -46695,7 +46693,7 @@ i32.const 16 i32.const 3434 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.e+24 @@ -46709,7 +46707,7 @@ i32.const 16 i32.const 3435 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -46723,7 +46721,7 @@ i32.const 16 i32.const 3436 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -46737,7 +46735,7 @@ i32.const 16 i32.const 3437 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE @@ -46751,7 +46749,7 @@ i32.const 16 i32.const 3438 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -46764,7 +46762,7 @@ i32.const 16 i32.const 3442 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -46777,7 +46775,7 @@ i32.const 16 i32.const 3443 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -46790,7 +46788,7 @@ i32.const 16 i32.const 3444 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -128 @@ -46803,7 +46801,7 @@ i32.const 16 i32.const 3445 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967295 @@ -46816,7 +46814,7 @@ i32.const 16 i32.const 3446 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967295.5 @@ -46829,7 +46827,7 @@ i32.const 16 i32.const 3447 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967296 @@ -46842,7 +46840,7 @@ i32.const 16 i32.const 3448 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967297 @@ -46855,7 +46853,7 @@ i32.const 16 i32.const 3449 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -46868,7 +46866,7 @@ i32.const 16 i32.const 3450 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -46881,7 +46879,7 @@ i32.const 16 i32.const 3451 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_SAFE_INTEGER @@ -46894,7 +46892,7 @@ i32.const 16 i32.const 3452 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_SAFE_INTEGER @@ -46908,7 +46906,7 @@ i32.const 16 i32.const 3453 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE @@ -46921,7 +46919,7 @@ i32.const 16 i32.const 3454 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_VALUE @@ -46934,7 +46932,7 @@ i32.const 16 i32.const 3455 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE @@ -46948,7 +46946,7 @@ i32.const 16 i32.const 3456 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.EPSILON @@ -46961,7 +46959,7 @@ i32.const 16 i32.const 3457 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -46975,7 +46973,7 @@ i32.const 16 i32.const 3461 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -46989,7 +46987,7 @@ i32.const 16 i32.const 3462 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -47003,7 +47001,7 @@ i32.const 16 i32.const 3463 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -47017,7 +47015,7 @@ i32.const 16 i32.const 3464 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -47031,7 +47029,7 @@ i32.const 16 i32.const 3466 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -47045,7 +47043,7 @@ i32.const 16 i32.const 3467 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -47059,7 +47057,7 @@ i32.const 16 i32.const 3468 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1 @@ -47073,7 +47071,7 @@ i32.const 16 i32.const 3469 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 2 @@ -47087,7 +47085,7 @@ i32.const 16 i32.const 3471 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 2 @@ -47101,7 +47099,7 @@ i32.const 16 i32.const 3472 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 2 @@ -47115,7 +47113,7 @@ i32.const 16 i32.const 3473 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 2 @@ -47129,7 +47127,7 @@ i32.const 16 i32.const 3474 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -47143,7 +47141,7 @@ i32.const 16 i32.const 3476 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -47157,7 +47155,7 @@ i32.const 16 i32.const 3477 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -47171,7 +47169,7 @@ i32.const 16 i32.const 3478 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -47185,7 +47183,7 @@ i32.const 16 i32.const 3479 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -2 @@ -47199,7 +47197,7 @@ i32.const 16 i32.const 3481 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -2 @@ -47213,7 +47211,7 @@ i32.const 16 i32.const 3482 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -2 @@ -47227,7 +47225,7 @@ i32.const 16 i32.const 3483 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -2 @@ -47241,7 +47239,7 @@ i32.const 16 i32.const 3484 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -47255,7 +47253,7 @@ i32.const 16 i32.const 3486 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -47269,7 +47267,7 @@ i32.const 16 i32.const 3487 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -47283,7 +47281,7 @@ i32.const 16 i32.const 3488 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -47297,7 +47295,7 @@ i32.const 16 i32.const 3489 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -47311,7 +47309,7 @@ i32.const 16 i32.const 3490 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -47325,7 +47323,7 @@ i32.const 16 i32.const 3491 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 3 @@ -47339,7 +47337,7 @@ i32.const 16 i32.const 3492 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 57055 @@ -47357,7 +47355,7 @@ i32.const 16 i32.const 3494 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -47371,7 +47369,7 @@ i32.const 16 i32.const 3498 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -47385,7 +47383,7 @@ i32.const 16 i32.const 3499 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -47398,7 +47396,7 @@ i32.const 16 i32.const 3500 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -47411,7 +47409,7 @@ i32.const 16 i32.const 3501 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -47424,7 +47422,7 @@ i32.const 16 i32.const 3502 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -47438,7 +47436,7 @@ i32.const 16 i32.const 3503 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -47452,7 +47450,7 @@ i32.const 16 i32.const 3504 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -47467,7 +47465,7 @@ i32.const 16 i32.const 3505 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -47483,7 +47481,7 @@ i32.const 16 i32.const 3506 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -47498,7 +47496,7 @@ i32.const 16 i32.const 3507 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -47512,7 +47510,7 @@ i32.const 16 i32.const 3508 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_VALUE @@ -47526,7 +47524,7 @@ i32.const 16 i32.const 3509 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MIN_VALUE @@ -47540,7 +47538,7 @@ i32.const 16 i32.const 3510 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f32.MAX_VALUE @@ -47554,7 +47552,7 @@ i32.const 16 i32.const 3511 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 10 @@ -47568,7 +47566,7 @@ i32.const 16 i32.const 3512 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 10 @@ -47582,7 +47580,7 @@ i32.const 16 i32.const 3513 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -47596,7 +47594,7 @@ i32.const 16 i32.const 3517 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -47610,7 +47608,7 @@ i32.const 16 i32.const 3518 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -47623,7 +47621,7 @@ i32.const 16 i32.const 3519 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -47636,7 +47634,7 @@ i32.const 16 i32.const 3520 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -47649,7 +47647,7 @@ i32.const 16 i32.const 3521 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -47663,7 +47661,7 @@ i32.const 16 i32.const 3522 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -47677,7 +47675,7 @@ i32.const 16 i32.const 3523 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -47692,7 +47690,7 @@ i32.const 16 i32.const 3524 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -47708,7 +47706,7 @@ i32.const 16 i32.const 3525 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -47723,7 +47721,7 @@ i32.const 16 i32.const 3526 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -47737,7 +47735,7 @@ i32.const 16 i32.const 3527 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE @@ -47751,7 +47749,7 @@ i32.const 16 i32.const 3528 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_VALUE @@ -47765,7 +47763,7 @@ i32.const 16 i32.const 3529 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE @@ -47779,7 +47777,7 @@ i32.const 16 i32.const 3530 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 10 @@ -47793,7 +47791,7 @@ i32.const 16 i32.const 3531 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 10 @@ -47807,7 +47805,7 @@ i32.const 16 i32.const 3532 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/mod.optimized.wat b/tests/compiler/std/mod.optimized.wat index c67583d7..1388652d 100644 --- a/tests/compiler/std/mod.optimized.wat +++ b/tests/compiler/std/mod.optimized.wat @@ -8,13 +8,10 @@ (type $FUNCSIG$iff (func (param f32 f32) (result i32))) (type $FUNCSIG$v (func)) (import "math" "mod" (func $std/mod/mod (param f64 f64) (result f64))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s") (export "memory" (memory $0)) - (export "table" (table $0)) (export "mod" (func $std/mod/mod)) (start $start) (func $~lib/math/NativeMath.mod (; 2 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) @@ -515,7 +512,7 @@ i32.const 16 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3 @@ -528,7 +525,7 @@ i32.const 16 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -541,7 +538,7 @@ i32.const 16 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -554,7 +551,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3.5 @@ -567,7 +564,7 @@ i32.const 16 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3.5 @@ -580,7 +577,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3.5 @@ -593,7 +590,7 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3.5 @@ -606,7 +603,7 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3 @@ -619,7 +616,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3 @@ -632,7 +629,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -645,7 +642,7 @@ i32.const 16 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -658,7 +655,7 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -671,7 +668,7 @@ i32.const 16 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -684,7 +681,7 @@ i32.const 16 i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -697,7 +694,7 @@ i32.const 16 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -710,7 +707,7 @@ i32.const 16 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -723,7 +720,7 @@ i32.const 16 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -736,7 +733,7 @@ i32.const 16 i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -749,7 +746,7 @@ i32.const 16 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -762,7 +759,7 @@ i32.const 16 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.25 @@ -775,7 +772,7 @@ i32.const 16 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.25 @@ -788,7 +785,7 @@ i32.const 16 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.25 @@ -801,7 +798,7 @@ i32.const 16 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.25 @@ -814,7 +811,7 @@ i32.const 16 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -827,7 +824,7 @@ i32.const 16 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -840,7 +837,7 @@ i32.const 16 i32.const 45 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -853,7 +850,7 @@ i32.const 16 i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -866,7 +863,7 @@ i32.const 16 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -13 @@ -879,7 +876,7 @@ i32.const 16 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -892,7 +889,7 @@ i32.const 16 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -905,7 +902,7 @@ i32.const 16 i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -918,7 +915,7 @@ i32.const 16 i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -931,7 +928,7 @@ i32.const 16 i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -944,7 +941,7 @@ i32.const 16 i32.const 55 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -957,7 +954,7 @@ i32.const 16 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -970,7 +967,7 @@ i32.const 16 i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -983,7 +980,7 @@ i32.const 16 i32.const 58 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -996,7 +993,7 @@ i32.const 16 i32.const 59 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -1009,7 +1006,7 @@ i32.const 16 i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -1022,7 +1019,7 @@ i32.const 16 i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -1035,7 +1032,7 @@ i32.const 16 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1048,7 +1045,7 @@ i32.const 16 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1061,7 +1058,7 @@ i32.const 16 i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1074,7 +1071,7 @@ i32.const 16 i32.const 65 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1087,7 +1084,7 @@ i32.const 16 i32.const 66 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1100,7 +1097,7 @@ i32.const 16 i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1113,7 +1110,7 @@ i32.const 16 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1126,7 +1123,7 @@ i32.const 16 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1139,7 +1136,7 @@ i32.const 16 i32.const 70 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1152,7 +1149,7 @@ i32.const 16 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -1165,7 +1162,7 @@ i32.const 16 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -1178,7 +1175,7 @@ i32.const 16 i32.const 73 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -1191,7 +1188,7 @@ i32.const 16 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -1204,7 +1201,7 @@ i32.const 16 i32.const 75 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -1217,7 +1214,7 @@ i32.const 16 i32.const 76 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -1230,7 +1227,7 @@ i32.const 16 i32.const 77 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -1243,7 +1240,7 @@ i32.const 16 i32.const 78 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -1256,7 +1253,7 @@ i32.const 16 i32.const 79 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1269,7 +1266,7 @@ i32.const 16 i32.const 80 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1282,7 +1279,7 @@ i32.const 16 i32.const 81 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -1295,7 +1292,7 @@ i32.const 16 i32.const 82 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -1308,7 +1305,7 @@ i32.const 16 i32.const 83 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1321,7 +1318,7 @@ i32.const 16 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1334,7 +1331,7 @@ i32.const 16 i32.const 85 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -1347,7 +1344,7 @@ i32.const 16 i32.const 86 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -1360,7 +1357,7 @@ i32.const 16 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1373,7 +1370,7 @@ i32.const 16 i32.const 88 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -1386,7 +1383,7 @@ i32.const 16 i32.const 89 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1399,7 +1396,7 @@ i32.const 16 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -1412,7 +1409,7 @@ i32.const 16 i32.const 91 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1425,7 +1422,7 @@ i32.const 16 i32.const 92 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -1438,7 +1435,7 @@ i32.const 16 i32.const 93 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1451,7 +1448,7 @@ i32.const 16 i32.const 94 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1464,7 +1461,7 @@ i32.const 16 i32.const 95 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3 @@ -1477,7 +1474,7 @@ i32.const 16 i32.const 104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3 @@ -1490,7 +1487,7 @@ i32.const 16 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -1503,7 +1500,7 @@ i32.const 16 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -1516,7 +1513,7 @@ i32.const 16 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3.5 @@ -1529,7 +1526,7 @@ i32.const 16 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3.5 @@ -1542,7 +1539,7 @@ i32.const 16 i32.const 109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3.5 @@ -1555,7 +1552,7 @@ i32.const 16 i32.const 110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3.5 @@ -1568,7 +1565,7 @@ i32.const 16 i32.const 111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3 @@ -1581,7 +1578,7 @@ i32.const 16 i32.const 112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3 @@ -1594,7 +1591,7 @@ i32.const 16 i32.const 113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -1607,7 +1604,7 @@ i32.const 16 i32.const 114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -1620,7 +1617,7 @@ i32.const 16 i32.const 115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -1633,7 +1630,7 @@ i32.const 16 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -1646,7 +1643,7 @@ i32.const 16 i32.const 117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -1659,7 +1656,7 @@ i32.const 16 i32.const 118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -1672,7 +1669,7 @@ i32.const 16 i32.const 119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -1685,7 +1682,7 @@ i32.const 16 i32.const 120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -1698,7 +1695,7 @@ i32.const 16 i32.const 121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -1711,7 +1708,7 @@ i32.const 16 i32.const 122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -1724,7 +1721,7 @@ i32.const 16 i32.const 123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -1737,7 +1734,7 @@ i32.const 16 i32.const 126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -1750,7 +1747,7 @@ i32.const 16 i32.const 127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -1763,7 +1760,7 @@ i32.const 16 i32.const 128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -1776,7 +1773,7 @@ i32.const 16 i32.const 129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -1789,7 +1786,7 @@ i32.const 16 i32.const 130 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -1802,7 +1799,7 @@ i32.const 16 i32.const 131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -1815,7 +1812,7 @@ i32.const 16 i32.const 132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -1828,7 +1825,7 @@ i32.const 16 i32.const 133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1841,7 +1838,7 @@ i32.const 16 i32.const 134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1854,7 +1851,7 @@ i32.const 16 i32.const 135 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1867,7 +1864,7 @@ i32.const 16 i32.const 136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1880,7 +1877,7 @@ i32.const 16 i32.const 137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1893,7 +1890,7 @@ i32.const 16 i32.const 138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1906,7 +1903,7 @@ i32.const 16 i32.const 139 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1919,7 +1916,7 @@ i32.const 16 i32.const 140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1932,7 +1929,7 @@ i32.const 16 i32.const 141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1945,7 +1942,7 @@ i32.const 16 i32.const 142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -1958,7 +1955,7 @@ i32.const 16 i32.const 143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -1971,7 +1968,7 @@ i32.const 16 i32.const 144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -1984,7 +1981,7 @@ i32.const 16 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -1997,7 +1994,7 @@ i32.const 16 i32.const 146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -2010,7 +2007,7 @@ i32.const 16 i32.const 147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -2023,7 +2020,7 @@ i32.const 16 i32.const 148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -2036,7 +2033,7 @@ i32.const 16 i32.const 149 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -2049,7 +2046,7 @@ i32.const 16 i32.const 150 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2062,7 +2059,7 @@ i32.const 16 i32.const 151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2075,7 +2072,7 @@ i32.const 16 i32.const 152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -2088,7 +2085,7 @@ i32.const 16 i32.const 153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -2101,7 +2098,7 @@ i32.const 16 i32.const 154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2114,7 +2111,7 @@ i32.const 16 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2127,7 +2124,7 @@ i32.const 16 i32.const 156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -2140,7 +2137,7 @@ i32.const 16 i32.const 157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -2153,7 +2150,7 @@ i32.const 16 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2166,7 +2163,7 @@ i32.const 16 i32.const 159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -2179,7 +2176,7 @@ i32.const 16 i32.const 160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2192,7 +2189,7 @@ i32.const 16 i32.const 161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -2205,7 +2202,7 @@ i32.const 16 i32.const 162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2218,7 +2215,7 @@ i32.const 16 i32.const 163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -inf @@ -2231,7 +2228,7 @@ i32.const 16 i32.const 164 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2244,7 +2241,7 @@ i32.const 16 i32.const 165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2257,7 +2254,7 @@ i32.const 16 i32.const 166 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/mod.untouched.wat b/tests/compiler/std/mod.untouched.wat index 15146cde..52392790 100644 --- a/tests/compiler/std/mod.untouched.wat +++ b/tests/compiler/std/mod.untouched.wat @@ -10,15 +10,13 @@ (type $FUNCSIG$iff (func (param f32 f32) (result i32))) (type $FUNCSIG$v (func)) (import "math" "mod" (func $std/mod/mod (param f64 f64) (result f64))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $std/mod/js i32 (i32.const 1)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 36)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "mod" (func $std/mod/mod)) (start $start) (func $~lib/builtins/isNaN (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) @@ -630,7 +628,7 @@ i32.const 16 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3 @@ -643,7 +641,7 @@ i32.const 16 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -656,7 +654,7 @@ i32.const 16 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -669,7 +667,7 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3.5 @@ -682,7 +680,7 @@ i32.const 16 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3.5 @@ -695,7 +693,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3.5 @@ -708,7 +706,7 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3.5 @@ -721,7 +719,7 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3 @@ -734,7 +732,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 3 @@ -747,7 +745,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -760,7 +758,7 @@ i32.const 16 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -3 @@ -773,7 +771,7 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -786,7 +784,7 @@ i32.const 16 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.5 @@ -799,7 +797,7 @@ i32.const 16 i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -812,7 +810,7 @@ i32.const 16 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.5 @@ -825,7 +823,7 @@ i32.const 16 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -838,7 +836,7 @@ i32.const 16 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.5 @@ -851,7 +849,7 @@ i32.const 16 i32.const 37 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -864,7 +862,7 @@ i32.const 16 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.5 @@ -877,7 +875,7 @@ i32.const 16 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.25 @@ -890,7 +888,7 @@ i32.const 16 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.25 @@ -903,7 +901,7 @@ i32.const 16 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.25 @@ -916,7 +914,7 @@ i32.const 16 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.25 @@ -929,7 +927,7 @@ i32.const 16 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -942,7 +940,7 @@ i32.const 16 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -955,7 +953,7 @@ i32.const 16 i32.const 45 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -968,7 +966,7 @@ i32.const 16 i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -981,7 +979,7 @@ i32.const 16 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -13 @@ -994,7 +992,7 @@ i32.const 16 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -1007,7 +1005,7 @@ i32.const 16 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -1020,7 +1018,7 @@ i32.const 16 i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -1033,7 +1031,7 @@ i32.const 16 i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -1046,7 +1044,7 @@ i32.const 16 i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -1059,7 +1057,7 @@ i32.const 16 i32.const 55 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -1072,7 +1070,7 @@ i32.const 16 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -1085,7 +1083,7 @@ i32.const 16 i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -1098,7 +1096,7 @@ i32.const 16 i32.const 58 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -1111,7 +1109,7 @@ i32.const 16 i32.const 59 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -1124,7 +1122,7 @@ i32.const 16 i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -1137,7 +1135,7 @@ i32.const 16 i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -1150,7 +1148,7 @@ i32.const 16 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1163,7 +1161,7 @@ i32.const 16 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1176,7 +1174,7 @@ i32.const 16 i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1189,7 +1187,7 @@ i32.const 16 i32.const 65 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1202,7 +1200,7 @@ i32.const 16 i32.const 66 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1215,7 +1213,7 @@ i32.const 16 i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1228,7 +1226,7 @@ i32.const 16 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1241,7 +1239,7 @@ i32.const 16 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1254,7 +1252,7 @@ i32.const 16 i32.const 70 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1267,7 +1265,7 @@ i32.const 16 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -1280,7 +1278,7 @@ i32.const 16 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -1293,7 +1291,7 @@ i32.const 16 i32.const 73 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -1307,7 +1305,7 @@ i32.const 16 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -1321,7 +1319,7 @@ i32.const 16 i32.const 75 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -1334,7 +1332,7 @@ i32.const 16 i32.const 76 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -1347,7 +1345,7 @@ i32.const 16 i32.const 77 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -1361,7 +1359,7 @@ i32.const 16 i32.const 78 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -1375,7 +1373,7 @@ i32.const 16 i32.const 79 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1388,7 +1386,7 @@ i32.const 16 i32.const 80 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1401,7 +1399,7 @@ i32.const 16 i32.const 81 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1415,7 +1413,7 @@ i32.const 16 i32.const 82 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1429,7 +1427,7 @@ i32.const 16 i32.const 83 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1442,7 +1440,7 @@ i32.const 16 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1455,7 +1453,7 @@ i32.const 16 i32.const 85 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1469,7 +1467,7 @@ i32.const 16 i32.const 86 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1483,7 +1481,7 @@ i32.const 16 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1496,7 +1494,7 @@ i32.const 16 i32.const 88 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1510,7 +1508,7 @@ i32.const 16 i32.const 89 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1524,7 +1522,7 @@ i32.const 16 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1539,7 +1537,7 @@ i32.const 16 i32.const 91 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1552,7 +1550,7 @@ i32.const 16 i32.const 92 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -1566,7 +1564,7 @@ i32.const 16 i32.const 93 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1579,7 +1577,7 @@ i32.const 16 i32.const 94 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -1593,7 +1591,7 @@ i32.const 16 i32.const 95 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3 @@ -1606,7 +1604,7 @@ i32.const 16 i32.const 104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3 @@ -1619,7 +1617,7 @@ i32.const 16 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -1632,7 +1630,7 @@ i32.const 16 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -1645,7 +1643,7 @@ i32.const 16 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3.5 @@ -1658,7 +1656,7 @@ i32.const 16 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3.5 @@ -1671,7 +1669,7 @@ i32.const 16 i32.const 109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3.5 @@ -1684,7 +1682,7 @@ i32.const 16 i32.const 110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3.5 @@ -1697,7 +1695,7 @@ i32.const 16 i32.const 111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3 @@ -1710,7 +1708,7 @@ i32.const 16 i32.const 112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 3 @@ -1723,7 +1721,7 @@ i32.const 16 i32.const 113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -1736,7 +1734,7 @@ i32.const 16 i32.const 114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -3 @@ -1749,7 +1747,7 @@ i32.const 16 i32.const 115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -1762,7 +1760,7 @@ i32.const 16 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0.5 @@ -1775,7 +1773,7 @@ i32.const 16 i32.const 117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -1788,7 +1786,7 @@ i32.const 16 i32.const 118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0.5 @@ -1801,7 +1799,7 @@ i32.const 16 i32.const 119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -1814,7 +1812,7 @@ i32.const 16 i32.const 120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1.5 @@ -1827,7 +1825,7 @@ i32.const 16 i32.const 121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -1840,7 +1838,7 @@ i32.const 16 i32.const 122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1.5 @@ -1853,7 +1851,7 @@ i32.const 16 i32.const 123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -1866,7 +1864,7 @@ i32.const 16 i32.const 126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -1879,7 +1877,7 @@ i32.const 16 i32.const 127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -1892,7 +1890,7 @@ i32.const 16 i32.const 128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -1905,7 +1903,7 @@ i32.const 16 i32.const 129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -1918,7 +1916,7 @@ i32.const 16 i32.const 130 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -1931,7 +1929,7 @@ i32.const 16 i32.const 131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -1944,7 +1942,7 @@ i32.const 16 i32.const 132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -1957,7 +1955,7 @@ i32.const 16 i32.const 133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1970,7 +1968,7 @@ i32.const 16 i32.const 134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1983,7 +1981,7 @@ i32.const 16 i32.const 135 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -1996,7 +1994,7 @@ i32.const 16 i32.const 136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2009,7 +2007,7 @@ i32.const 16 i32.const 137 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2022,7 +2020,7 @@ i32.const 16 i32.const 138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2035,7 +2033,7 @@ i32.const 16 i32.const 139 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2048,7 +2046,7 @@ i32.const 16 i32.const 140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2061,7 +2059,7 @@ i32.const 16 i32.const 141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2074,7 +2072,7 @@ i32.const 16 i32.const 142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -2087,7 +2085,7 @@ i32.const 16 i32.const 143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -2100,7 +2098,7 @@ i32.const 16 i32.const 144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -2114,7 +2112,7 @@ i32.const 16 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -0 @@ -2128,7 +2126,7 @@ i32.const 16 i32.const 146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -2141,7 +2139,7 @@ i32.const 16 i32.const 147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -2154,7 +2152,7 @@ i32.const 16 i32.const 148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 1 @@ -2168,7 +2166,7 @@ i32.const 16 i32.const 149 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const -1 @@ -2182,7 +2180,7 @@ i32.const 16 i32.const 150 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2195,7 +2193,7 @@ i32.const 16 i32.const 151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2208,7 +2206,7 @@ i32.const 16 i32.const 152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2222,7 +2220,7 @@ i32.const 16 i32.const 153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2236,7 +2234,7 @@ i32.const 16 i32.const 154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2249,7 +2247,7 @@ i32.const 16 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2262,7 +2260,7 @@ i32.const 16 i32.const 156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2276,7 +2274,7 @@ i32.const 16 i32.const 157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2290,7 +2288,7 @@ i32.const 16 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2303,7 +2301,7 @@ i32.const 16 i32.const 159 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2317,7 +2315,7 @@ i32.const 16 i32.const 160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2331,7 +2329,7 @@ i32.const 16 i32.const 161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2346,7 +2344,7 @@ i32.const 16 i32.const 162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2359,7 +2357,7 @@ i32.const 16 i32.const 163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const inf @@ -2373,7 +2371,7 @@ i32.const 16 i32.const 164 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2386,7 +2384,7 @@ i32.const 16 i32.const 165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const nan:0x400000 @@ -2400,7 +2398,7 @@ i32.const 16 i32.const 166 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/new.optimized.wat b/tests/compiler/std/new.optimized.wat index b2449798..0de0adc6 100644 --- a/tests/compiler/std/new.optimized.wat +++ b/tests/compiler/std/new.optimized.wat @@ -1,18 +1,29 @@ (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$vi (func (param i32))) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 56) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 96) "\12") + (data (i32.const 240) "!\00\00\00\0e") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/new/aClass (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -76,52 +87,65 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/util/runtime/register (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) + i32.const 1 + i32.const 32 local.get $0 - i32.const 56 + i32.const 7 + i32.add + i32.clz + i32.sub + i32.shl + call $~lib/allocator/arena/__mem_allocate + local.tee $1 + i32.const -1520547049 + i32.store + local.get $1 + local.get $0 + i32.store offset=4 + local.get $1 + i32.const 8 + i32.add + ) + (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + i32.const 248 i32.le_u if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 i32.const 8 i32.sub - local.tee $1 + local.tee $2 i32.load i32.const -1520547049 i32.ne if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - i32.const 1 i32.store local.get $0 ) - (func $std/new/AClass#constructor (; 3 ;) (type $FUNCSIG$i) (result i32) + (func $std/new/AClass#constructor (; 4 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) - i32.const 16 - call $~lib/allocator/arena/__mem_allocate - local.tee $0 - i32.const -1520547049 - i32.store - local.get $0 i32.const 8 - i32.store offset=4 - local.get $0 - i32.const 8 - i32.add + call $~lib/util/runtime/allocate + i32.const 17 call $~lib/util/runtime/register local.tee $0 i32.const 1 @@ -140,15 +164,198 @@ f32.store offset=4 local.get $0 ) - (func $start (; 4 ;) (type $FUNCSIG$v) - i32.const 56 + (func $~lib/runtime/runtime.instanceof (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 96 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 96 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 96 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 96 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + i32.const 96 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 96 + i32.add + i32.load + end + local.tee $3 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 8 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $2 + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $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 $0 + local.get $2 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $3 + i32.const 512 + i32.and + if + local.get $1 + local.get $2 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + if + i32.const 0 + i32.const 64 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 12 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 64 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 13 ;) (type $FUNCSIG$v) + i32.const 248 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset call $std/new/AClass#constructor global.set $std/new/aClass ) - (func $null (; 5 ;) (type $FUNCSIG$v) + (func $null (; 14 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/new.untouched.wat b/tests/compiler/std/new.untouched.wat index 026b4b6f..caddfb43 100644 --- a/tests/compiler/std/new.untouched.wat +++ b/tests/compiler/std/new.untouched.wat @@ -4,9 +4,12 @@ (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 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) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 56) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 96) "\12\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/new/AClass.aStaticField (mut i32) (i32.const 0)) @@ -16,9 +19,18 @@ (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $std/new/aClass (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 56)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 96)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 248)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -141,9 +153,9 @@ if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -158,9 +170,9 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -176,7 +188,7 @@ if i32.const 8 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -213,9 +225,209 @@ call $std/new/AClass#constructor global.set $std/new/aClass ) - (func $start (; 8 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 14 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.get $1 + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $7 + block $break|0 + loop $continue|0 + local.get $6 + local.get $7 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $8 + local.get $8 + if + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/runtime.retain (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.release (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 17 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 64 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/runtime/runtime#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 19 ;) (type $FUNCSIG$v) call $start:std/new ) - (func $null (; 9 ;) (type $FUNCSIG$v) + (func $null (; 20 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/object-literal.optimized.wat b/tests/compiler/std/object-literal.optimized.wat index a300b711..c6f62370 100644 --- a/tests/compiler/std/object-literal.optimized.wat +++ b/tests/compiler/std/object-literal.optimized.wat @@ -4,21 +4,30 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16") + (data (i32.const 8) "\10\00\00\00\16") (data (i32.const 24) "h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d") - (data (i32.const 48) "\01\00\00\00(") + (data (i32.const 48) "\10\00\00\00(") (data (i32.const 64) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 104) "\01\00\00\00*") + (data (i32.const 104) "\10\00\00\00*") (data (i32.const 120) "s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 168) "\14") + (data (i32.const 320) "!\00\00\00\0e") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -113,14 +122,14 @@ (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 164 + i32.const 336 i32.le_u if i32.const 0 i32.const 64 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -133,9 +142,9 @@ if i32.const 0 i32.const 64 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -232,7 +241,7 @@ i32.const 120 i32.const 9 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -244,19 +253,19 @@ i32.const 120 i32.const 10 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) (func $start:std/object-literal (; 7 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 168 + i32.const 336 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset i32.const 8 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 17 call $~lib/util/runtime/register local.tee $0 i32.const 1 @@ -268,7 +277,7 @@ call $std/object-literal/bar i32.const 4 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.tee $0 i32.const 2 @@ -282,12 +291,12 @@ i32.const 120 i32.const 26 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.tee $0 i32.const 3 @@ -301,14 +310,191 @@ i32.const 120 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 8 ;) (type $FUNCSIG$v) - call $start:std/object-literal + (func $~lib/runtime/runtime.instanceof (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 168 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 168 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 9 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 168 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 168 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.tee $2 + i32.eqz + local.tee $0 + if (result i32) + local.get $0 + else + local.get $2 + i32.const 168 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $2 + i32.const 3 + i32.shl + i32.const 168 + i32.add + i32.load + end + local.tee $0 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 16 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $3 + local.get $2 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $2 + i32.load + drop + local.get $2 + local.get $1 + i32.store + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $3 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $0 + i32.const 512 + i32.and + if + local.get $1 + local.get $3 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load + drop + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $2 + ) + (func $~lib/runtime/runtime.retain (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) + (func $~lib/runtime/runtime.collect (; 15 ;) (type $FUNCSIG$v) + nop + ) + (func $start (; 16 ;) (type $FUNCSIG$v) + call $start:std/object-literal + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 20 + call $~lib/util/runtime/register + global.set $~lib/runtime/ROOT + ) ) diff --git a/tests/compiler/std/object-literal.untouched.wat b/tests/compiler/std/object-literal.untouched.wat index dec68070..3d19a2f8 100644 --- a/tests/compiler/std/object-literal.untouched.wat +++ b/tests/compiler/std/object-literal.untouched.wat @@ -5,11 +5,13 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00") - (data (i32.const 48) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 104) "\01\00\00\00*\00\00\00\00\00\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") + (data (i32.const 8) "\10\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00") + (data (i32.const 48) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 104) "\10\00\00\00*\00\00\00\00\00\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") + (data (i32.const 168) "\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -17,10 +19,20 @@ (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 164)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 168)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 336)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -153,9 +165,9 @@ if i32.const 0 i32.const 64 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -170,9 +182,9 @@ if i32.const 0 i32.const 64 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -298,7 +310,7 @@ i32.const 120 i32.const 9 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -311,7 +323,7 @@ i32.const 120 i32.const 10 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -326,7 +338,7 @@ i32.const 120 i32.const 26 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -341,7 +353,7 @@ i32.const 120 i32.const 21 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -362,7 +374,7 @@ block (result i32) i32.const 8 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 17 call $~lib/util/runtime/register local.set $0 local.get $0 @@ -377,7 +389,7 @@ block (result i32) i32.const 4 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $1 local.get $1 @@ -389,7 +401,7 @@ block (result i32) i32.const 4 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $2 local.get $2 @@ -399,9 +411,245 @@ end call $std/object-literal/Foo2#test ) - (func $start (; 14 ;) (type $FUNCSIG$v) - call $start:std/object-literal + (func $~lib/runtime/runtime.instanceof (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 15 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/collector/dummy/__ref_link (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/collector/dummy/__ref_unlink (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/runtime/runtime.newArray (; 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.get $0 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.tee $6 + local.get $1 + local.tee $7 + local.get $6 + i32.load + local.tee $8 + i32.ne + if (result i32) + local.get $8 + if + local.get $8 + local.get $6 + call $~lib/collector/dummy/__ref_unlink + end + local.get $7 + local.get $6 + call $~lib/collector/dummy/__ref_link + local.get $7 + else + local.get $7 + end + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $8 + block $break|0 + loop $continue|0 + local.get $6 + local.get $8 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $7 + local.get $7 + if + local.get $7 + local.get $5 + call $~lib/collector/dummy/__ref_link + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/Root#constructor (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 20 + call $~lib/util/runtime/register + local.set $0 + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_link + ) + (func $~lib/runtime/runtime.release (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_unlink + ) + (func $~lib/collector/dummy/__ref_collect (; 26 ;) (type $FUNCSIG$v) + nop + ) + (func $~lib/runtime/runtime.collect (; 27 ;) (type $FUNCSIG$v) + call $~lib/collector/dummy/__ref_collect + ) + (func $~lib/runtime/runtime#constructor (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 29 ;) (type $FUNCSIG$v) + call $start:std/object-literal + i32.const 0 + call $~lib/runtime/Root#constructor + global.set $~lib/runtime/ROOT + ) + (func $null (; 30 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/operator-overloading.optimized.wat b/tests/compiler/std/operator-overloading.optimized.wat index 4a189e5c..f201dad0 100644 --- a/tests/compiler/std/operator-overloading.optimized.wat +++ b/tests/compiler/std/operator-overloading.optimized.wat @@ -5,13 +5,14 @@ (type $FUNCSIG$ddd (func (param f64 f64) (result f64))) (type $FUNCSIG$ddi (func (param f64 i32) (result f64))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 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) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 56) "\02\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") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 56) "\10\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") + (data (i32.const 120) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 160) "\14") + (data (i32.const 320) "!\00\00\00\0e") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/operator-overloading/a1 (mut i32) (i32.const 0)) @@ -81,7 +82,15 @@ (global $std/operator-overloading/aii2 (mut i32) (i32.const 0)) (global $std/operator-overloading/aii (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -145,31 +154,38 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$i) (result i32) - (local $0 i32) - i32.const 16 + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + i32.const 1 + i32.const 32 + local.get $0 + i32.const 7 + i32.add + i32.clz + i32.sub + i32.shl call $~lib/allocator/arena/__mem_allocate - local.tee $0 + local.tee $1 i32.const -1520547049 i32.store + local.get $1 local.get $0 - i32.const 8 i32.store offset=4 - local.get $0 + local.get $1 i32.const 8 i32.add ) (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 120 + i32.const 328 i32.le_u if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -182,9 +198,9 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -194,8 +210,9 @@ ) (func $std/operator-overloading/Tester#constructor (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + i32.const 8 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.tee $2 local.get $0 @@ -1239,8 +1256,9 @@ ) (func $std/operator-overloading/TesterInlineStatic#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + i32.const 8 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.tee $2 local.get $0 @@ -1252,8 +1270,9 @@ ) (func $std/operator-overloading/TesterInlineInstance#constructor (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + i32.const 8 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 19 call $~lib/util/runtime/register local.tee $2 local.get $0 @@ -1267,7 +1286,7 @@ (local $0 i32) (local $1 i32) (local $2 i32) - i32.const 120 + i32.const 328 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -1312,7 +1331,7 @@ i32.const 64 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -1355,7 +1374,7 @@ i32.const 64 i32.const 151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -1399,7 +1418,7 @@ i32.const 64 i32.const 157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 6 @@ -1443,7 +1462,7 @@ i32.const 64 i32.const 163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 10 @@ -1486,7 +1505,7 @@ i32.const 64 i32.const 169 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -1520,7 +1539,7 @@ i32.const 64 i32.const 175 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -1564,7 +1583,7 @@ i32.const 64 i32.const 181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3855 @@ -1608,7 +1627,7 @@ i32.const 64 i32.const 187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -1652,7 +1671,7 @@ i32.const 64 i32.const 193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -1689,7 +1708,7 @@ i32.const 64 i32.const 199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -1724,7 +1743,7 @@ i32.const 64 i32.const 205 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/eq1 @@ -1751,7 +1770,7 @@ i32.const 64 i32.const 209 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/eq3 @@ -1780,7 +1799,7 @@ i32.const 64 i32.const 213 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -1817,7 +1836,7 @@ i32.const 64 i32.const 219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -1854,7 +1873,7 @@ i32.const 64 i32.const 225 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 @@ -1891,7 +1910,7 @@ i32.const 64 i32.const 231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -1928,7 +1947,7 @@ i32.const 64 i32.const 237 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -1965,7 +1984,7 @@ i32.const 64 i32.const 242 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -8 @@ -2002,7 +2021,7 @@ i32.const 64 i32.const 247 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -2039,7 +2058,7 @@ i32.const 64 i32.const 252 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -2074,7 +2093,7 @@ i32.const 64 i32.const 257 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1 @@ -2117,7 +2136,7 @@ i32.const 64 i32.const 262 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 255 @@ -2160,7 +2179,7 @@ i32.const 64 i32.const 267 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2200,7 +2219,7 @@ i32.const 64 i32.const 272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/bres @@ -2211,7 +2230,7 @@ i32.const 64 i32.const 273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2252,7 +2271,7 @@ i32.const 64 i32.const 279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/incdec @@ -2288,7 +2307,7 @@ i32.const 64 i32.const 282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2326,7 +2345,7 @@ i32.const 64 i32.const 287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/incdec @@ -2348,7 +2367,7 @@ i32.const 64 i32.const 288 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/incdec @@ -2383,7 +2402,7 @@ i32.const 64 i32.const 291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/incdec @@ -2404,7 +2423,7 @@ i32.const 64 i32.const 292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -2459,7 +2478,7 @@ i32.const 64 i32.const 312 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -2514,14 +2533,197 @@ i32.const 64 i32.const 332 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 11 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 160 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 160 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 160 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 160 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + i32.const 160 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 160 + i32.add + i32.load + end + local.tee $3 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 8 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $2 + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $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 $0 + local.get $2 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $3 + i32.const 512 + i32.and + if + local.get $1 + local.get $2 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + if + i32.const 0 + i32.const 128 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 18 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 128 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 19 ;) (type $FUNCSIG$v) call $start:std/operator-overloading ) - (func $null (; 12 ;) (type $FUNCSIG$v) + (func $null (; 20 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index 62a8dbbe..5d40c403 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -6,10 +6,13 @@ (type $FUNCSIG$ddd (func (param f64 f64) (result f64))) (type $FUNCSIG$ddi (func (param f64 i32) (result f64))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 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) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 56) "\02\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") + (data (i32.const 8) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 56) "\10\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") + (data (i32.const 120) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 160) "\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -84,9 +87,18 @@ (global $std/operator-overloading/aii1 (mut i32) (i32.const 0)) (global $std/operator-overloading/aii2 (mut i32) (i32.const 0)) (global $std/operator-overloading/aii (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 120)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 160)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 328)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -209,9 +221,9 @@ if i32.const 0 i32.const 16 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -226,9 +238,9 @@ if i32.const 0 i32.const 16 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -242,7 +254,7 @@ if i32.const 8 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -1815,7 +1827,7 @@ if i32.const 8 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -1833,7 +1845,7 @@ if i32.const 8 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 19 call $~lib/util/runtime/register local.set $0 end @@ -1891,7 +1903,7 @@ i32.const 64 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1927,7 +1939,7 @@ i32.const 64 i32.const 151 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1963,7 +1975,7 @@ i32.const 64 i32.const 157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1999,7 +2011,7 @@ i32.const 64 i32.const 163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2035,7 +2047,7 @@ i32.const 64 i32.const 169 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2071,7 +2083,7 @@ i32.const 64 i32.const 175 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2107,7 +2119,7 @@ i32.const 64 i32.const 181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2143,7 +2155,7 @@ i32.const 64 i32.const 187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2179,7 +2191,7 @@ i32.const 64 i32.const 193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2205,7 +2217,7 @@ i32.const 64 i32.const 199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2231,7 +2243,7 @@ i32.const 64 i32.const 205 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/eq1 @@ -2247,7 +2259,7 @@ i32.const 64 i32.const 209 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/eq3 @@ -2263,7 +2275,7 @@ i32.const 64 i32.const 213 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2289,7 +2301,7 @@ i32.const 64 i32.const 219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2315,7 +2327,7 @@ i32.const 64 i32.const 225 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2341,7 +2353,7 @@ i32.const 64 i32.const 231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2367,7 +2379,7 @@ i32.const 64 i32.const 237 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2398,7 +2410,7 @@ i32.const 64 i32.const 242 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2429,7 +2441,7 @@ i32.const 64 i32.const 247 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2460,7 +2472,7 @@ i32.const 64 i32.const 252 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2492,7 +2504,7 @@ i32.const 64 i32.const 257 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2528,7 +2540,7 @@ i32.const 64 i32.const 262 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2564,7 +2576,7 @@ i32.const 64 i32.const 267 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2594,7 +2606,7 @@ i32.const 64 i32.const 272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/bres @@ -2606,7 +2618,7 @@ i32.const 64 i32.const 273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2636,7 +2648,7 @@ i32.const 64 i32.const 279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/incdec @@ -2661,7 +2673,7 @@ i32.const 64 i32.const 282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2696,7 +2708,7 @@ i32.const 64 i32.const 287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/incdec @@ -2718,7 +2730,7 @@ i32.const 64 i32.const 288 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -2748,7 +2760,7 @@ i32.const 64 i32.const 291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/operator-overloading/incdec @@ -2770,7 +2782,7 @@ i32.const 64 i32.const 292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2836,7 +2848,7 @@ i32.const 64 i32.const 312 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2902,13 +2914,213 @@ i32.const 64 i32.const 332 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 38 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 44 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.get $1 + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $7 + block $break|0 + loop $continue|0 + local.get $6 + local.get $7 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $8 + local.get $8 + if + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/runtime.retain (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.release (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 47 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 128 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/runtime/runtime#constructor (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 49 ;) (type $FUNCSIG$v) call $start:std/operator-overloading ) - (func $null (; 39 ;) (type $FUNCSIG$v) + (func $null (; 50 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/pointer.optimized.wat b/tests/compiler/std/pointer.optimized.wat index b9ff9164..95efbef1 100644 --- a/tests/compiler/std/pointer.optimized.wat +++ b/tests/compiler/std/pointer.optimized.wat @@ -3,11 +3,9 @@ (type $FUNCSIG$v (func)) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s") (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)) @@ -15,7 +13,6 @@ (global $std/pointer/nextOne (mut i32) (i32.const 0)) (global $std/pointer/buf (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/memory/memory.fill (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) @@ -250,7 +247,7 @@ i32.const 16 i32.const 78 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/two @@ -261,7 +258,7 @@ i32.const 16 i32.const 79 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/one @@ -280,7 +277,7 @@ i32.const 16 i32.const 83 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/one @@ -292,7 +289,7 @@ i32.const 16 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/one @@ -307,7 +304,7 @@ i32.const 16 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/two @@ -322,7 +319,7 @@ i32.const 16 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/one @@ -333,7 +330,7 @@ i32.const 16 i32.const 92 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/one @@ -351,7 +348,7 @@ i32.const 16 i32.const 94 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/one @@ -362,7 +359,7 @@ i32.const 16 i32.const 95 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/two @@ -373,7 +370,7 @@ i32.const 16 i32.const 97 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/two @@ -392,7 +389,7 @@ i32.const 16 i32.const 100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/two @@ -404,7 +401,7 @@ i32.const 16 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/two @@ -416,7 +413,7 @@ i32.const 16 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/one @@ -439,7 +436,7 @@ i32.const 16 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/one @@ -451,7 +448,7 @@ i32.const 16 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/one @@ -463,7 +460,7 @@ i32.const 16 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -485,7 +482,7 @@ i32.const 16 i32.const 113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/buf @@ -499,7 +496,7 @@ i32.const 16 i32.const 114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/buf @@ -511,7 +508,7 @@ i32.const 16 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/buf @@ -525,7 +522,7 @@ i32.const 16 i32.const 117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -537,7 +534,7 @@ i32.const 16 i32.const 119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -549,7 +546,7 @@ i32.const 16 i32.const 120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/buf @@ -567,7 +564,7 @@ i32.const 16 i32.const 123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/buf @@ -581,7 +578,7 @@ i32.const 16 i32.const 124 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -593,7 +590,7 @@ i32.const 16 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/buf @@ -608,7 +605,7 @@ i32.const 16 i32.const 128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -620,7 +617,7 @@ i32.const 16 i32.const 129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/pointer.untouched.wat b/tests/compiler/std/pointer.untouched.wat index 866407af..0146c17e 100644 --- a/tests/compiler/std/pointer.untouched.wat +++ b/tests/compiler/std/pointer.untouched.wat @@ -5,9 +5,9 @@ (type $FUNCSIG$viif (func (param i32 i32 f32))) (type $FUNCSIG$vif (func (param i32 f32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $std/pointer/one (mut i32) (i32.const 0)) @@ -16,9 +16,7 @@ (global $std/pointer/sub (mut i32) (i32.const 0)) (global $std/pointer/nextOne (mut i32) (i32.const 0)) (global $std/pointer/buf (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 44)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/memory/memory.fill (; 1 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -549,7 +547,7 @@ i32.const 16 i32.const 78 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get:offset|inlined.1 (result i32) @@ -565,7 +563,7 @@ i32.const 16 i32.const 79 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get:value|inlined.0 (result i32) @@ -599,7 +597,7 @@ i32.const 16 i32.const 83 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get:value|inlined.3 (result i32) @@ -617,7 +615,7 @@ i32.const 16 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#add|inlined.0 (result i32) @@ -643,7 +641,7 @@ i32.const 16 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#sub|inlined.0 (result i32) @@ -669,7 +667,7 @@ i32.const 16 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get:offset|inlined.4 (result i32) @@ -685,7 +683,7 @@ i32.const 16 i32.const 92 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -710,7 +708,7 @@ i32.const 16 i32.const 94 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get:offset|inlined.5 (result i32) @@ -726,7 +724,7 @@ i32.const 16 i32.const 95 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get:offset|inlined.6 (result i32) @@ -742,7 +740,7 @@ i32.const 16 i32.const 97 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#dec|inlined.0 (result i32) @@ -774,7 +772,7 @@ i32.const 16 i32.const 100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get:value|inlined.4 (result i32) @@ -792,7 +790,7 @@ i32.const 16 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get:value|inlined.5 (result i32) @@ -810,7 +808,7 @@ i32.const 16 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/one @@ -838,7 +836,7 @@ i32.const 16 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get:value|inlined.7 (result i32) @@ -856,7 +854,7 @@ i32.const 16 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get:value|inlined.8 (result i32) @@ -874,7 +872,7 @@ i32.const 16 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#constructor|inlined.0 (result i32) @@ -913,7 +911,7 @@ i32.const 16 i32.const 113 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get|inlined.1 (result f32) @@ -936,7 +934,7 @@ i32.const 16 i32.const 114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get|inlined.2 (result f32) @@ -959,7 +957,7 @@ i32.const 16 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get|inlined.3 (result f32) @@ -982,7 +980,7 @@ i32.const 16 i32.const 117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -995,7 +993,7 @@ i32.const 16 i32.const 119 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -1008,7 +1006,7 @@ i32.const 16 i32.const 120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#set|inlined.0 @@ -1046,7 +1044,7 @@ i32.const 16 i32.const 123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $std/pointer/Pointer#get|inlined.5 (result f32) @@ -1069,7 +1067,7 @@ i32.const 16 i32.const 124 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -1082,7 +1080,7 @@ i32.const 16 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/pointer/buf @@ -1103,7 +1101,7 @@ i32.const 16 i32.const 128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1116,7 +1114,7 @@ i32.const 16 i32.const 129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/polyfills.optimized.wat b/tests/compiler/std/polyfills.optimized.wat index f125f528..6b1a46b2 100644 --- a/tests/compiler/std/polyfills.optimized.wat +++ b/tests/compiler/std/polyfills.optimized.wat @@ -1,11 +1,8 @@ (module (type $FUNCSIG$v (func)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00 \00\00\00s\00t\00d\00/\00p\00o\00l\00y\00f\00i\00l\00l\00s\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $start) + (data (i32.const 8) "\10\00\00\00 \00\00\00s\00t\00d\00/\00p\00o\00l\00y\00f\00i\00l\00l\00s\00.\00t\00s") (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/std/polyfills.untouched.wat b/tests/compiler/std/polyfills.untouched.wat index c1546710..cc181632 100644 --- a/tests/compiler/std/polyfills.untouched.wat +++ b/tests/compiler/std/polyfills.untouched.wat @@ -3,14 +3,12 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$jj (func (param i64) (result i64))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00 \00\00\00s\00t\00d\00/\00p\00o\00l\00y\00f\00i\00l\00l\00s\00.\00t\00s\00") + (data (i32.const 8) "\10\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/memory/HEAP_BASE i32 (i32.const 48)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $~lib/polyfills/bswap (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -271,7 +269,7 @@ i32.const 16 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 170 @@ -292,7 +290,7 @@ i32.const 16 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 43707 @@ -307,7 +305,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 43707 @@ -328,7 +326,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1430532899 @@ -341,7 +339,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1430532899 @@ -354,7 +352,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4822679907192029 @@ -367,7 +365,7 @@ i32.const 16 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4822679907192029 @@ -380,7 +378,7 @@ i32.const 16 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1430532899 @@ -393,7 +391,7 @@ i32.const 16 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1430532899 @@ -406,7 +404,7 @@ i32.const 16 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 170 @@ -421,7 +419,7 @@ i32.const 16 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 170 @@ -442,7 +440,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 43707 @@ -457,7 +455,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 43707 @@ -478,7 +476,7 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -7820613 @@ -491,7 +489,7 @@ i32.const 16 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -7820613 @@ -504,7 +502,7 @@ i32.const 16 i32.const 33 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/runtime.optimized.wat b/tests/compiler/std/runtime.optimized.wat index ca3aad57..123c806f 100644 --- a/tests/compiler/std/runtime.optimized.wat +++ b/tests/compiler/std/runtime.optimized.wat @@ -8,23 +8,21 @@ (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\03\00\00\00\1c") + (data (i32.const 8) "\10\00\00\00\1c") (data (i32.const 24) "s\00t\00d\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 56) "\03\00\00\00\10") + (data (i32.const 56) "\10\00\00\00\10") (data (i32.const 72) "b\00a\00r\00r\00i\00e\00r\001") - (data (i32.const 88) "\03\00\00\00\10") + (data (i32.const 88) "\10\00\00\00\10") (data (i32.const 104) "b\00a\00r\00r\00i\00e\00r\002") - (data (i32.const 120) "\03\00\00\00\10") + (data (i32.const 120) "\10\00\00\00\10") (data (i32.const 136) "b\00a\00r\00r\00i\00e\00r\003") - (data (i32.const 152) "\03\00\00\00,") + (data (i32.const 152) "\10\00\00\00,") (data (i32.const 168) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 216) "\03\00\00\00(") + (data (i32.const 216) "\10\00\00\00(") (data (i32.const 232) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $std/runtime/register_ref (mut i32) (i32.const 0)) (global $std/runtime/barrier1 (mut i32) (i32.const 0)) (global $std/runtime/barrier2 (mut i32) (i32.const 0)) @@ -41,7 +39,6 @@ (global $~lib/started (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $std/runtime/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/tlsf/Root#setSLMap (; 2 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) @@ -53,7 +50,7 @@ i32.const 168 i32.const 159 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -73,7 +70,7 @@ i32.const 168 i32.const 184 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -84,7 +81,7 @@ i32.const 168 i32.const 185 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -110,7 +107,7 @@ i32.const 168 i32.const 104 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -128,7 +125,7 @@ i32.const 168 i32.const 105 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -141,7 +138,7 @@ i32.const 168 i32.const 447 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 31 @@ -158,7 +155,7 @@ i32.const 168 i32.const 175 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -169,7 +166,7 @@ i32.const 168 i32.const 176 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -192,7 +189,7 @@ i32.const 168 i32.const 153 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -218,7 +215,7 @@ i32.const 168 i32.const 277 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -241,7 +238,7 @@ i32.const 168 i32.const 279 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -342,7 +339,7 @@ i32.const 168 i32.const 96 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -356,7 +353,7 @@ i32.const 168 i32.const 97 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -372,7 +369,7 @@ i32.const 168 i32.const 353 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -384,7 +381,7 @@ i32.const 168 i32.const 354 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -397,7 +394,7 @@ i32.const 168 i32.const 355 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -418,7 +415,7 @@ i32.const 168 i32.const 208 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -432,7 +429,7 @@ i32.const 168 i32.const 210 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -456,7 +453,7 @@ i32.const 168 i32.const 212 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -468,7 +465,7 @@ i32.const 168 i32.const 216 i32.const 23 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -509,7 +506,7 @@ i32.const 168 i32.const 230 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -523,7 +520,7 @@ i32.const 168 i32.const 232 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -568,7 +565,7 @@ i32.const 168 i32.const 245 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -647,7 +644,7 @@ i32.const 168 i32.const 396 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -658,7 +655,7 @@ i32.const 168 i32.const 397 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -669,7 +666,7 @@ i32.const 168 i32.const 398 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2912 @@ -686,7 +683,7 @@ i32.const 168 i32.const 403 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -714,7 +711,7 @@ i32.const 168 i32.const 412 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -767,7 +764,7 @@ i32.const 168 i32.const 441 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -793,7 +790,7 @@ i32.const 168 i32.const 315 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -872,7 +869,7 @@ i32.const 168 i32.const 342 i32.const 16 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -899,7 +896,7 @@ i32.const 168 i32.const 367 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -919,7 +916,7 @@ i32.const 168 i32.const 368 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -930,7 +927,7 @@ i32.const 168 i32.const 369 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -982,7 +979,7 @@ i32.const 168 i32.const 387 i32.const 25 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1143,7 +1140,7 @@ i32.const 168 i32.const 502 i32.const 12 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1158,7 +1155,7 @@ i32.const 168 i32.const 505 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1597,7 +1594,7 @@ i32.const 168 i32.const 518 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1690,9 +1687,9 @@ if i32.const 0 i32.const 232 - i32.const 88 + i32.const 91 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1727,9 +1724,9 @@ if i32.const 0 i32.const 232 - i32.const 114 + i32.const 117 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1742,9 +1739,9 @@ if i32.const 0 i32.const 232 - i32.const 116 + i32.const 119 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1758,9 +1755,9 @@ if i32.const 0 i32.const 232 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1773,13 +1770,13 @@ if i32.const 0 i32.const 232 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 - i32.const 1 + i32.const 17 i32.store local.get $0 global.set $std/runtime/register_ref @@ -1826,7 +1823,7 @@ i32.const 24 i32.const 52 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -1902,7 +1899,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 104 i32.const 1 global.get $std/runtime/barrier2 @@ -1911,7 +1908,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 136 i32.const 1 global.get $std/runtime/barrier3 @@ -1920,7 +1917,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 1 call $~lib/util/runtime/allocate global.set $std/runtime/ref1 @@ -1937,7 +1934,7 @@ i32.const 24 i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/header1 @@ -1949,7 +1946,7 @@ i32.const 24 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/ref1 @@ -1963,7 +1960,7 @@ i32.const 24 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/barrier1 @@ -1975,7 +1972,7 @@ i32.const 24 i32.const 70 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/ref1 @@ -1990,7 +1987,7 @@ i32.const 24 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/ref2 @@ -2006,7 +2003,7 @@ i32.const 24 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/ref2 @@ -2022,7 +2019,7 @@ i32.const 24 i32.const 77 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/barrier1 @@ -2038,7 +2035,7 @@ i32.const 24 i32.const 81 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/register_ref @@ -2047,14 +2044,14 @@ global.set $std/runtime/header4 global.get $std/runtime/header4 i32.load - i32.const 1 + i32.const 17 i32.ne if i32.const 0 i32.const 24 i32.const 83 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/barrier1 @@ -2066,7 +2063,7 @@ i32.const 24 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 10 @@ -2083,7 +2080,7 @@ i32.const 24 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/ref5 @@ -2099,7 +2096,7 @@ i32.const 24 i32.const 88 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/runtime.untouched.wat b/tests/compiler/std/runtime.untouched.wat index 70f30eee..6b426e6c 100644 --- a/tests/compiler/std/runtime.untouched.wat +++ b/tests/compiler/std/runtime.untouched.wat @@ -8,15 +8,15 @@ (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\03\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 56) "\03\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00b\00a\00r\00r\00i\00e\00r\001\00") - (data (i32.const 88) "\03\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00b\00a\00r\00r\00i\00e\00r\002\00") - (data (i32.const 120) "\03\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00b\00a\00r\00r\00i\00e\00r\003\00") - (data (i32.const 152) "\03\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 216) "\03\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 56) "\10\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00b\00a\00r\00r\00i\00e\00r\001\00") + (data (i32.const 88) "\10\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00b\00a\00r\00r\00i\00e\00r\002\00") + (data (i32.const 120) "\10\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00b\00a\00r\00r\00i\00e\00r\003\00") + (data (i32.const 152) "\10\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 216) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/runtime/register_ref (mut i32) (i32.const 0)) @@ -57,7 +57,6 @@ (global $~lib/memory/HEAP_BASE i32 (i32.const 272)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $std/runtime/main)) (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -105,7 +104,7 @@ i32.const 168 i32.const 159 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -126,7 +125,7 @@ i32.const 168 i32.const 184 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -138,7 +137,7 @@ i32.const 168 i32.const 185 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -171,7 +170,7 @@ i32.const 168 i32.const 104 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -191,7 +190,7 @@ i32.const 168 i32.const 105 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $1 @@ -207,7 +206,7 @@ i32.const 168 i32.const 447 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 31 @@ -225,7 +224,7 @@ i32.const 168 i32.const 175 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -237,7 +236,7 @@ i32.const 168 i32.const 176 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -261,7 +260,7 @@ i32.const 168 i32.const 153 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -291,7 +290,7 @@ i32.const 168 i32.const 277 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -317,7 +316,7 @@ i32.const 168 i32.const 279 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -428,7 +427,7 @@ i32.const 168 i32.const 96 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -442,7 +441,7 @@ i32.const 168 i32.const 97 i32.const 11 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $1 @@ -459,7 +458,7 @@ i32.const 168 i32.const 353 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -472,7 +471,7 @@ i32.const 168 i32.const 354 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -485,7 +484,7 @@ i32.const 168 i32.const 355 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -511,7 +510,7 @@ i32.const 168 i32.const 208 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -526,7 +525,7 @@ i32.const 168 i32.const 210 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -552,7 +551,7 @@ i32.const 168 i32.const 212 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -564,7 +563,7 @@ i32.const 168 i32.const 216 i32.const 23 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $4 @@ -612,7 +611,7 @@ i32.const 168 i32.const 230 i32.const 24 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $4 @@ -630,7 +629,7 @@ i32.const 168 i32.const 232 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -685,7 +684,7 @@ i32.const 168 i32.const 245 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -776,7 +775,7 @@ i32.const 168 i32.const 396 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -789,7 +788,7 @@ i32.const 168 i32.const 397 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -802,7 +801,7 @@ i32.const 168 i32.const 398 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -823,7 +822,7 @@ i32.const 168 i32.const 403 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -852,7 +851,7 @@ i32.const 168 i32.const 412 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -923,7 +922,7 @@ i32.const 168 i32.const 441 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -939,7 +938,7 @@ i32.const 168 i32.const 441 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -969,7 +968,7 @@ i32.const 168 i32.const 315 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1065,7 +1064,7 @@ i32.const 168 i32.const 342 i32.const 16 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.set $5 @@ -1102,7 +1101,7 @@ i32.const 168 i32.const 367 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1122,7 +1121,7 @@ i32.const 168 i32.const 368 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -1135,7 +1134,7 @@ i32.const 168 i32.const 369 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1195,7 +1194,7 @@ i32.const 168 i32.const 387 i32.const 25 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $4 @@ -1421,7 +1420,7 @@ i32.const 168 i32.const 502 i32.const 12 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $6 @@ -1442,7 +1441,7 @@ i32.const 168 i32.const 505 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1970,7 +1969,7 @@ i32.const 168 i32.const 518 i32.const 6 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2065,9 +2064,9 @@ if i32.const 0 i32.const 232 - i32.const 88 + i32.const 91 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2107,9 +2106,9 @@ if i32.const 0 i32.const 232 - i32.const 114 + i32.const 117 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2124,9 +2123,9 @@ if i32.const 0 i32.const 232 - i32.const 116 + i32.const 119 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2141,9 +2140,9 @@ if i32.const 0 i32.const 232 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2158,9 +2157,9 @@ if i32.const 0 i32.const 232 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -2186,8 +2185,8 @@ ) (func $start:std/runtime (; 34 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 1 - i32.const 2 + i32.const 17 + i32.const 18 i32.ne i32.eqz if @@ -2195,7 +2194,7 @@ i32.const 24 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2208,7 +2207,7 @@ i32.const 24 i32.const 50 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|0 @@ -2229,7 +2228,7 @@ i32.const 24 i32.const 52 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2296,7 +2295,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 104 i32.const 1 global.get $std/runtime/barrier2 @@ -2305,7 +2304,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 136 i32.const 1 global.get $std/runtime/barrier3 @@ -2314,7 +2313,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 1 call $~lib/util/runtime/allocate global.set $std/runtime/ref1 @@ -2332,7 +2331,7 @@ i32.const 24 i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/header1 @@ -2345,7 +2344,7 @@ i32.const 24 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/ref1 @@ -2359,7 +2358,7 @@ i32.const 24 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/header1 @@ -2372,7 +2371,7 @@ i32.const 24 i32.const 70 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/ref1 @@ -2388,7 +2387,7 @@ i32.const 24 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/ref2 @@ -2405,7 +2404,7 @@ i32.const 24 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/ref2 @@ -2422,14 +2421,14 @@ i32.const 24 i32.const 77 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/barrier1 call $~lib/util/runtime/allocate global.set $std/runtime/ref4 global.get $std/runtime/ref4 - i32.const 1 + i32.const 17 call $~lib/util/runtime/register drop global.get $std/runtime/register_ref @@ -2441,7 +2440,7 @@ i32.const 24 i32.const 81 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/register_ref @@ -2450,7 +2449,7 @@ global.set $std/runtime/header4 global.get $std/runtime/header4 i32.load - i32.const 1 + i32.const 17 i32.eq i32.eqz if @@ -2458,7 +2457,7 @@ i32.const 24 i32.const 83 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/header4 @@ -2471,7 +2470,7 @@ i32.const 24 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 10 @@ -2487,7 +2486,7 @@ i32.const 24 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/runtime/ref5 @@ -2500,7 +2499,7 @@ i32.const 24 i32.const 88 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/std/set.optimized.wat b/tests/compiler/std/set.optimized.wat index 1342b31d..5a11eaa3 100644 --- a/tests/compiler/std/set.optimized.wat +++ b/tests/compiler/std/set.optimized.wat @@ -17,21 +17,30 @@ (type $FUNCSIG$iidi (func (param i32 f64 i32) (result i32))) (type $FUNCSIG$vid (func (param i32 f64))) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 8) "\10\00\00\00(") (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 64) "\02\00\00\00&") + (data (i32.const 64) "\10\00\00\00&") (data (i32.const 80) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 120) "\02\00\00\00\14") + (data (i32.const 120) "\10\00\00\00\14") (data (i32.const 136) "s\00t\00d\00/\00s\00e\00t\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 160) "\1c") + (data (i32.const 296) "\n\00\00\00\00\00\00\00\n\00\00\00\00\00\00\00\12\00\00\00\00\00\00\00\12\00\00\00\00\00\00\00\"\00\00\00\00\00\00\00\"\00\00\00\00\00\00\00B\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\"\00\00\00\00\00\00\00B\00\00\00\00\00\00\00!\00\00\00\0e") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -126,14 +135,14 @@ (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 156 + i32.const 392 i32.le_u if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -146,9 +155,9 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -377,7 +386,7 @@ i32.const 80 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -386,7 +395,7 @@ local.get $0 call $~lib/memory/memory.fill local.get $1 - i32.const 3 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/set/Set#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) @@ -428,7 +437,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -796,7 +805,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -816,7 +825,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -831,7 +840,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 50 @@ -850,7 +859,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -870,7 +879,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -885,7 +894,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -904,7 +913,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -918,7 +927,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -939,7 +948,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -957,7 +966,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -972,7 +981,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -986,7 +995,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -1007,7 +1016,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1019,7 +1028,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1027,7 +1036,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 18 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -1344,7 +1353,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1364,7 +1373,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -1379,7 +1388,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 50 @@ -1398,7 +1407,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1418,7 +1427,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -1433,7 +1442,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1452,7 +1461,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1466,7 +1475,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -1487,7 +1496,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1505,7 +1514,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1520,7 +1529,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1534,7 +1543,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -1555,7 +1564,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1567,7 +1576,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1575,7 +1584,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 19 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -1979,7 +1988,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1999,7 +2008,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -2014,7 +2023,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 50 @@ -2033,7 +2042,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2053,7 +2062,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -2068,7 +2077,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2087,7 +2096,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2101,7 +2110,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -2122,7 +2131,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2140,7 +2149,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2155,7 +2164,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2169,7 +2178,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -2190,7 +2199,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2202,7 +2211,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2210,7 +2219,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 20 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -2563,7 +2572,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2583,7 +2592,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -2598,7 +2607,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 50 @@ -2617,7 +2626,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2637,7 +2646,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -2652,7 +2661,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2671,7 +2680,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2685,7 +2694,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -2706,7 +2715,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2724,7 +2733,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2739,7 +2748,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2753,7 +2762,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -2774,7 +2783,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2786,7 +2795,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2794,7 +2803,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 21 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -3165,7 +3174,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3185,7 +3194,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -3200,7 +3209,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 50 @@ -3219,7 +3228,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3239,7 +3248,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -3254,7 +3263,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -3273,7 +3282,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3287,7 +3296,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3308,7 +3317,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -3326,7 +3335,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3341,7 +3350,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3355,7 +3364,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3376,7 +3385,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3388,7 +3397,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3396,7 +3405,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 8 + i32.const 22 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -3438,7 +3447,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3458,7 +3467,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -3473,7 +3482,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 50 @@ -3492,7 +3501,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3512,7 +3521,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -3527,7 +3536,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -3546,7 +3555,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3560,7 +3569,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3581,7 +3590,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -3599,7 +3608,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3614,7 +3623,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3628,7 +3637,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -3649,7 +3658,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3661,7 +3670,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3704,7 +3713,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 9 + i32.const 23 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -4111,7 +4120,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4131,7 +4140,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -4146,7 +4155,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 50 @@ -4165,7 +4174,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4185,7 +4194,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -4200,7 +4209,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -4219,7 +4228,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4233,7 +4242,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -4254,7 +4263,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -4272,7 +4281,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4287,7 +4296,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4301,7 +4310,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -4322,7 +4331,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4334,7 +4343,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4342,7 +4351,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 24 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -4384,7 +4393,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4404,7 +4413,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -4419,7 +4428,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 50 @@ -4438,7 +4447,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4458,7 +4467,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -4473,7 +4482,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -4492,7 +4501,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4506,7 +4515,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -4527,7 +4536,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -4545,7 +4554,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4560,7 +4569,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4574,7 +4583,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -4595,7 +4604,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4607,7 +4616,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4615,7 +4624,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 11 + i32.const 25 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -4960,7 +4969,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -4980,7 +4989,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -4995,7 +5004,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 50 @@ -5014,7 +5023,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5034,7 +5043,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -5049,7 +5058,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -5068,7 +5077,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5082,7 +5091,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5103,7 +5112,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f32.const 0 @@ -5121,7 +5130,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5136,7 +5145,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5150,7 +5159,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5171,7 +5180,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5183,7 +5192,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5191,7 +5200,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 12 + i32.const 26 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -5536,7 +5545,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5556,7 +5565,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -5571,7 +5580,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 50 @@ -5590,7 +5599,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5610,7 +5619,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end unreachable @@ -5625,7 +5634,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -5644,7 +5653,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5658,7 +5667,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5679,7 +5688,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -5697,7 +5706,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5712,7 +5721,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5726,7 +5735,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -5747,7 +5756,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5759,12 +5768,187 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 68 ;) (type $FUNCSIG$v) - i32.const 160 + (func $~lib/runtime/runtime.instanceof (; 68 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 160 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 160 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 160 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 160 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 71 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 72 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 73 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.tee $2 + i32.eqz + local.tee $0 + if (result i32) + local.get $0 + else + local.get $2 + i32.const 160 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $2 + i32.const 3 + i32.shl + i32.const 160 + i32.add + i32.load + end + local.tee $0 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 16 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $3 + local.get $2 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $2 + i32.load + drop + local.get $2 + local.get $1 + i32.store + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $3 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $0 + i32.const 512 + i32.and + if + local.get $1 + local.get $3 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load + drop + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $2 + ) + (func $~lib/runtime/runtime.retain (; 74 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 75 ;) (type $FUNCSIG$v) + nop + ) + (func $start (; 76 ;) (type $FUNCSIG$v) + i32.const 392 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -5778,8 +5962,10 @@ call $std/set/testNumeric call $std/set/testNumeric call $std/set/testNumeric - ) - (func $null (; 69 ;) (type $FUNCSIG$v) - nop + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 28 + call $~lib/util/runtime/register + global.set $~lib/runtime/ROOT ) ) diff --git a/tests/compiler/std/set.untouched.wat b/tests/compiler/std/set.untouched.wat index 3031b857..e55446ba 100644 --- a/tests/compiler/std/set.untouched.wat +++ b/tests/compiler/std/set.untouched.wat @@ -17,11 +17,12 @@ (type $FUNCSIG$iid (func (param i32 f64) (result i32))) (type $FUNCSIG$iidi (func (param i32 f64 i32) (result i32))) (type $FUNCSIG$vid (func (param i32 f64))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 64) "\02\00\00\00&\00\00\00\00\00\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 120) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\10\00\00\00&\00\00\00\00\00\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 120) "\10\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00") + (data (i32.const 160) "\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\00\00\00\00\n\00\00\00\00\00\00\00\12\00\00\00\00\00\00\00\12\00\00\00\00\00\00\00\"\00\00\00\00\00\00\00\"\00\00\00\00\00\00\00B\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\"\00\00\00\00\00\00\00B\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -30,10 +31,20 @@ (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/util/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 156)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 160)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 392)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -166,9 +177,9 @@ if i32.const 0 i32.const 24 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -183,9 +194,9 @@ if i32.const 0 i32.const 24 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -462,7 +473,7 @@ i32.const 80 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -473,7 +484,7 @@ local.get $1 call $~lib/memory/memory.fill local.get $2 - i32.const 3 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/collector/dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -558,7 +569,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 1 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -1045,7 +1056,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1060,7 +1071,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1083,7 +1094,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -1105,7 +1116,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1120,7 +1131,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1143,7 +1154,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -1165,7 +1176,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1182,7 +1193,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1205,7 +1216,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -1228,7 +1239,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1243,7 +1254,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1260,7 +1271,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1283,7 +1294,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1298,7 +1309,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1378,7 +1389,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -1850,7 +1861,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1865,7 +1876,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1888,7 +1899,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -1910,7 +1921,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1925,7 +1936,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -1948,7 +1959,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -1970,7 +1981,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1987,7 +1998,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2010,7 +2021,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -2033,7 +2044,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2048,7 +2059,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2065,7 +2076,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2088,7 +2099,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2103,7 +2114,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2183,7 +2194,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 19 call $~lib/util/runtime/register local.set $0 end @@ -2685,7 +2696,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2700,7 +2711,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2723,7 +2734,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -2745,7 +2756,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2760,7 +2771,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2783,7 +2794,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -2805,7 +2816,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2822,7 +2833,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2845,7 +2856,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -2868,7 +2879,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2883,7 +2894,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2900,7 +2911,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -2923,7 +2934,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2938,7 +2949,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3018,7 +3029,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 20 call $~lib/util/runtime/register local.set $0 end @@ -3490,7 +3501,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3505,7 +3516,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -3528,7 +3539,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -3550,7 +3561,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3565,7 +3576,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -3588,7 +3599,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -3610,7 +3621,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3627,7 +3638,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -3650,7 +3661,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -3673,7 +3684,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3688,7 +3699,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3705,7 +3716,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -3728,7 +3739,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3743,7 +3754,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3823,7 +3834,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 21 call $~lib/util/runtime/register local.set $0 end @@ -4329,7 +4340,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4344,7 +4355,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -4367,7 +4378,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -4389,7 +4400,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4404,7 +4415,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -4427,7 +4438,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -4449,7 +4460,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4466,7 +4477,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -4489,7 +4500,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -4512,7 +4523,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4527,7 +4538,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4544,7 +4555,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -4567,7 +4578,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4582,7 +4593,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4662,7 +4673,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 8 + i32.const 22 call $~lib/util/runtime/register local.set $0 end @@ -5126,7 +5137,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5141,7 +5152,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -5164,7 +5175,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -5186,7 +5197,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5201,7 +5212,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -5224,7 +5235,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -5246,7 +5257,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5263,7 +5274,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -5286,7 +5297,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -5309,7 +5320,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5324,7 +5335,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5341,7 +5352,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -5364,7 +5375,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5379,7 +5390,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5459,7 +5470,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 9 + i32.const 23 call $~lib/util/runtime/register local.set $0 end @@ -6014,7 +6025,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6029,7 +6040,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6052,7 +6063,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -6074,7 +6085,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6089,7 +6100,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6112,7 +6123,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -6134,7 +6145,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6151,7 +6162,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6174,7 +6185,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -6197,7 +6208,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6212,7 +6223,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6229,7 +6240,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6252,7 +6263,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6267,7 +6278,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6347,7 +6358,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 24 call $~lib/util/runtime/register local.set $0 end @@ -6814,7 +6825,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6829,7 +6840,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6852,7 +6863,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -6874,7 +6885,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6889,7 +6900,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6912,7 +6923,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -6934,7 +6945,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6951,7 +6962,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -6974,7 +6985,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -6997,7 +7008,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7012,7 +7023,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7029,7 +7040,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -7052,7 +7063,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7067,7 +7078,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7147,7 +7158,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 11 + i32.const 25 call $~lib/util/runtime/register local.set $0 end @@ -7618,7 +7629,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7633,7 +7644,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -7656,7 +7667,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -7678,7 +7689,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7693,7 +7704,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -7716,7 +7727,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -7738,7 +7749,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7755,7 +7766,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -7778,7 +7789,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -7801,7 +7812,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7816,7 +7827,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7833,7 +7844,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -7856,7 +7867,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7871,7 +7882,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7951,7 +7962,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 12 + i32.const 26 call $~lib/util/runtime/register local.set $0 end @@ -8422,7 +8433,7 @@ i32.const 136 i32.const 8 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8437,7 +8448,7 @@ i32.const 136 i32.const 10 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -8460,7 +8471,7 @@ i32.const 136 i32.const 12 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|1 @@ -8482,7 +8493,7 @@ i32.const 136 i32.const 16 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8497,7 +8508,7 @@ i32.const 136 i32.const 18 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -8520,7 +8531,7 @@ i32.const 136 i32.const 20 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|2 @@ -8542,7 +8553,7 @@ i32.const 136 i32.const 24 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8559,7 +8570,7 @@ i32.const 136 i32.const 26 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -8582,7 +8593,7 @@ i32.const 136 i32.const 28 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $break|3 @@ -8605,7 +8616,7 @@ i32.const 136 i32.const 32 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8620,7 +8631,7 @@ i32.const 136 i32.const 34 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8637,7 +8648,7 @@ i32.const 136 i32.const 36 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -8660,7 +8671,7 @@ i32.const 136 i32.const 38 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8675,7 +8686,7 @@ i32.const 136 i32.const 42 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8701,9 +8712,239 @@ call $std/set/testNumeric call $std/set/testNumeric ) - (func $start (; 106 ;) (type $FUNCSIG$v) - call $start:std/set + (func $~lib/runtime/runtime.instanceof (; 106 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 107 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 107 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 108 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 109 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 110 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 111 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 112 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.tee $6 + local.get $1 + local.tee $7 + local.get $6 + i32.load + local.tee $8 + i32.ne + if (result i32) + local.get $8 + if + local.get $8 + local.get $6 + call $~lib/collector/dummy/__ref_unlink + end + local.get $7 + local.get $6 + call $~lib/collector/dummy/__ref_link + local.get $7 + else + local.get $7 + end + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $8 + block $break|0 + loop $continue|0 + local.get $6 + local.get $8 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $7 + local.get $7 + if + local.get $7 + local.get $5 + call $~lib/collector/dummy/__ref_link + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/Root#constructor (; 113 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 28 + call $~lib/util/runtime/register + local.set $0 + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 114 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_link + ) + (func $~lib/runtime/runtime.release (; 115 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_unlink + ) + (func $~lib/collector/dummy/__ref_collect (; 116 ;) (type $FUNCSIG$v) + nop + ) + (func $~lib/runtime/runtime.collect (; 117 ;) (type $FUNCSIG$v) + call $~lib/collector/dummy/__ref_collect + ) + (func $~lib/runtime/runtime#constructor (; 118 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 119 ;) (type $FUNCSIG$v) + call $start:std/set + i32.const 0 + call $~lib/runtime/Root#constructor + global.set $~lib/runtime/ROOT + ) + (func $null (; 120 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/simd.optimized.wat b/tests/compiler/std/simd.optimized.wat index 587c7142..bb456a11 100644 --- a/tests/compiler/std/simd.optimized.wat +++ b/tests/compiler/std/simd.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (func $null (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/std/simd.untouched.wat b/tests/compiler/std/simd.untouched.wat index 2f0347c4..9f143275 100644 --- a/tests/compiler/std/simd.untouched.wat +++ b/tests/compiler/std/simd.untouched.wat @@ -4,9 +4,7 @@ (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/ASC_FEATURE_SIMD i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $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 63c3e410..a1513dfc 100644 --- a/tests/compiler/std/static-array.optimized.wat +++ b/tests/compiler/std/static-array.optimized.wat @@ -3,31 +3,41 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ji (func (param i32) (result i64))) (type $FUNCSIG$fi (func (param i32) (result f32))) (type $FUNCSIG$di (func (param i32) (result f64))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 24) "\02\00\00\00\10\00\00\00\10\00\00\00\10\00\00\00\08\00\00\00\02") - (data (i32.const 48) "\01\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04") - (data (i32.const 72) "\03\00\00\00\10\00\00\008\00\00\008\00\00\00\10\00\00\00\02") - (data (i32.const 96) "\01\00\00\00\08\00\00\00\00\00\c0?\00\00 @") - (data (i32.const 112) "\04\00\00\00\10\00\00\00h\00\00\00h\00\00\00\08\00\00\00\02") - (data (i32.const 136) "\01\00\00\00\10") + (data (i32.const 8) "\0f\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 24) "\11\00\00\00\10\00\00\00\10\00\00\00\10\00\00\00\08\00\00\00\02") + (data (i32.const 48) "\0f\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04") + (data (i32.const 72) "\12\00\00\00\10\00\00\008\00\00\008\00\00\00\10\00\00\00\02") + (data (i32.const 96) "\0f\00\00\00\08\00\00\00\00\00\c0?\00\00 @") + (data (i32.const 112) "\13\00\00\00\10\00\00\00h\00\00\00h\00\00\00\08\00\00\00\02") + (data (i32.const 136) "\0f\00\00\00\10") (data (i32.const 150) "\f4?\00\00\00\00\00\00\02@") - (data (i32.const 160) "\05\00\00\00\10\00\00\00\90\00\00\00\90\00\00\00\10\00\00\00\02") - (data (i32.const 184) "\06\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 232) "\06\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 272) "\06\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 160) "\14\00\00\00\10\00\00\00\90\00\00\00\90\00\00\00\10\00\00\00\02") + (data (i32.const 184) "\10\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 232) "\10\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 272) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 320) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 360) "\14") + (data (i32.const 496) "!\00\00\00\0e\00\00\00A\00\00\00\0e\00\00\00!\00\00\00\0e\00\00\00A\00\00\00\0e") (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/allocator/arena/__mem_free)) + (export "$.release" (func $~lib/allocator/arena/__mem_free)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/array/Array#__get (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -41,7 +51,7 @@ i32.const 240 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 36 @@ -496,7 +506,10 @@ end end ) - (func $~lib/util/runtime/reallocate (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/arena/__mem_free (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/util/runtime/reallocate (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -530,7 +543,7 @@ i32.shl i32.const 0 local.get $0 - i32.const 320 + i32.const 528 i32.gt_u select local.get $4 @@ -562,14 +575,14 @@ i32.eq if local.get $0 - i32.const 320 + i32.const 528 i32.le_u if i32.const 0 i32.const 280 - i32.const 88 + i32.const 91 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -592,7 +605,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureCapacity (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureCapacity (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) i32.const 1 @@ -612,7 +625,7 @@ i32.const 240 i32.const 14 i32.const 64 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -640,7 +653,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#__set (; 7 ;) (type $FUNCSIG$v) + (func $~lib/array/Array#__set (; 8 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 44 i32.load @@ -661,7 +674,7 @@ i32.store end ) - (func $~lib/array/Array#__get (; 8 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64) + (func $~lib/array/Array#__get (; 9 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64) local.get $0 i32.const 88 i32.load @@ -673,7 +686,7 @@ i32.const 240 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 84 @@ -684,7 +697,7 @@ i32.add i64.load ) - (func $~lib/array/Array#__set (; 9 ;) (type $FUNCSIG$v) + (func $~lib/array/Array#__set (; 10 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 92 i32.load @@ -705,7 +718,7 @@ i32.store end ) - (func $~lib/array/Array#__get (; 10 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) + (func $~lib/array/Array#__get (; 11 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) local.get $0 i32.const 128 i32.load @@ -717,7 +730,7 @@ i32.const 240 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 124 @@ -728,7 +741,7 @@ i32.add f32.load ) - (func $~lib/array/Array#__set (; 11 ;) (type $FUNCSIG$v) + (func $~lib/array/Array#__set (; 12 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 132 i32.load @@ -749,7 +762,7 @@ i32.store end ) - (func $~lib/array/Array#__get (; 12 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/array/Array#__get (; 13 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) local.get $0 i32.const 176 i32.load @@ -761,7 +774,7 @@ i32.const 240 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 172 @@ -772,7 +785,7 @@ i32.add f64.load ) - (func $~lib/array/Array#__set (; 13 ;) (type $FUNCSIG$v) + (func $~lib/array/Array#__set (; 14 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 180 i32.load @@ -793,7 +806,7 @@ i32.store end ) - (func $start:std/static-array (; 14 ;) (type $FUNCSIG$v) + (func $start:std/static-array (; 15 ;) (type $FUNCSIG$v) i32.const 44 i32.load i32.const 2 @@ -803,7 +816,7 @@ i32.const 192 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -815,7 +828,7 @@ i32.const 192 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -827,10 +840,10 @@ i32.const 192 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 320 + i32.const 528 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -844,7 +857,7 @@ i32.const 192 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 92 @@ -856,7 +869,7 @@ i32.const 192 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -868,7 +881,7 @@ i32.const 192 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -880,7 +893,7 @@ i32.const 192 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $~lib/array/Array#__set @@ -893,7 +906,7 @@ i32.const 192 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 132 @@ -905,7 +918,7 @@ i32.const 192 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -917,7 +930,7 @@ i32.const 192 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -929,7 +942,7 @@ i32.const 192 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $~lib/array/Array#__set @@ -942,7 +955,7 @@ i32.const 192 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 180 @@ -954,7 +967,7 @@ i32.const 192 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -966,7 +979,7 @@ i32.const 192 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -978,7 +991,7 @@ i32.const 192 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $~lib/array/Array#__set @@ -991,14 +1004,250 @@ i32.const 192 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 15 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 360 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 360 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 360 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 360 + i32.add + i32.load + end + ) + (func $~lib/util/runtime/allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + i32.const 1 + i32.const 32 + local.get $0 + i32.const 7 + i32.add + i32.clz + i32.sub + i32.shl + call $~lib/allocator/arena/__mem_allocate + local.tee $1 + i32.const -1520547049 + i32.store + local.get $1 + local.get $0 + i32.store offset=4 + local.get $1 + i32.const 8 + i32.add + ) + (func $~lib/util/runtime/register (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + i32.const 528 + i32.le_u + if + i32.const 0 + i32.const 280 + i32.const 131 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 8 + i32.sub + local.tee $2 + i32.load + i32.const -1520547049 + i32.ne + if + i32.const 0 + i32.const 280 + i32.const 133 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + i32.store + local.get $0 + ) + (func $~lib/runtime/runtime.newObject (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + block (result i32) + local.get $0 + call $~lib/util/runtime/allocate + end + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + i32.const 360 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 360 + i32.add + i32.load + end + local.tee $3 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 8 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $2 + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $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 $0 + local.get $2 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $3 + i32.const 512 + i32.and + if + local.get $1 + local.get $2 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + if + i32.const 0 + i32.const 328 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $0 + ) + (func $~lib/runtime/runtime.collect (; 24 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 328 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 25 ;) (type $FUNCSIG$v) call $start:std/static-array ) - (func $null (; 16 ;) (type $FUNCSIG$v) + (func $null (; 26 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/static-array.untouched.wat b/tests/compiler/std/static-array.untouched.wat index e8745b30..ddb6f499 100644 --- a/tests/compiler/std/static-array.untouched.wat +++ b/tests/compiler/std/static-array.untouched.wat @@ -11,19 +11,21 @@ (type $FUNCSIG$dii (func (param i32 i32) (result f64))) (type $FUNCSIG$viid (func (param i32 i32 f64))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 24) "\02\00\00\00\10\00\00\00\10\00\00\00\10\00\00\00\08\00\00\00\02\00\00\00") - (data (i32.const 48) "\01\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00") - (data (i32.const 72) "\03\00\00\00\10\00\00\008\00\00\008\00\00\00\10\00\00\00\02\00\00\00") - (data (i32.const 96) "\01\00\00\00\08\00\00\00\00\00\c0?\00\00 @") - (data (i32.const 112) "\04\00\00\00\10\00\00\00h\00\00\00h\00\00\00\08\00\00\00\02\00\00\00") - (data (i32.const 136) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\f4?\00\00\00\00\00\00\02@") - (data (i32.const 160) "\05\00\00\00\10\00\00\00\90\00\00\00\90\00\00\00\10\00\00\00\02\00\00\00") - (data (i32.const 184) "\06\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 232) "\06\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 272) "\06\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\0f\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 24) "\11\00\00\00\10\00\00\00\10\00\00\00\10\00\00\00\08\00\00\00\02\00\00\00") + (data (i32.const 48) "\0f\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00") + (data (i32.const 72) "\12\00\00\00\10\00\00\008\00\00\008\00\00\00\10\00\00\00\02\00\00\00") + (data (i32.const 96) "\0f\00\00\00\08\00\00\00\00\00\c0?\00\00 @") + (data (i32.const 112) "\13\00\00\00\10\00\00\00h\00\00\00h\00\00\00\08\00\00\00\02\00\00\00") + (data (i32.const 136) "\0f\00\00\00\10\00\00\00\00\00\00\00\00\00\f4?\00\00\00\00\00\00\02@") + (data (i32.const 160) "\14\00\00\00\10\00\00\00\90\00\00\00\90\00\00\00\10\00\00\00\02\00\00\00") + (data (i32.const 184) "\10\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 232) "\10\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 272) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 320) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 360) "\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00A\00\00\00\0e\00\00\00!\00\00\00\0e\00\00\00A\00\00\00\0e\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/static-array/i i32 (i32.const 32)) @@ -35,9 +37,19 @@ (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 320)) + (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 360)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 528)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/array/Array#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -64,7 +76,7 @@ i32.const 240 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -705,9 +717,9 @@ if i32.const 0 i32.const 280 - i32.const 88 + i32.const 91 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -758,7 +770,7 @@ i32.const 240 i32.const 14 i32.const 64 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -849,7 +861,7 @@ i32.const 240 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -917,7 +929,7 @@ i32.const 240 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -985,7 +997,7 @@ i32.const 240 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1039,7 +1051,7 @@ i32.const 192 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/i @@ -1053,7 +1065,7 @@ i32.const 192 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/i @@ -1067,7 +1079,7 @@ i32.const 192 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/memory/HEAP_BASE @@ -1095,7 +1107,7 @@ i32.const 192 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/I @@ -1108,7 +1120,7 @@ i32.const 192 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/I @@ -1122,7 +1134,7 @@ i32.const 192 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/I @@ -1136,7 +1148,7 @@ i32.const 192 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/I @@ -1154,7 +1166,7 @@ i32.const 192 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/f @@ -1167,7 +1179,7 @@ i32.const 192 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/f @@ -1181,7 +1193,7 @@ i32.const 192 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/f @@ -1195,7 +1207,7 @@ i32.const 192 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/f @@ -1213,7 +1225,7 @@ i32.const 192 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/F @@ -1226,7 +1238,7 @@ i32.const 192 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/F @@ -1240,7 +1252,7 @@ i32.const 192 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/F @@ -1254,7 +1266,7 @@ i32.const 192 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/static-array/F @@ -1272,13 +1284,265 @@ i32.const 192 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 31 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/util/runtime/allocate (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/util/runtime/adjust + call $~lib/memory/memory.allocate + local.set $1 + local.get $1 + global.get $~lib/util/runtime/HEADER_MAGIC + i32.store + local.get $1 + local.get $0 + i32.store offset=4 + local.get $1 + global.get $~lib/util/runtime/HEADER_SIZE + i32.add + ) + (func $~lib/util/runtime/register (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + global.get $~lib/memory/HEAP_BASE + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 280 + i32.const 131 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + local.set $2 + local.get $2 + i32.load + global.get $~lib/util/runtime/HEADER_MAGIC + i32.eq + i32.eqz + if + i32.const 0 + i32.const 280 + i32.const 133 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + i32.store + local.get $0 + ) + (func $~lib/runtime/runtime.newObject (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 39 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.get $1 + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $7 + block $break|0 + loop $continue|0 + local.get $6 + local.get $7 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $8 + local.get $8 + if + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 328 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/runtime.retain (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.release (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 42 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 328 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/runtime/runtime#constructor (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 44 ;) (type $FUNCSIG$v) call $start:std/static-array ) - (func $null (; 32 ;) (type $FUNCSIG$v) + (func $null (; 45 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/string-utf8.optimized.wat b/tests/compiler/std/string-utf8.optimized.wat index 531e1b69..58380a57 100644 --- a/tests/compiler/std/string-utf8.optimized.wat +++ b/tests/compiler/std/string-utf8.optimized.wat @@ -3,28 +3,38 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") - (data (i32.const 32) "\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00u\00t\00f\008\00.\00t\00s") - (data (i32.const 80) "\01") - (data (i32.const 88) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 128) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 176) "\01\00\00\00\04\00\00\00\01\d87\dc") - (data (i32.const 192) "\01\00\00\00\04\00\00\00h\00i") - (data (i32.const 208) "\01\00\00\00\04\00\00\00R\d8b\df") - (data (i32.const 224) "\01\00\00\00\02") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") + (data (i32.const 32) "\10\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00u\00t\00f\008\00.\00t\00s") + (data (i32.const 80) "\10") + (data (i32.const 88) "\10\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 128) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 176) "\10\00\00\00\04\00\00\00\01\d87\dc") + (data (i32.const 192) "\10\00\00\00\04\00\00\00h\00i") + (data (i32.const 208) "\10\00\00\00\04\00\00\00R\d8b\df") + (data (i32.const 224) "\10\00\00\00\02") + (data (i32.const 240) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 280) "\11") + (data (i32.const 416) "!\00\00\00\0e") (global $std/string-utf8/str (mut i32) (i32.const 16)) (global $std/string-utf8/len (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/string-utf8/ptr (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/allocator/arena/__mem_free)) + (export "$.release" (func $~lib/allocator/arena/__mem_free)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/string/String#get:lengthUTF8 (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -586,40 +596,43 @@ end end ) - (func $~lib/util/runtime/register (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/allocator/arena/__mem_free (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 - i32.const 236 + i32.const 424 i32.le_u if i32.const 0 i32.const 136 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 i32.const 8 i32.sub - local.tee $1 + local.tee $2 i32.load i32.const -1520547049 i32.ne if i32.const 0 i32.const 136 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end + local.get $2 local.get $1 - i32.const 1 i32.store local.get $0 ) - (func $~lib/string/String.fromUTF8 (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.fromUTF8 (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -683,7 +696,7 @@ i32.const 96 i32.const 461 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -730,7 +743,7 @@ i32.const 96 i32.const 465 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -809,7 +822,7 @@ i32.const 96 i32.const 477 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -864,7 +877,7 @@ i32.const 96 i32.const 486 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -874,9 +887,10 @@ local.get $5 call $~lib/memory/memory.copy local.get $0 + i32.const 16 call $~lib/util/runtime/register ) - (func $~lib/util/string/compareImpl (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/compareImpl (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) loop $continue|0 local.get $2 @@ -909,7 +923,7 @@ end local.get $3 ) - (func $~lib/string/String.__eq (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -955,7 +969,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $start:std/string-utf8 (; 10 ;) (type $FUNCSIG$v) + (func $start:std/string-utf8 (; 11 ;) (type $FUNCSIG$v) global.get $std/string-utf8/str call $~lib/string/String#get:lengthUTF8 global.set $std/string-utf8/len @@ -967,10 +981,10 @@ i32.const 40 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 240 + i32.const 424 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -986,7 +1000,7 @@ i32.const 40 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -998,7 +1012,7 @@ i32.const 40 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1010,7 +1024,7 @@ i32.const 40 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1022,7 +1036,7 @@ i32.const 40 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1034,7 +1048,7 @@ i32.const 40 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1046,7 +1060,7 @@ i32.const 40 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1058,7 +1072,7 @@ i32.const 40 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1070,7 +1084,7 @@ i32.const 40 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1082,7 +1096,7 @@ i32.const 40 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1094,7 +1108,7 @@ i32.const 40 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1104,7 +1118,7 @@ i32.const 40 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1118,7 +1132,7 @@ i32.const 40 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1134,7 +1148,7 @@ i32.const 40 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1148,7 +1162,7 @@ i32.const 40 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1164,7 +1178,7 @@ i32.const 40 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1180,7 +1194,7 @@ i32.const 40 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1196,14 +1210,194 @@ i32.const 40 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 11 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 280 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 280 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 280 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 280 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + i32.const 280 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 280 + i32.add + i32.load + end + local.tee $3 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 8 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $2 + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $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 $0 + local.get $2 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $3 + i32.const 512 + i32.and + if + local.get $1 + local.get $2 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + if + i32.const 0 + i32.const 248 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $0 + ) + (func $~lib/runtime/runtime.collect (; 18 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 248 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 19 ;) (type $FUNCSIG$v) call $start:std/string-utf8 ) - (func $null (; 12 ;) (type $FUNCSIG$v) + (func $null (; 20 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/string-utf8.untouched.wat b/tests/compiler/std/string-utf8.untouched.wat index 3766bf10..ae0f54c0 100644 --- a/tests/compiler/std/string-utf8.untouched.wat +++ b/tests/compiler/std/string-utf8.untouched.wat @@ -6,17 +6,19 @@ (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") - (data (i32.const 32) "\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00u\00t\00f\008\00.\00t\00s\00") - (data (i32.const 80) "\01\00\00\00\00\00\00\00") - (data (i32.const 88) "\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 128) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 176) "\01\00\00\00\04\00\00\00\01\d87\dc") - (data (i32.const 192) "\01\00\00\00\04\00\00\00h\00i\00") - (data (i32.const 208) "\01\00\00\00\04\00\00\00R\d8b\df") - (data (i32.const 224) "\01\00\00\00\02\00\00\00\00\00") + (data (i32.const 8) "\10\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") + (data (i32.const 32) "\10\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00u\00t\00f\008\00.\00t\00s\00") + (data (i32.const 80) "\10\00\00\00\00\00\00\00") + (data (i32.const 88) "\10\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 128) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 176) "\10\00\00\00\04\00\00\00\01\d87\dc") + (data (i32.const 192) "\10\00\00\00\04\00\00\00h\00i\00") + (data (i32.const 208) "\10\00\00\00\04\00\00\00R\d8b\df") + (data (i32.const 224) "\10\00\00\00\02\00\00\00\00\00") + (data (i32.const 240) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 280) "\11\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\0e\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/string-utf8/str (mut i32) (i32.const 16)) @@ -27,9 +29,18 @@ (global $std/string-utf8/ptr (mut i32) (i32.const 0)) (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 236)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 280)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 424)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/string/String#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -706,9 +717,9 @@ if i32.const 0 i32.const 136 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -723,9 +734,9 @@ if i32.const 0 i32.const 136 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -812,7 +823,7 @@ i32.const 96 i32.const 461 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -866,7 +877,7 @@ i32.const 96 i32.const 465 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -961,7 +972,7 @@ i32.const 96 i32.const 477 i32.const 8 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1024,7 +1035,7 @@ i32.const 96 i32.const 486 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1037,7 +1048,7 @@ local.get $3 call $~lib/memory/memory.free local.get $7 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (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) @@ -1150,7 +1161,7 @@ i32.const 40 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/memory/HEAP_BASE @@ -1176,7 +1187,7 @@ i32.const 40 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1189,7 +1200,7 @@ i32.const 40 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1202,7 +1213,7 @@ i32.const 40 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1215,7 +1226,7 @@ i32.const 40 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1228,7 +1239,7 @@ i32.const 40 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1241,7 +1252,7 @@ i32.const 40 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1254,7 +1265,7 @@ i32.const 40 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1267,7 +1278,7 @@ i32.const 40 i32.const 16 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1280,7 +1291,7 @@ i32.const 40 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1293,7 +1304,7 @@ i32.const 40 i32.const 18 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1306,7 +1317,7 @@ i32.const 40 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1320,7 +1331,7 @@ i32.const 40 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1336,7 +1347,7 @@ i32.const 40 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1350,7 +1361,7 @@ i32.const 40 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1366,7 +1377,7 @@ i32.const 40 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1382,7 +1393,7 @@ i32.const 40 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr @@ -1398,15 +1409,215 @@ i32.const 40 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string-utf8/ptr call $~lib/memory/memory.free ) - (func $start (; 16 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 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.get $0 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.get $1 + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $7 + block $break|0 + loop $continue|0 + local.get $6 + local.get $7 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $8 + local.get $8 + if + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 248 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/runtime.retain (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 25 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 248 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/runtime/runtime#constructor (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 27 ;) (type $FUNCSIG$v) call $start:std/string-utf8 ) - (func $null (; 17 ;) (type $FUNCSIG$v) + (func $null (; 28 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 5bcf94de..e5cd260e 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -15,318 +15,318 @@ (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00 ") + (data (i32.const 8) "\10\00\00\00 ") (data (i32.const 24) "h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g") - (data (i32.const 56) "\01\00\00\00\1a") + (data (i32.const 56) "\10\00\00\00\1a") (data (i32.const 72) "s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 104) "\01") - (data (i32.const 120) "\01\00\00\00\02") - (data (i32.const 144) "\01\00\00\00\02") + (data (i32.const 104) "\10") + (data (i32.const 120) "\10\00\00\00\02") + (data (i32.const 144) "\10\00\00\00\02") (data (i32.const 160) "a") - (data (i32.const 168) "\01\00\00\00(") + (data (i32.const 168) "\10\00\00\00(") (data (i32.const 184) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 224) "\01\00\00\00\02") + (data (i32.const 224) "\10\00\00\00\02") (data (i32.const 240) "6") - (data (i32.const 248) "\01\00\00\00\1c") + (data (i32.const 248) "\10\00\00\00\1c") (data (i32.const 264) "~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 296) "\01\00\00\00\04") + (data (i32.const 296) "\10\00\00\00\04") (data (i32.const 312) "4\d8\06\df") - (data (i32.const 320) "\01\00\00\00\04") + (data (i32.const 320) "\10\00\00\00\04") (data (i32.const 336) "h\00i") - (data (i32.const 344) "\01\00\00\00\08") + (data (i32.const 344) "\10\00\00\00\08") (data (i32.const 360) "n\00u\00l\00l") - (data (i32.const 368) "\01\00\00\00\0c") + (data (i32.const 368) "\10\00\00\00\0c") (data (i32.const 384) "s\00t\00r\00i\00n\00g") - (data (i32.const 400) "\01\00\00\00\06") + (data (i32.const 400) "\10\00\00\00\06") (data (i32.const 416) "I\00\'\00m") - (data (i32.const 424) "\01\00\00\00\02") + (data (i32.const 424) "\10\00\00\00\02") (data (i32.const 440) " ") - (data (i32.const 448) "\01\00\00\00\06") + (data (i32.const 448) "\10\00\00\00\06") (data (i32.const 464) " \00 \00 ") - (data (i32.const 472) "\01\00\00\00\06") + (data (i32.const 472) "\10\00\00\00\06") (data (i32.const 488) "a\00b\00c") - (data (i32.const 496) "\01\00\00\00\n") + (data (i32.const 496) "\10\00\00\00\n") (data (i32.const 512) " \00 \00a\00b\00c") - (data (i32.const 528) "\01\00\00\00\06") + (data (i32.const 528) "\10\00\00\00\06") (data (i32.const 544) "1\002\003") - (data (i32.const 552) "\01\00\00\00\0c") + (data (i32.const 552) "\10\00\00\00\0c") (data (i32.const 568) "1\002\003\00a\00b\00c") - (data (i32.const 584) "\01\00\00\00\10") + (data (i32.const 584) "\10\00\00\00\10") (data (i32.const 600) "1\002\003\001\002\00a\00b\00c") - (data (i32.const 616) "\01\00\00\00\n") + (data (i32.const 616) "\10\00\00\00\n") (data (i32.const 632) "a\00b\00c\00 \00 ") - (data (i32.const 648) "\01\00\00\00\0c") + (data (i32.const 648) "\10\00\00\00\0c") (data (i32.const 664) "a\00b\00c\00a\00b\00c") - (data (i32.const 680) "\01\00\00\00\10") + (data (i32.const 680) "\10\00\00\00\10") (data (i32.const 696) "a\00b\00c\00a\00b\00c\00a\00b") - (data (i32.const 712) "\01\00\00\00\02") + (data (i32.const 712) "\10\00\00\00\02") (data (i32.const 728) ",") - (data (i32.const 736) "\01\00\00\00\02") + (data (i32.const 736) "\10\00\00\00\02") (data (i32.const 752) "x") - (data (i32.const 760) "\01\00\00\00\06") + (data (i32.const 760) "\10\00\00\00\06") (data (i32.const 776) ",\00 \00I") - (data (i32.const 784) "\01\00\00\00\02") + (data (i32.const 784) "\10\00\00\00\02") (data (i32.const 800) "g") - (data (i32.const 808) "\01\00\00\00\02") + (data (i32.const 808) "\10\00\00\00\02") (data (i32.const 824) "i") - (data (i32.const 832) "\01\00\00\00\02") + (data (i32.const 832) "\10\00\00\00\02") (data (i32.const 848) "0") - (data (i32.const 856) "\01\00\00\00\02") + (data (i32.const 856) "\10\00\00\00\02") (data (i32.const 872) "1") - (data (i32.const 880) "\01\00\00\00\n") + (data (i32.const 880) "\10\00\00\00\n") (data (i32.const 896) "0\00b\001\000\001") - (data (i32.const 912) "\01\00\00\00\n") + (data (i32.const 912) "\10\00\00\00\n") (data (i32.const 928) "0\00o\007\000\007") - (data (i32.const 944) "\01\00\00\00\n") + (data (i32.const 944) "\10\00\00\00\n") (data (i32.const 960) "0\00x\00f\000\00f") - (data (i32.const 976) "\01\00\00\00\n") + (data (i32.const 976) "\10\00\00\00\n") (data (i32.const 992) "0\00x\00F\000\00F") - (data (i32.const 1008) "\01\00\00\00\06") + (data (i32.const 1008) "\10\00\00\00\06") (data (i32.const 1024) "0\001\001") - (data (i32.const 1032) "\01\00\00\00\08") + (data (i32.const 1032) "\10\00\00\00\08") (data (i32.const 1048) "0\00x\001\00g") - (data (i32.const 1056) "\01\00\00\00\06") + (data (i32.const 1056) "\10\00\00\00\06") (data (i32.const 1072) "0\00.\001") - (data (i32.const 1080) "\01\00\00\00\06") + (data (i32.const 1080) "\10\00\00\00\06") (data (i32.const 1096) ".\002\005") - (data (i32.const 1104) "\01\00\00\00\10") + (data (i32.const 1104) "\10\00\00\00\10") (data (i32.const 1120) ".\001\00f\00o\00o\00b\00a\00r") - (data (i32.const 1136) "\01\00\00\00\02") + (data (i32.const 1136) "\10\00\00\00\02") (data (i32.const 1152) "b") - (data (i32.const 1160) "\01\00\00\00\04") + (data (i32.const 1160) "\10\00\00\00\04") (data (i32.const 1176) "a\00b") - (data (i32.const 1184) "\01\00\00\00\08") + (data (i32.const 1184) "\10\00\00\00\08") (data (i32.const 1200) "k\00e\00y\001") - (data (i32.const 1208) "\01\00\00\00\08") + (data (i32.const 1208) "\10\00\00\00\08") (data (i32.const 1224) "k\00e\00y\002") - (data (i32.const 1232) "\01\00\00\00\06") + (data (i32.const 1232) "\10\00\00\00\06") (data (i32.const 1248) "k\00e\001") - (data (i32.const 1256) "\01\00\00\00\06") + (data (i32.const 1256) "\10\00\00\00\06") (data (i32.const 1272) "k\00e\002") - (data (i32.const 1280) "\01\00\00\00\n") + (data (i32.const 1280) "\10\00\00\00\n") (data (i32.const 1296) "k\00e\00y\001\002") - (data (i32.const 1312) "\01\00\00\00\n") + (data (i32.const 1312) "\10\00\00\00\n") (data (i32.const 1328) "k\00e\00y\001\001") - (data (i32.const 1344) "\01\00\00\00\0e") + (data (i32.const 1344) "\10\00\00\00\0e") (data (i32.const 1360) "\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 1376) "\01\00\00\00\0e") + (data (i32.const 1376) "\10\00\00\00\0e") (data (i32.const 1392) "\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 1408) "\01\00\00\00\16") + (data (i32.const 1408) "\10\00\00\00\16") (data (i32.const 1424) "D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") - (data (i32.const 1448) "\01\00\00\00\14") + (data (i32.const 1448) "\10\00\00\00\14") (data (i32.const 1464) "D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") - (data (i32.const 1488) "\01\00\00\00\04") + (data (i32.const 1488) "\10\00\00\00\04") (data (i32.const 1504) "b\00a") - (data (i32.const 1512) "\01\00\00\00\04") + (data (i32.const 1512) "\10\00\00\00\04") (data (i32.const 1528) "a\00a") - (data (i32.const 1536) "\01\00\00\00\06") + (data (i32.const 1536) "\10\00\00\00\06") (data (i32.const 1552) "a\00a\00a") - (data (i32.const 1560) "\01\00\00\00\10") + (data (i32.const 1560) "\10\00\00\00\10") (data (i32.const 1576) "a\00b\00a\00b\00a\00b\00a\00b") - (data (i32.const 1592) "\01\00\00\00\n") + (data (i32.const 1592) "\10\00\00\00\n") (data (i32.const 1608) "a\00a\00a\00a\00a") - (data (i32.const 1624) "\01\00\00\00\0c") + (data (i32.const 1624) "\10\00\00\00\0c") (data (i32.const 1640) "a\00a\00a\00a\00a\00a") - (data (i32.const 1656) "\01\00\00\00\0e") + (data (i32.const 1656) "\10\00\00\00\0e") (data (i32.const 1672) "a\00a\00a\00a\00a\00a\00a") - (data (i32.const 1688) "\01\00\00\00\1c") + (data (i32.const 1688) "\10\00\00\00\1c") (data (i32.const 1704) "a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") - (data (i32.const 1736) "\01\00\00\00\02") + (data (i32.const 1736) "\10\00\00\00\02") (data (i32.const 1752) "n") - (data (i32.const 1760) "\01\00\00\00\n") + (data (i32.const 1760) "\10\00\00\00\n") (data (i32.const 1776) "j\00k\00l\00m\00n") - (data (i32.const 1792) "\01\00\00\00\n") + (data (i32.const 1792) "\10\00\00\00\n") (data (i32.const 1808) "c\00d\00e\00f\00g") - (data (i32.const 1824) "\01\00\00\00\n") + (data (i32.const 1824) "\10\00\00\00\n") (data (i32.const 1840) "d\00e\00f\00g\00h") - (data (i32.const 1856) "\01\00\00\00\1a") + (data (i32.const 1856) "\10\00\00\00\1a") (data (i32.const 1872) "a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") - (data (i32.const 1904) "\01\00\00\00\1a") + (data (i32.const 1904) "\10\00\00\00\1a") (data (i32.const 1920) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1952) "\01\00\00\00\n") + (data (i32.const 1952) "\10\00\00\00\n") (data (i32.const 1968) "a\00,\00b\00,\00c") - (data (i32.const 1984) "\01\00\00\00\02") + (data (i32.const 1984) "\10\00\00\00\02") (data (i32.const 2000) ".") - (data (i32.const 2008) "\01\00\00\00\02") + (data (i32.const 2008) "\10\00\00\00\02") (data (i32.const 2024) "c") - (data (i32.const 2032) "\01\00\00\00\0e") + (data (i32.const 2032) "\10\00\00\00\0e") (data (i32.const 2048) "a\00,\00 \00b\00,\00 \00c") - (data (i32.const 2064) "\01\00\00\00\04") + (data (i32.const 2064) "\10\00\00\00\04") (data (i32.const 2080) ",\00 ") - (data (i32.const 2088) "\01\00\00\00\0c") + (data (i32.const 2088) "\10\00\00\00\0c") (data (i32.const 2104) "a\00,\00b\00,\00,\00c") - (data (i32.const 2120) "\01\00\00\00\0c") + (data (i32.const 2120) "\10\00\00\00\0c") (data (i32.const 2136) ",\00a\00,\00b\00,\00c") - (data (i32.const 2152) "\01\00\00\00\0c") + (data (i32.const 2152) "\10\00\00\00\0c") (data (i32.const 2168) "a\00,\00b\00,\00c\00,") - (data (i32.const 2184) "\03\00\00\00\90\01") + (data (i32.const 2184) "\0f\00\00\00\90\01") (data (i32.const 2200) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 2600) "\04\00\00\00\10") + (data (i32.const 2600) "\13\00\00\00\10") (data (i32.const 2616) "\98\08\00\00\98\08\00\00\90\01\00\00d") - (data (i32.const 2632) "\01\00\00\00\02") + (data (i32.const 2632) "\10\00\00\00\02") (data (i32.const 2648) "8") - (data (i32.const 2656) "\01\00\00\00\n") + (data (i32.const 2656) "\10\00\00\00\n") (data (i32.const 2672) "-\001\000\000\000") - (data (i32.const 2688) "\01\00\00\00\08") + (data (i32.const 2688) "\10\00\00\00\08") (data (i32.const 2704) "1\002\003\004") - (data (i32.const 2712) "\01\00\00\00\n") + (data (i32.const 2712) "\10\00\00\00\n") (data (i32.const 2728) "1\002\003\004\005") - (data (i32.const 2744) "\01\00\00\00\0c") + (data (i32.const 2744) "\10\00\00\00\0c") (data (i32.const 2760) "1\002\003\004\005\006") - (data (i32.const 2776) "\01\00\00\00\0e") + (data (i32.const 2776) "\10\00\00\00\0e") (data (i32.const 2792) "1\001\001\001\001\001\001") - (data (i32.const 2808) "\01\00\00\00\0e") + (data (i32.const 2808) "\10\00\00\00\0e") (data (i32.const 2824) "1\002\003\004\005\006\007") - (data (i32.const 2840) "\01\00\00\00\14") + (data (i32.const 2840) "\10\00\00\00\14") (data (i32.const 2856) "2\001\004\007\004\008\003\006\004\006") - (data (i32.const 2880) "\01\00\00\00\14") + (data (i32.const 2880) "\10\00\00\00\14") (data (i32.const 2896) "2\001\004\007\004\008\003\006\004\007") - (data (i32.const 2920) "\01\00\00\00\16") + (data (i32.const 2920) "\10\00\00\00\16") (data (i32.const 2936) "-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 2960) "\01\00\00\00\04") + (data (i32.const 2960) "\10\00\00\00\04") (data (i32.const 2976) "-\001") - (data (i32.const 2984) "\01\00\00\00\08") + (data (i32.const 2984) "\10\00\00\00\08") (data (i32.const 3000) "1\000\000\000") - (data (i32.const 3008) "\01\00\00\00\14") + (data (i32.const 3008) "\10\00\00\00\14") (data (i32.const 3024) "2\001\004\007\004\008\003\006\004\008") - (data (i32.const 3048) "\01\00\00\00\14") + (data (i32.const 3048) "\10\00\00\00\14") (data (i32.const 3064) "4\002\009\004\009\006\007\002\009\005") - (data (i32.const 3088) "\01\00\00\00\10") + (data (i32.const 3088) "\10\00\00\00\10") (data (i32.const 3104) "9\009\009\009\009\009\009\009") - (data (i32.const 3120) "\01\00\00\00\12") + (data (i32.const 3120) "\10\00\00\00\12") (data (i32.const 3136) "1\000\000\000\000\000\000\000\000") - (data (i32.const 3160) "\01\00\00\00\16") + (data (i32.const 3160) "\10\00\00\00\16") (data (i32.const 3176) "6\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3200) "\01\00\00\00\18") + (data (i32.const 3200) "\10\00\00\00\18") (data (i32.const 3216) "8\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3240) "\01\00\00\00\1e") + (data (i32.const 3240) "\10\00\00\00\1e") (data (i32.const 3256) "9\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3288) "\01\00\00\00 ") + (data (i32.const 3288) "\10\00\00\00 ") (data (i32.const 3304) "9\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3336) "\01\00\00\00\"") + (data (i32.const 3336) "\10\00\00\00\"") (data (i32.const 3352) "1\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3392) "\01\00\00\00(") + (data (i32.const 3392) "\10\00\00\00(") (data (i32.const 3408) "1\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005") - (data (i32.const 3448) "\01\00\00\00\n") + (data (i32.const 3448) "\10\00\00\00\n") (data (i32.const 3464) "-\001\002\003\004") - (data (i32.const 3480) "\01\00\00\00\16") + (data (i32.const 3480) "\10\00\00\00\16") (data (i32.const 3496) "-\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 3520) "\01\00\00\00\18") + (data (i32.const 3520) "\10\00\00\00\18") (data (i32.const 3536) "-\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3560) "\01\00\00\00\1a") + (data (i32.const 3560) "\10\00\00\00\1a") (data (i32.const 3576) "-\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3608) "\01\00\00\00 ") + (data (i32.const 3608) "\10\00\00\00 ") (data (i32.const 3624) "-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3656) "\01\00\00\00$") + (data (i32.const 3656) "\10\00\00\00$") (data (i32.const 3672) "-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3712) "\01\00\00\00&") + (data (i32.const 3712) "\10\00\00\00&") (data (i32.const 3728) "9\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 3768) "\01\00\00\00(") + (data (i32.const 3768) "\10\00\00\00(") (data (i32.const 3784) "-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008") - (data (i32.const 3824) "\01\00\00\00\06") + (data (i32.const 3824) "\10\00\00\00\06") (data (i32.const 3840) "0\00.\000") - (data (i32.const 3848) "\01\00\00\00\06") + (data (i32.const 3848) "\10\00\00\00\06") (data (i32.const 3864) "N\00a\00N") - (data (i32.const 3872) "\01\00\00\00\12") + (data (i32.const 3872) "\10\00\00\00\12") (data (i32.const 3888) "-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3912) "\01\00\00\00\10") + (data (i32.const 3912) "\10\00\00\00\10") (data (i32.const 3928) "I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3944) "\03\00\00\00\b8\02") + (data (i32.const 3944) "\0f\00\00\00\b8\02") (data (i32.const 3960) "\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#push - else - local.get $2 + call $~lib/util/runtime/makeArray + local.tee $0 + i32.load offset=4 i32.const 120 - call $~lib/array/Array<~lib/string/String>#push - end - local.get $5 - local.get $10 - i32.const 1 - i32.add - local.tee $10 - i32.eq - if - local.get $2 + i32.store + local.get $0 return end - local.get $7 - local.get $8 - i32.add - local.set $4 - br $continue|1 + else + local.get $3 + i32.eqz + br_if $folding-inner0 + local.get $3 + local.get $5 + local.get $3 + local.get $5 + i32.lt_s + select + local.tee $4 + call $~lib/util/runtime/makeArray + local.tee $3 + i32.load offset=4 + local.set $5 + i32.const 0 + local.set $1 + loop $repeat|0 + local.get $1 + local.get $4 + i32.lt_s + if + i32.const 2 + call $~lib/util/runtime/allocate + local.tee $2 + local.get $1 + i32.const 1 + i32.shl + local.get $0 + i32.add + i32.load16_u + i32.store16 + local.get $1 + i32.const 2 + i32.shl + local.get $5 + i32.add + local.get $2 + i32.store + local.get $2 + i32.const 16 + call $~lib/util/runtime/register + drop + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + local.get $3 + return end - end - local.get $4 - i32.eqz - if - i32.const 1 - i32.const 2 - call $~lib/runtime/runtime.newArray - local.tee $1 - i32.load offset=4 - local.tee $2 - i32.load - local.get $0 - i32.ne - if - local.get $2 + i32.const 0 + call $~lib/util/runtime/makeArray + local.set $2 + loop $continue|1 + local.get $1 + i32.eqz + if + unreachable + end local.get $0 - i32.store + local.get $1 + local.get $4 + call $~lib/string/String#indexOf + local.tee $7 + i32.const -1 + i32.ne + if + local.get $7 + local.get $4 + i32.sub + local.tee $6 + i32.const 0 + i32.gt_s + if + local.get $6 + i32.const 1 + i32.shl + local.tee $6 + call $~lib/util/runtime/allocate + local.tee $9 + local.get $4 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $6 + call $~lib/memory/memory.copy + local.get $2 + local.get $9 + i32.const 16 + call $~lib/util/runtime/register + call $~lib/array/Array<~lib/string/String>#push + else + local.get $2 + i32.const 120 + call $~lib/array/Array<~lib/string/String>#push + end + local.get $5 + local.get $10 + i32.const 1 + i32.add + local.tee $10 + i32.eq + if + local.get $2 + return + end + local.get $7 + local.get $8 + i32.add + local.set $4 + br $continue|1 + end end - local.get $1 + local.get $4 + i32.eqz + if + i32.const 1 + call $~lib/util/runtime/makeArray + local.tee $1 + i32.load offset=4 + local.tee $2 + i32.load + local.get $0 + i32.ne + if + local.get $2 + local.get $0 + i32.store + end + local.get $1 + return + end + local.get $3 + local.get $4 + i32.sub + local.tee $1 + i32.const 0 + i32.gt_s + if + local.get $1 + i32.const 1 + i32.shl + local.tee $1 + call $~lib/util/runtime/allocate + local.tee $3 + local.get $4 + i32.const 1 + i32.shl + local.get $0 + i32.add + local.get $1 + call $~lib/memory/memory.copy + local.get $2 + local.get $3 + i32.const 16 + call $~lib/util/runtime/register + call $~lib/array/Array<~lib/string/String>#push + else + local.get $2 + i32.const 120 + call $~lib/array/Array<~lib/string/String>#push + end + local.get $2 return end - local.get $3 - local.get $4 - i32.sub - local.tee $1 i32.const 0 - i32.gt_s - if - local.get $1 - i32.const 1 - i32.shl - local.tee $1 - call $~lib/util/runtime/allocate - local.tee $3 - local.get $4 - i32.const 1 - i32.shl - local.get $0 - i32.add - local.get $1 - call $~lib/memory/memory.copy - local.get $2 - local.get $3 - i32.const 1 - call $~lib/util/runtime/register - call $~lib/array/Array<~lib/string/String>#push - else - local.get $2 - i32.const 120 - call $~lib/array/Array<~lib/string/String>#push - end - local.get $2 + call $~lib/util/runtime/makeArray ) (func $~lib/array/Array<~lib/string/String>#__get (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 @@ -2730,7 +2730,7 @@ i32.const 1920 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -2744,7 +2744,7 @@ i32.const 1920 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2958,7 +2958,7 @@ i32.store16 end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/utoa32 (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -2981,7 +2981,7 @@ local.get $1 call $~lib/util/number/utoa32_lut local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/decimalCount64 (; 38 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) @@ -3174,7 +3174,7 @@ call $~lib/util/number/utoa64_lut end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa64 (; 41 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) @@ -3239,7 +3239,7 @@ i32.store16 end local.get $3 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/genDigits (; 42 ;) (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) @@ -4215,7 +4215,7 @@ i32.const 264 i32.const 203 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -4297,19 +4297,19 @@ local.get $3 call $~lib/memory/memory.copy local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/runtime/discard (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 6744 + i32.const 6928 i32.le_u if i32.const 0 i32.const 184 - i32.const 114 + i32.const 117 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4321,9 +4321,9 @@ if i32.const 0 i32.const 184 - i32.const 116 + i32.const 119 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4382,7 +4382,7 @@ i32.const 72 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4398,7 +4398,7 @@ i32.const 72 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $__inlined_func$~lib/string/String#charCodeAt (result i32) @@ -4424,7 +4424,7 @@ i32.const 72 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 108 @@ -4436,7 +4436,7 @@ i32.const 72 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 124 @@ -4452,7 +4452,7 @@ i32.const 72 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 148 @@ -4468,10 +4468,10 @@ i32.const 72 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 6744 + i32.const 6928 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -4485,7 +4485,7 @@ i32.const 72 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 54 @@ -4498,7 +4498,7 @@ i32.const 72 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 65590 @@ -4511,7 +4511,7 @@ i32.const 72 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -4524,7 +4524,7 @@ i32.const 72 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 54 @@ -4537,7 +4537,7 @@ i32.const 72 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 119558 @@ -4548,7 +4548,7 @@ i32.const 72 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4559,7 +4559,7 @@ i32.const 72 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4570,7 +4570,7 @@ i32.const 72 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4584,7 +4584,7 @@ i32.const 72 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4599,7 +4599,7 @@ i32.const 72 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4614,7 +4614,7 @@ i32.const 72 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -4629,7 +4629,7 @@ i32.const 72 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -4644,7 +4644,7 @@ i32.const 72 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -4659,7 +4659,7 @@ i32.const 72 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -4674,7 +4674,7 @@ i32.const 72 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -4689,7 +4689,7 @@ i32.const 72 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -4704,7 +4704,7 @@ i32.const 72 i32.const 45 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4719,7 +4719,7 @@ i32.const 72 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4734,7 +4734,7 @@ i32.const 72 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -4749,7 +4749,7 @@ i32.const 72 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -4764,7 +4764,7 @@ i32.const 72 i32.const 50 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -4779,7 +4779,7 @@ i32.const 72 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -4794,7 +4794,7 @@ i32.const 72 i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -4809,7 +4809,7 @@ i32.const 72 i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -4824,7 +4824,7 @@ i32.const 72 i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -4836,7 +4836,7 @@ i32.const 72 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -4850,7 +4850,7 @@ i32.const 72 i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -4862,7 +4862,7 @@ i32.const 72 i32.const 58 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4875,7 +4875,7 @@ i32.const 72 i32.const 59 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4887,7 +4887,7 @@ i32.const 72 i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4901,7 +4901,7 @@ i32.const 72 i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4915,7 +4915,7 @@ i32.const 72 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4929,7 +4929,7 @@ i32.const 72 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4943,7 +4943,7 @@ i32.const 72 i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -4957,7 +4957,7 @@ i32.const 72 i32.const 65 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -4969,7 +4969,7 @@ i32.const 72 i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -4983,7 +4983,7 @@ i32.const 72 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5002,7 +5002,7 @@ i32.const 72 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5016,7 +5016,7 @@ i32.const 72 i32.const 70 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5030,7 +5030,7 @@ i32.const 72 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5044,7 +5044,7 @@ i32.const 72 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5058,7 +5058,7 @@ i32.const 72 i32.const 73 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5072,7 +5072,7 @@ i32.const 72 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5086,7 +5086,7 @@ i32.const 72 i32.const 75 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5100,7 +5100,7 @@ i32.const 72 i32.const 76 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5112,7 +5112,7 @@ i32.const 72 i32.const 77 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 848 @@ -5124,7 +5124,7 @@ i32.const 72 i32.const 83 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 872 @@ -5136,7 +5136,7 @@ i32.const 72 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 896 @@ -5148,7 +5148,7 @@ i32.const 72 i32.const 85 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 928 @@ -5160,7 +5160,7 @@ i32.const 72 i32.const 86 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 960 @@ -5172,7 +5172,7 @@ i32.const 72 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 992 @@ -5184,7 +5184,7 @@ i32.const 72 i32.const 88 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1024 @@ -5196,7 +5196,7 @@ i32.const 72 i32.const 89 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1048 @@ -5208,7 +5208,7 @@ i32.const 72 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 848 @@ -5220,7 +5220,7 @@ i32.const 72 i32.const 92 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 872 @@ -5232,7 +5232,7 @@ i32.const 72 i32.const 93 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1072 @@ -5244,7 +5244,7 @@ i32.const 72 i32.const 94 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1096 @@ -5256,7 +5256,7 @@ i32.const 72 i32.const 95 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1120 @@ -5268,7 +5268,7 @@ i32.const 72 i32.const 96 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5284,7 +5284,7 @@ i32.const 72 i32.const 99 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/c @@ -5296,7 +5296,7 @@ i32.const 72 i32.const 100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5308,7 +5308,7 @@ i32.const 72 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5320,7 +5320,7 @@ i32.const 72 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/nullStr @@ -5332,7 +5332,7 @@ i32.const 72 i32.const 103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5344,7 +5344,7 @@ i32.const 72 i32.const 104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5356,7 +5356,7 @@ i32.const 72 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1200 @@ -5368,7 +5368,7 @@ i32.const 72 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1200 @@ -5380,7 +5380,7 @@ i32.const 72 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1248 @@ -5392,7 +5392,7 @@ i32.const 72 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1296 @@ -5404,7 +5404,7 @@ i32.const 72 i32.const 109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1360 @@ -5416,7 +5416,7 @@ i32.const 72 i32.const 110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1360 @@ -5428,7 +5428,7 @@ i32.const 72 i32.const 111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1424 @@ -5440,7 +5440,7 @@ i32.const 72 i32.const 112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1152 @@ -5452,7 +5452,7 @@ i32.const 72 i32.const 114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1504 @@ -5464,7 +5464,7 @@ i32.const 72 i32.const 115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1504 @@ -5476,7 +5476,7 @@ i32.const 72 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1504 @@ -5488,7 +5488,7 @@ i32.const 72 i32.const 117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1504 @@ -5499,7 +5499,7 @@ i32.const 72 i32.const 118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1152 @@ -5510,7 +5510,7 @@ i32.const 72 i32.const 120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/nullStr @@ -5521,7 +5521,7 @@ i32.const 72 i32.const 121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -5533,7 +5533,7 @@ i32.const 72 i32.const 123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5545,7 +5545,7 @@ i32.const 72 i32.const 124 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -5557,7 +5557,7 @@ i32.const 72 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -5568,7 +5568,7 @@ i32.const 72 i32.const 126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -5579,7 +5579,7 @@ i32.const 72 i32.const 127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5590,7 +5590,7 @@ i32.const 72 i32.const 128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5601,7 +5601,7 @@ i32.const 72 i32.const 129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5612,7 +5612,7 @@ i32.const 72 i32.const 130 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5624,7 +5624,7 @@ i32.const 72 i32.const 131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5635,7 +5635,7 @@ i32.const 72 i32.const 132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 65377 @@ -5656,7 +5656,7 @@ i32.const 72 i32.const 136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 532 @@ -5670,7 +5670,7 @@ i32.const 72 i32.const 138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5684,7 +5684,7 @@ i32.const 72 i32.const 140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5698,7 +5698,7 @@ i32.const 72 i32.const 141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5712,7 +5712,7 @@ i32.const 72 i32.const 142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5726,7 +5726,7 @@ i32.const 72 i32.const 143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5740,7 +5740,7 @@ i32.const 72 i32.const 144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1176 @@ -5754,7 +5754,7 @@ i32.const 72 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5768,7 +5768,7 @@ i32.const 72 i32.const 146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5782,7 +5782,7 @@ i32.const 72 i32.const 147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5796,7 +5796,7 @@ i32.const 72 i32.const 148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1704 @@ -5813,7 +5813,7 @@ i32.const 72 i32.const 152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5828,7 +5828,7 @@ i32.const 72 i32.const 153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5843,7 +5843,7 @@ i32.const 72 i32.const 154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5858,7 +5858,7 @@ i32.const 72 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5873,7 +5873,7 @@ i32.const 72 i32.const 156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5888,7 +5888,7 @@ i32.const 72 i32.const 157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5903,7 +5903,7 @@ i32.const 72 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5931,7 +5931,7 @@ i32.const 72 i32.const 163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5946,7 +5946,7 @@ i32.const 72 i32.const 165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5974,7 +5974,7 @@ i32.const 72 i32.const 167 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1968 @@ -6002,7 +6002,7 @@ i32.const 72 i32.const 169 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1968 @@ -6052,7 +6052,7 @@ i32.const 72 i32.const 171 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2048 @@ -6102,7 +6102,7 @@ i32.const 72 i32.const 173 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2104 @@ -6163,7 +6163,7 @@ i32.const 72 i32.const 175 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2136 @@ -6224,7 +6224,7 @@ i32.const 72 i32.const 177 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2168 @@ -6285,7 +6285,7 @@ i32.const 72 i32.const 179 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -6335,7 +6335,7 @@ i32.const 72 i32.const 181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -6350,7 +6350,7 @@ i32.const 72 i32.const 183 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -6378,7 +6378,7 @@ i32.const 72 i32.const 185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1968 @@ -6406,7 +6406,7 @@ i32.const 72 i32.const 187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -6456,7 +6456,7 @@ i32.const 72 i32.const 189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -6506,7 +6506,7 @@ i32.const 72 i32.const 191 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1968 @@ -6556,7 +6556,7 @@ i32.const 72 i32.const 193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -6569,7 +6569,7 @@ i32.const 72 i32.const 195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -6582,7 +6582,7 @@ i32.const 72 i32.const 196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -6595,7 +6595,7 @@ i32.const 72 i32.const 197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 123 @@ -6608,7 +6608,7 @@ i32.const 72 i32.const 198 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1000 @@ -6621,7 +6621,7 @@ i32.const 72 i32.const 199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1234 @@ -6634,7 +6634,7 @@ i32.const 72 i32.const 200 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 12345 @@ -6647,7 +6647,7 @@ i32.const 72 i32.const 201 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 123456 @@ -6660,7 +6660,7 @@ i32.const 72 i32.const 202 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1111111 @@ -6673,7 +6673,7 @@ i32.const 72 i32.const 203 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1234567 @@ -6686,7 +6686,7 @@ i32.const 72 i32.const 204 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2147483646 @@ -6699,7 +6699,7 @@ i32.const 72 i32.const 205 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2147483647 @@ -6712,7 +6712,7 @@ i32.const 72 i32.const 206 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -2147483648 @@ -6725,7 +6725,7 @@ i32.const 72 i32.const 207 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1 @@ -6738,7 +6738,7 @@ i32.const 72 i32.const 208 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -6751,7 +6751,7 @@ i32.const 72 i32.const 210 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1000 @@ -6764,7 +6764,7 @@ i32.const 72 i32.const 211 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2147483647 @@ -6777,7 +6777,7 @@ i32.const 72 i32.const 212 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -2147483648 @@ -6790,7 +6790,7 @@ i32.const 72 i32.const 213 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1 @@ -6803,7 +6803,7 @@ i32.const 72 i32.const 214 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -6816,7 +6816,7 @@ i32.const 72 i32.const 216 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1234 @@ -6829,7 +6829,7 @@ i32.const 72 i32.const 217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 99999999 @@ -6842,7 +6842,7 @@ i32.const 72 i32.const 218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 100000000 @@ -6855,7 +6855,7 @@ i32.const 72 i32.const 219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4294967295 @@ -6868,7 +6868,7 @@ i32.const 72 i32.const 220 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 68719476735 @@ -6881,7 +6881,7 @@ i32.const 72 i32.const 221 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 868719476735 @@ -6894,7 +6894,7 @@ i32.const 72 i32.const 222 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 999868719476735 @@ -6907,7 +6907,7 @@ i32.const 72 i32.const 223 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 9999868719476735 @@ -6920,7 +6920,7 @@ i32.const 72 i32.const 224 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 19999868719476735 @@ -6933,7 +6933,7 @@ i32.const 72 i32.const 225 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1 @@ -6946,7 +6946,7 @@ i32.const 72 i32.const 226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -6959,7 +6959,7 @@ i32.const 72 i32.const 228 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1234 @@ -6972,7 +6972,7 @@ i32.const 72 i32.const 229 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4294967295 @@ -6985,7 +6985,7 @@ i32.const 72 i32.const 230 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -4294967295 @@ -6998,7 +6998,7 @@ i32.const 72 i32.const 231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 68719476735 @@ -7011,7 +7011,7 @@ i32.const 72 i32.const 232 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -68719476735 @@ -7024,7 +7024,7 @@ i32.const 72 i32.const 233 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -868719476735 @@ -7037,7 +7037,7 @@ i32.const 72 i32.const 234 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -999868719476735 @@ -7050,7 +7050,7 @@ i32.const 72 i32.const 235 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -19999868719476735 @@ -7063,7 +7063,7 @@ i32.const 72 i32.const 236 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 9223372036854775807 @@ -7076,7 +7076,7 @@ i32.const 72 i32.const 237 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -9223372036854775808 @@ -7089,7 +7089,7 @@ i32.const 72 i32.const 238 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -7102,7 +7102,7 @@ i32.const 72 i32.const 241 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -7115,7 +7115,7 @@ i32.const 72 i32.const 242 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -7128,7 +7128,7 @@ i32.const 72 i32.const 243 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -7141,7 +7141,7 @@ i32.const 72 i32.const 244 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -7154,7 +7154,7 @@ i32.const 72 i32.const 245 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.220446049250313e-16 @@ -7167,7 +7167,7 @@ i32.const 72 i32.const 246 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -2.220446049250313e-16 @@ -7180,7 +7180,7 @@ i32.const 72 i32.const 247 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 @@ -7193,7 +7193,7 @@ i32.const 72 i32.const 248 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1797693134862315708145274e284 @@ -7206,7 +7206,7 @@ i32.const 72 i32.const 249 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4185580496821356722454785e274 @@ -7219,7 +7219,7 @@ i32.const 72 i32.const 250 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072014e-308 @@ -7232,7 +7232,7 @@ i32.const 72 i32.const 251 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.940656e-318 @@ -7245,7 +7245,7 @@ i32.const 72 i32.const 254 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9060801153433600 @@ -7258,7 +7258,7 @@ i32.const 72 i32.const 255 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4708356024711512064 @@ -7271,7 +7271,7 @@ i32.const 72 i32.const 256 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9409340012568248320 @@ -7284,7 +7284,7 @@ i32.const 72 i32.const 257 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -7297,7 +7297,7 @@ i32.const 72 i32.const 258 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -7310,7 +7310,7 @@ i32.const 72 i32.const 264 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.1 @@ -7323,7 +7323,7 @@ i32.const 72 i32.const 265 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -7336,7 +7336,7 @@ i32.const 72 i32.const 266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.1 @@ -7349,7 +7349,7 @@ i32.const 72 i32.const 267 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e6 @@ -7362,7 +7362,7 @@ i32.const 72 i32.const 269 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e-06 @@ -7375,7 +7375,7 @@ i32.const 72 i32.const 270 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1e6 @@ -7388,7 +7388,7 @@ i32.const 72 i32.const 271 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1e-06 @@ -7401,7 +7401,7 @@ i32.const 72 i32.const 272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e7 @@ -7414,7 +7414,7 @@ i32.const 72 i32.const 273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e-07 @@ -7427,7 +7427,7 @@ i32.const 72 i32.const 274 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.e+308 @@ -7440,7 +7440,7 @@ i32.const 72 i32.const 276 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.e+308 @@ -7453,7 +7453,7 @@ i32.const 72 i32.const 277 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -7466,7 +7466,7 @@ i32.const 72 i32.const 278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -7479,7 +7479,7 @@ i32.const 72 i32.const 279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e-308 @@ -7492,7 +7492,7 @@ i32.const 72 i32.const 280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1e-308 @@ -7505,7 +7505,7 @@ i32.const 72 i32.const 281 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e-323 @@ -7518,7 +7518,7 @@ i32.const 72 i32.const 282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1e-323 @@ -7531,7 +7531,7 @@ i32.const 72 i32.const 283 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -7544,7 +7544,7 @@ i32.const 72 i32.const 284 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967272 @@ -7557,7 +7557,7 @@ i32.const 72 i32.const 286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.2312145673456234e-08 @@ -7570,7 +7570,7 @@ i32.const 72 i32.const 287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 555555555.5555556 @@ -7583,7 +7583,7 @@ i32.const 72 i32.const 289 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999999999999999 @@ -7596,7 +7596,7 @@ i32.const 72 i32.const 290 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -7609,7 +7609,7 @@ i32.const 72 i32.const 291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 12.34 @@ -7622,7 +7622,7 @@ i32.const 72 i32.const 292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.3333333333333333 @@ -7635,7 +7635,7 @@ i32.const 72 i32.const 294 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1234e17 @@ -7648,7 +7648,7 @@ i32.const 72 i32.const 295 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1234e18 @@ -7661,7 +7661,7 @@ i32.const 72 i32.const 296 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.71828 @@ -7674,7 +7674,7 @@ i32.const 72 i32.const 297 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.0271828 @@ -7687,7 +7687,7 @@ i32.const 72 i32.const 298 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 271.828 @@ -7700,7 +7700,7 @@ i32.const 72 i32.const 299 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1e+128 @@ -7713,7 +7713,7 @@ i32.const 72 i32.const 300 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1e-64 @@ -7726,7 +7726,7 @@ i32.const 72 i32.const 301 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.000035689 @@ -7739,17 +7739,194 @@ i32.const 72 i32.const 302 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) (func $std/string/getString (; 49 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str ) - (func $start (; 50 ;) (type $FUNCSIG$v) - call $start:std/string + (func $~lib/runtime/runtime.instanceof (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 6744 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 6744 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 51 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 6744 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 6744 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 54 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.tee $2 + i32.eqz + local.tee $0 + if (result i32) + local.get $0 + else + local.get $2 + i32.const 6744 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $2 + i32.const 3 + i32.shl + i32.const 6744 + i32.add + i32.load + end + local.tee $0 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 16 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $3 + local.get $2 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $2 + i32.load + drop + local.get $2 + local.get $1 + i32.store + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $3 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $0 + i32.const 512 + i32.and + if + local.get $1 + local.get $3 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load + drop + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $2 + ) + (func $~lib/runtime/runtime.retain (; 56 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) + (func $~lib/runtime/runtime.collect (; 57 ;) (type $FUNCSIG$v) + nop + ) + (func $start (; 58 ;) (type $FUNCSIG$v) + call $start:std/string + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 22 + call $~lib/util/runtime/register + global.set $~lib/runtime/ROOT + ) ) diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index f4758114..24baf97d 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -18,163 +18,164 @@ (type $FUNCSIG$iijijiji (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00 \00\00\00\00\00\00\00\00\00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g\00") - (data (i32.const 56) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 104) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 120) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 144) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00a\00") - (data (i32.const 168) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 224) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\006\00") - (data (i32.const 248) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 296) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\004\d8\06\df") - (data (i32.const 320) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00h\00i\00") - (data (i32.const 344) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00n\00u\00l\00l\00") - (data (i32.const 368) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 400) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00I\00\'\00m\00") - (data (i32.const 424) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00 \00") - (data (i32.const 448) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00") - (data (i32.const 472) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00") - (data (i32.const 496) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00 \00 \00a\00b\00c\00") - (data (i32.const 528) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\001\002\003\00") - (data (i32.const 552) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\001\002\003\00a\00b\00c\00") - (data (i32.const 584) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\001\002\003\001\002\00a\00b\00c\00") - (data (i32.const 616) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00 \00 \00") - (data (i32.const 648) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00a\00b\00c\00") - (data (i32.const 680) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00") - (data (i32.const 712) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00,\00") - (data (i32.const 736) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00x\00") - (data (i32.const 760) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00,\00 \00I\00") - (data (i32.const 784) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00g\00") - (data (i32.const 808) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00i\00") - (data (i32.const 832) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\000\00") - (data (i32.const 856) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\001\00") - (data (i32.const 880) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\000\00b\001\000\001\00") - (data (i32.const 912) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\000\00o\007\000\007\00") - (data (i32.const 944) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\000\00x\00f\000\00f\00") - (data (i32.const 976) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\000\00x\00F\000\00F\00") - (data (i32.const 1008) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\000\001\001\00") - (data (i32.const 1032) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\000\00x\001\00g\00") - (data (i32.const 1056) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\000\00.\001\00") - (data (i32.const 1080) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00.\002\005\00") - (data (i32.const 1104) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00.\001\00f\00o\00o\00b\00a\00r\00") - (data (i32.const 1136) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00b\00") - (data (i32.const 1160) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00a\00b\00") - (data (i32.const 1184) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00k\00e\00y\001\00") - (data (i32.const 1208) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00k\00e\00y\002\00") - (data (i32.const 1232) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00k\00e\001\00") - (data (i32.const 1256) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00k\00e\002\00") - (data (i32.const 1280) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00k\00e\00y\001\002\00") - (data (i32.const 1312) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00k\00e\00y\001\001\00") - (data (i32.const 1344) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 1376) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 1408) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 1448) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 1488) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00b\00a\00") - (data (i32.const 1512) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00a\00a\00") - (data (i32.const 1536) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00a\00a\00a\00") - (data (i32.const 1560) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00") - (data (i32.const 1592) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00a\00a\00a\00a\00a\00") - (data (i32.const 1624) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 1656) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00a\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 1688) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") - (data (i32.const 1736) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00n\00") - (data (i32.const 1760) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00j\00k\00l\00m\00n\00") - (data (i32.const 1792) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00c\00d\00e\00f\00g\00") - (data (i32.const 1824) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00d\00e\00f\00g\00h\00") - (data (i32.const 1856) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00") - (data (i32.const 1904) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 1952) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00c\00") - (data (i32.const 1984) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00.\00") - (data (i32.const 2008) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00c\00") - (data (i32.const 2032) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00a\00,\00 \00b\00,\00 \00c\00") - (data (i32.const 2064) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00,\00 \00") - (data (i32.const 2088) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00,\00c\00") - (data (i32.const 2120) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00,\00a\00,\00b\00,\00c\00") - (data (i32.const 2152) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00c\00,\00") - (data (i32.const 2184) "\03\00\00\00\90\01\00\00\00\00\00\00\00\00\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 2600) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\98\08\00\00\98\08\00\00\90\01\00\00d\00\00\00") - (data (i32.const 2632) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\008\00") - (data (i32.const 2656) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00-\001\000\000\000\00") - (data (i32.const 2688) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\001\002\003\004\00") - (data (i32.const 2712) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\001\002\003\004\005\00") - (data (i32.const 2744) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\001\002\003\004\005\006\00") - (data (i32.const 2776) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\001\001\001\001\001\001\001\00") - (data (i32.const 2808) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\001\002\003\004\005\006\007\00") - (data (i32.const 2840) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\002\001\004\007\004\008\003\006\004\006\00") - (data (i32.const 2880) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\002\001\004\007\004\008\003\006\004\007\00") - (data (i32.const 2920) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 2960) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00-\001\00") - (data (i32.const 2984) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\001\000\000\000\00") - (data (i32.const 3008) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 3048) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 3088) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\009\009\009\009\009\009\009\009\00") - (data (i32.const 3120) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\001\000\000\000\000\000\000\000\000\00") - (data (i32.const 3160) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3200) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3240) "\01\00\00\00\1e\00\00\00\00\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 3288) "\01\00\00\00 \00\00\00\00\00\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 3336) "\01\00\00\00\"\00\00\00\00\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 3392) "\01\00\00\00(\00\00\00\00\00\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 3448) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00-\001\002\003\004\00") - (data (i32.const 3480) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00-\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 3520) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3560) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3608) "\01\00\00\00 \00\00\00\00\00\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 3656) "\01\00\00\00$\00\00\00\00\00\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 3712) "\01\00\00\00&\00\00\00\00\00\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 3768) "\01\00\00\00(\00\00\00\00\00\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 3824) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\000\00.\000\00") - (data (i32.const 3848) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00") - (data (i32.const 3872) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 3912) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 3944) "\03\00\00\00\b8\02\00\00\00\00\00\00\00\00\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|inlined.0 (result i32) + i32.const 0 + local.set $3 + local.get $3 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end return end local.get $1 @@ -2856,9 +2871,9 @@ block (result i32) i32.const 1 i32.const 2 - i32.const 2 + i32.const 17 i32.const 0 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray local.set $3 local.get $3 i32.load offset=4 @@ -2896,11 +2911,15 @@ local.get $6 i32.eqz if - i32.const 0 - i32.const 2 - i32.const 1 - i32.const 0 - call $~lib/runtime/runtime.newArray + block $~lib/util/runtime/NEWARRAY<~lib/string/String>|inlined.1 (result i32) + i32.const 0 + local.set $4 + local.get $4 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end return end local.get $6 @@ -2912,11 +2931,15 @@ i32.lt_s select local.set $6 - local.get $6 - i32.const 2 - i32.const 2 - i32.const 0 - call $~lib/runtime/runtime.newArray + block $~lib/util/runtime/NEWARRAY<~lib/string/String>|inlined.2 (result i32) + local.get $6 + local.set $4 + local.get $4 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end local.set $4 local.get $4 i32.load offset=4 @@ -2950,7 +2973,7 @@ local.get $8 i32.store local.get $8 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register drop local.get $8 @@ -2972,11 +2995,15 @@ local.get $6 i32.eqz if - i32.const 1 - i32.const 2 - i32.const 2 - i32.const 0 - call $~lib/runtime/runtime.newArray + block $~lib/util/runtime/NEWARRAY<~lib/string/String>|inlined.3 (result i32) + i32.const 1 + local.set $3 + local.get $3 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end local.set $3 local.get $3 i32.load offset=4 @@ -2986,11 +3013,15 @@ return end end - i32.const 0 - i32.const 2 - i32.const 2 - i32.const 0 - call $~lib/runtime/runtime.newArray + block $~lib/util/runtime/NEWARRAY<~lib/string/String>|inlined.4 (result i32) + i32.const 0 + local.set $3 + local.get $3 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end local.set $9 i32.const 0 local.set $10 @@ -3040,7 +3071,7 @@ call $~lib/memory/memory.copy local.get $9 local.get $4 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register call $~lib/array/Array<~lib/string/String>#push drop @@ -3072,11 +3103,15 @@ local.get $11 i32.eqz if - i32.const 1 - i32.const 2 - i32.const 2 - i32.const 0 - call $~lib/runtime/runtime.newArray + block $~lib/util/runtime/NEWARRAY<~lib/string/String>|inlined.5 (result i32) + i32.const 1 + local.set $3 + local.get $3 + i32.const 2 + i32.const 17 + i32.const 0 + call $~lib/util/runtime/makeArray + end local.set $3 local.get $3 i32.const 0 @@ -3110,7 +3145,7 @@ call $~lib/memory/memory.copy local.get $9 local.get $3 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register call $~lib/array/Array<~lib/string/String>#push drop @@ -3145,7 +3180,7 @@ i32.const 1920 i32.const 96 i32.const 45 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -3159,7 +3194,7 @@ i32.const 1920 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3431,7 +3466,7 @@ i32.store16 end local.get $3 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/utoa32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -3467,7 +3502,7 @@ call $~lib/util/number/utoa32_lut end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/decimalCount64 (; 52 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) @@ -3732,7 +3767,7 @@ end end local.get $1 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/number/itoa64 (; 55 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) @@ -3822,7 +3857,7 @@ i32.store16 end local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/builtins/isFinite (; 56 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) @@ -5215,7 +5250,7 @@ i32.const 264 i32.const 203 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5312,7 +5347,7 @@ local.get $3 call $~lib/memory/memory.copy local.get $10 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/util/runtime/discard (; 64 ;) (type $FUNCSIG$vi) (param $0 i32) @@ -5324,9 +5359,9 @@ if i32.const 0 i32.const 184 - i32.const 114 + i32.const 117 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5341,9 +5376,9 @@ if i32.const 0 i32.const 184 - i32.const 116 + i32.const 119 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5409,7 +5444,7 @@ i32.const 72 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5422,7 +5457,7 @@ i32.const 72 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5436,7 +5471,7 @@ i32.const 72 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5450,7 +5485,7 @@ i32.const 72 i32.const 22 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 136 @@ -5464,7 +5499,7 @@ i32.const 72 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5478,7 +5513,7 @@ i32.const 72 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/memory/HEAP_BASE @@ -5501,7 +5536,7 @@ i32.const 72 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 54 @@ -5514,7 +5549,7 @@ i32.const 72 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 65536 @@ -5529,7 +5564,7 @@ i32.const 72 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -5542,7 +5577,7 @@ i32.const 72 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 54 @@ -5555,7 +5590,7 @@ i32.const 72 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 119558 @@ -5566,7 +5601,7 @@ i32.const 72 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5579,7 +5614,7 @@ i32.const 72 i32.const 34 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5592,7 +5627,7 @@ i32.const 72 i32.const 35 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block $~lib/string/String#includes|inlined.0 (result i32) @@ -5617,7 +5652,7 @@ i32.const 72 i32.const 36 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5632,7 +5667,7 @@ i32.const 72 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5647,7 +5682,7 @@ i32.const 72 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5662,7 +5697,7 @@ i32.const 72 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5677,7 +5712,7 @@ i32.const 72 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5692,7 +5727,7 @@ i32.const 72 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -5707,7 +5742,7 @@ i32.const 72 i32.const 43 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -5722,7 +5757,7 @@ i32.const 72 i32.const 44 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -5737,7 +5772,7 @@ i32.const 72 i32.const 45 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5752,7 +5787,7 @@ i32.const 72 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5767,7 +5802,7 @@ i32.const 72 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5782,7 +5817,7 @@ i32.const 72 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5797,7 +5832,7 @@ i32.const 72 i32.const 50 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5812,7 +5847,7 @@ i32.const 72 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -5827,7 +5862,7 @@ i32.const 72 i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -5842,7 +5877,7 @@ i32.const 72 i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -5857,7 +5892,7 @@ i32.const 72 i32.const 54 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5872,7 +5907,7 @@ i32.const 72 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -5887,7 +5922,7 @@ i32.const 72 i32.const 57 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -5902,7 +5937,7 @@ i32.const 72 i32.const 58 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5917,7 +5952,7 @@ i32.const 72 i32.const 59 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5932,7 +5967,7 @@ i32.const 72 i32.const 60 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5947,7 +5982,7 @@ i32.const 72 i32.const 61 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5962,7 +5997,7 @@ i32.const 72 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5977,7 +6012,7 @@ i32.const 72 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -5992,7 +6027,7 @@ i32.const 72 i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6007,7 +6042,7 @@ i32.const 72 i32.const 65 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6022,7 +6057,7 @@ i32.const 72 i32.const 67 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6037,7 +6072,7 @@ i32.const 72 i32.const 68 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6053,7 +6088,7 @@ i32.const 72 i32.const 69 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6068,7 +6103,7 @@ i32.const 72 i32.const 70 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6083,7 +6118,7 @@ i32.const 72 i32.const 71 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6098,7 +6133,7 @@ i32.const 72 i32.const 72 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6113,7 +6148,7 @@ i32.const 72 i32.const 73 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6128,7 +6163,7 @@ i32.const 72 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6143,7 +6178,7 @@ i32.const 72 i32.const 75 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6158,7 +6193,7 @@ i32.const 72 i32.const 76 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6173,7 +6208,7 @@ i32.const 72 i32.const 77 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 848 @@ -6187,7 +6222,7 @@ i32.const 72 i32.const 83 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 872 @@ -6201,7 +6236,7 @@ i32.const 72 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 896 @@ -6215,7 +6250,7 @@ i32.const 72 i32.const 85 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 928 @@ -6229,7 +6264,7 @@ i32.const 72 i32.const 86 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 960 @@ -6243,7 +6278,7 @@ i32.const 72 i32.const 87 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 992 @@ -6257,7 +6292,7 @@ i32.const 72 i32.const 88 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1024 @@ -6271,7 +6306,7 @@ i32.const 72 i32.const 89 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1048 @@ -6285,7 +6320,7 @@ i32.const 72 i32.const 90 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 848 @@ -6298,7 +6333,7 @@ i32.const 72 i32.const 92 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 872 @@ -6311,7 +6346,7 @@ i32.const 72 i32.const 93 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1072 @@ -6324,7 +6359,7 @@ i32.const 72 i32.const 94 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1096 @@ -6337,7 +6372,7 @@ i32.const 72 i32.const 95 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1120 @@ -6350,7 +6385,7 @@ i32.const 72 i32.const 96 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -6366,7 +6401,7 @@ i32.const 72 i32.const 99 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/c @@ -6378,7 +6413,7 @@ i32.const 72 i32.const 100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6390,7 +6425,7 @@ i32.const 72 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6402,7 +6437,7 @@ i32.const 72 i32.const 102 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/nullStr @@ -6414,7 +6449,7 @@ i32.const 72 i32.const 103 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -6426,7 +6461,7 @@ i32.const 72 i32.const 104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -6438,7 +6473,7 @@ i32.const 72 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1200 @@ -6450,7 +6485,7 @@ i32.const 72 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1200 @@ -6462,7 +6497,7 @@ i32.const 72 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1248 @@ -6474,7 +6509,7 @@ i32.const 72 i32.const 108 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1296 @@ -6486,7 +6521,7 @@ i32.const 72 i32.const 109 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1360 @@ -6498,7 +6533,7 @@ i32.const 72 i32.const 110 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1360 @@ -6510,7 +6545,7 @@ i32.const 72 i32.const 111 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1424 @@ -6522,7 +6557,7 @@ i32.const 72 i32.const 112 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1152 @@ -6534,7 +6569,7 @@ i32.const 72 i32.const 114 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1504 @@ -6546,7 +6581,7 @@ i32.const 72 i32.const 115 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1504 @@ -6558,7 +6593,7 @@ i32.const 72 i32.const 116 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1504 @@ -6570,7 +6605,7 @@ i32.const 72 i32.const 117 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1504 @@ -6583,7 +6618,7 @@ i32.const 72 i32.const 118 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1152 @@ -6596,7 +6631,7 @@ i32.const 72 i32.const 120 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/nullStr @@ -6609,7 +6644,7 @@ i32.const 72 i32.const 121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -6621,7 +6656,7 @@ i32.const 72 i32.const 123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6633,7 +6668,7 @@ i32.const 72 i32.const 124 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -6645,7 +6680,7 @@ i32.const 72 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6657,7 +6692,7 @@ i32.const 72 i32.const 126 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -6670,7 +6705,7 @@ i32.const 72 i32.const 127 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6683,7 +6718,7 @@ i32.const 72 i32.const 128 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6696,7 +6731,7 @@ i32.const 72 i32.const 129 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6709,7 +6744,7 @@ i32.const 72 i32.const 130 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6721,7 +6756,7 @@ i32.const 72 i32.const 131 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6733,7 +6768,7 @@ i32.const 72 i32.const 132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 65377 @@ -6754,7 +6789,7 @@ i32.const 72 i32.const 136 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 544 @@ -6767,7 +6802,7 @@ i32.const 72 i32.const 138 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -6781,7 +6816,7 @@ i32.const 72 i32.const 140 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -6795,7 +6830,7 @@ i32.const 72 i32.const 141 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -6809,7 +6844,7 @@ i32.const 72 i32.const 142 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -6823,7 +6858,7 @@ i32.const 72 i32.const 143 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -6837,7 +6872,7 @@ i32.const 72 i32.const 144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1176 @@ -6851,7 +6886,7 @@ i32.const 72 i32.const 145 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -6865,7 +6900,7 @@ i32.const 72 i32.const 146 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -6879,7 +6914,7 @@ i32.const 72 i32.const 147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 160 @@ -6893,7 +6928,7 @@ i32.const 72 i32.const 148 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1704 @@ -6910,7 +6945,7 @@ i32.const 72 i32.const 152 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6925,7 +6960,7 @@ i32.const 72 i32.const 153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6940,7 +6975,7 @@ i32.const 72 i32.const 154 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6955,7 +6990,7 @@ i32.const 72 i32.const 155 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6970,7 +7005,7 @@ i32.const 72 i32.const 156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -6985,7 +7020,7 @@ i32.const 72 i32.const 157 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/string/str @@ -7000,7 +7035,7 @@ i32.const 72 i32.const 158 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -7028,7 +7063,7 @@ i32.const 72 i32.const 163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -7046,7 +7081,7 @@ i32.const 72 i32.const 165 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 120 @@ -7074,7 +7109,7 @@ i32.const 72 i32.const 167 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1968 @@ -7102,7 +7137,7 @@ i32.const 72 i32.const 169 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1968 @@ -7150,7 +7185,7 @@ i32.const 72 i32.const 171 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2048 @@ -7198,7 +7233,7 @@ i32.const 72 i32.const 173 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2104 @@ -7256,7 +7291,7 @@ i32.const 72 i32.const 175 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2136 @@ -7314,7 +7349,7 @@ i32.const 72 i32.const 177 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2168 @@ -7372,7 +7407,7 @@ i32.const 72 i32.const 179 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -7420,7 +7455,7 @@ i32.const 72 i32.const 181 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -7438,7 +7473,7 @@ i32.const 72 i32.const 183 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -7466,7 +7501,7 @@ i32.const 72 i32.const 185 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1968 @@ -7494,7 +7529,7 @@ i32.const 72 i32.const 187 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -7542,7 +7577,7 @@ i32.const 72 i32.const 189 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 488 @@ -7590,7 +7625,7 @@ i32.const 72 i32.const 191 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1968 @@ -7638,7 +7673,7 @@ i32.const 72 i32.const 193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -7651,7 +7686,7 @@ i32.const 72 i32.const 195 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -7664,7 +7699,7 @@ i32.const 72 i32.const 196 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -7677,7 +7712,7 @@ i32.const 72 i32.const 197 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 123 @@ -7690,7 +7725,7 @@ i32.const 72 i32.const 198 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1000 @@ -7703,7 +7738,7 @@ i32.const 72 i32.const 199 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1234 @@ -7716,7 +7751,7 @@ i32.const 72 i32.const 200 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 12345 @@ -7729,7 +7764,7 @@ i32.const 72 i32.const 201 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 123456 @@ -7742,7 +7777,7 @@ i32.const 72 i32.const 202 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1111111 @@ -7755,7 +7790,7 @@ i32.const 72 i32.const 203 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1234567 @@ -7768,7 +7803,7 @@ i32.const 72 i32.const 204 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2147483646 @@ -7781,7 +7816,7 @@ i32.const 72 i32.const 205 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2147483647 @@ -7794,7 +7829,7 @@ i32.const 72 i32.const 206 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -2147483648 @@ -7807,7 +7842,7 @@ i32.const 72 i32.const 207 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -1 @@ -7820,7 +7855,7 @@ i32.const 72 i32.const 208 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -7833,7 +7868,7 @@ i32.const 72 i32.const 210 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1000 @@ -7846,7 +7881,7 @@ i32.const 72 i32.const 211 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2147483647 @@ -7859,7 +7894,7 @@ i32.const 72 i32.const 212 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const -2147483648 @@ -7872,7 +7907,7 @@ i32.const 72 i32.const 213 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/u32.MAX_VALUE @@ -7885,7 +7920,7 @@ i32.const 72 i32.const 214 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -7898,7 +7933,7 @@ i32.const 72 i32.const 216 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 1234 @@ -7911,7 +7946,7 @@ i32.const 72 i32.const 217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 99999999 @@ -7924,7 +7959,7 @@ i32.const 72 i32.const 218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 100000000 @@ -7937,7 +7972,7 @@ i32.const 72 i32.const 219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4294967295 @@ -7950,7 +7985,7 @@ i32.const 72 i32.const 220 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 68719476735 @@ -7963,7 +7998,7 @@ i32.const 72 i32.const 221 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 868719476735 @@ -7976,7 +8011,7 @@ i32.const 72 i32.const 222 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 999868719476735 @@ -7989,7 +8024,7 @@ i32.const 72 i32.const 223 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 9999868719476735 @@ -8002,7 +8037,7 @@ i32.const 72 i32.const 224 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 19999868719476735 @@ -8015,7 +8050,7 @@ i32.const 72 i32.const 225 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/u64.MAX_VALUE @@ -8028,7 +8063,7 @@ i32.const 72 i32.const 226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 0 @@ -8041,7 +8076,7 @@ i32.const 72 i32.const 228 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -1234 @@ -8054,7 +8089,7 @@ i32.const 72 i32.const 229 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 4294967295 @@ -8067,7 +8102,7 @@ i32.const 72 i32.const 230 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -4294967295 @@ -8080,7 +8115,7 @@ i32.const 72 i32.const 231 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const 68719476735 @@ -8093,7 +8128,7 @@ i32.const 72 i32.const 232 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -68719476735 @@ -8106,7 +8141,7 @@ i32.const 72 i32.const 233 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -868719476735 @@ -8119,7 +8154,7 @@ i32.const 72 i32.const 234 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -999868719476735 @@ -8132,7 +8167,7 @@ i32.const 72 i32.const 235 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i64.const -19999868719476735 @@ -8145,7 +8180,7 @@ i32.const 72 i32.const 236 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/i64.MAX_VALUE @@ -8158,7 +8193,7 @@ i32.const 72 i32.const 237 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/i64.MIN_VALUE @@ -8171,7 +8206,7 @@ i32.const 72 i32.const 238 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -8184,7 +8219,7 @@ i32.const 72 i32.const 241 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0 @@ -8197,7 +8232,7 @@ i32.const 72 i32.const 242 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 @@ -8210,7 +8245,7 @@ i32.const 72 i32.const 243 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -8223,7 +8258,7 @@ i32.const 72 i32.const 244 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -8237,7 +8272,7 @@ i32.const 72 i32.const 245 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.EPSILON @@ -8250,7 +8285,7 @@ i32.const 72 i32.const 246 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.EPSILON @@ -8264,7 +8299,7 @@ i32.const 72 i32.const 247 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE @@ -8277,7 +8312,7 @@ i32.const 72 i32.const 248 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE @@ -8291,7 +8326,7 @@ i32.const 72 i32.const 249 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4185580496821356722454785e274 @@ -8304,7 +8339,7 @@ i32.const 72 i32.const 250 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.2250738585072014e-308 @@ -8317,7 +8352,7 @@ i32.const 72 i32.const 251 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4.940656e-318 @@ -8330,7 +8365,7 @@ i32.const 72 i32.const 254 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9060801153433600 @@ -8343,7 +8378,7 @@ i32.const 72 i32.const 255 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4708356024711512064 @@ -8356,7 +8391,7 @@ i32.const 72 i32.const 256 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 9409340012568248320 @@ -8369,7 +8404,7 @@ i32.const 72 i32.const 257 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 5e-324 @@ -8382,7 +8417,7 @@ i32.const 72 i32.const 258 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -8395,7 +8430,7 @@ i32.const 72 i32.const 264 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.1 @@ -8408,7 +8443,7 @@ i32.const 72 i32.const 265 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1 @@ -8421,7 +8456,7 @@ i32.const 72 i32.const 266 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -0.1 @@ -8434,7 +8469,7 @@ i32.const 72 i32.const 267 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e6 @@ -8447,7 +8482,7 @@ i32.const 72 i32.const 269 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e-06 @@ -8460,7 +8495,7 @@ i32.const 72 i32.const 270 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1e6 @@ -8473,7 +8508,7 @@ i32.const 72 i32.const 271 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1e-06 @@ -8486,7 +8521,7 @@ i32.const 72 i32.const 272 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e7 @@ -8499,7 +8534,7 @@ i32.const 72 i32.const 273 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e-07 @@ -8512,7 +8547,7 @@ i32.const 72 i32.const 274 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.e+308 @@ -8525,7 +8560,7 @@ i32.const 72 i32.const 276 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1.e+308 @@ -8538,7 +8573,7 @@ i32.const 72 i32.const 277 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const inf @@ -8551,7 +8586,7 @@ i32.const 72 i32.const 278 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -inf @@ -8564,7 +8599,7 @@ i32.const 72 i32.const 279 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e-308 @@ -8577,7 +8612,7 @@ i32.const 72 i32.const 280 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1e-308 @@ -8590,7 +8625,7 @@ i32.const 72 i32.const 281 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1e-323 @@ -8603,7 +8638,7 @@ i32.const 72 i32.const 282 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const -1e-323 @@ -8616,7 +8651,7 @@ i32.const 72 i32.const 283 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0 @@ -8629,7 +8664,7 @@ i32.const 72 i32.const 284 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 4294967272 @@ -8642,7 +8677,7 @@ i32.const 72 i32.const 286 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.2312145673456234e-08 @@ -8655,7 +8690,7 @@ i32.const 72 i32.const 287 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 555555555.5555556 @@ -8668,7 +8703,7 @@ i32.const 72 i32.const 289 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.9999999999999999 @@ -8681,7 +8716,7 @@ i32.const 72 i32.const 290 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -8694,7 +8729,7 @@ i32.const 72 i32.const 291 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 12.34 @@ -8707,7 +8742,7 @@ i32.const 72 i32.const 292 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1 @@ -8722,7 +8757,7 @@ i32.const 72 i32.const 294 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1234e17 @@ -8735,7 +8770,7 @@ i32.const 72 i32.const 295 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1234e18 @@ -8748,7 +8783,7 @@ i32.const 72 i32.const 296 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 2.71828 @@ -8761,7 +8796,7 @@ i32.const 72 i32.const 297 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.0271828 @@ -8774,7 +8809,7 @@ i32.const 72 i32.const 298 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 271.828 @@ -8787,7 +8822,7 @@ i32.const 72 i32.const 299 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1e+128 @@ -8800,7 +8835,7 @@ i32.const 72 i32.const 300 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 1.1e-64 @@ -8813,7 +8848,7 @@ i32.const 72 i32.const 301 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end f64.const 0.000035689 @@ -8826,16 +8861,246 @@ i32.const 72 i32.const 302 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) (func $std/string/getString (; 67 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str ) - (func $start (; 68 ;) (type $FUNCSIG$v) - call $start:std/string + (func $~lib/runtime/runtime.instanceof (; 68 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 69 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 71 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 72 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 73 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 74 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.tee $6 + local.get $1 + local.tee $7 + local.get $6 + i32.load + local.tee $8 + i32.ne + if (result i32) + local.get $8 + if + local.get $8 + local.get $6 + call $~lib/collector/dummy/__ref_unlink + end + local.get $7 + local.get $6 + call $~lib/collector/dummy/__ref_link + local.get $7 + else + local.get $7 + end + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $8 + block $break|0 + loop $continue|0 + local.get $6 + local.get $8 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $7 + local.get $7 + if + local.get $7 + local.get $5 + call $~lib/collector/dummy/__ref_link + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/Root#constructor (; 75 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 22 + call $~lib/util/runtime/register + local.set $0 + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 76 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_link + ) + (func $~lib/runtime/runtime.release (; 77 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_unlink + ) + (func $~lib/collector/dummy/__ref_collect (; 78 ;) (type $FUNCSIG$v) + nop + ) + (func $~lib/runtime/runtime.collect (; 79 ;) (type $FUNCSIG$v) + call $~lib/collector/dummy/__ref_collect + ) + (func $~lib/runtime/runtime#constructor (; 80 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 81 ;) (type $FUNCSIG$v) + call $start:std/string + i32.const 0 + call $~lib/runtime/Root#constructor + global.set $~lib/runtime/ROOT + ) + (func $null (; 82 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/symbol.optimized.wat b/tests/compiler/std/symbol.optimized.wat index d00fd4e8..70b25c58 100644 --- a/tests/compiler/std/symbol.optimized.wat +++ b/tests/compiler/std/symbol.optimized.wat @@ -8,33 +8,34 @@ (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\06\00\00\001\002\003") - (data (i32.const 24) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s") - (data (i32.const 64) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 112) "\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 160) "\01") - (data (i32.const 168) "\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") - (data (i32.const 200) "\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 248) "\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") - (data (i32.const 272) "\01\00\00\00\n\00\00\00m\00a\00t\00c\00h") - (data (i32.const 296) "\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") - (data (i32.const 320) "\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") - (data (i32.const 344) "\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") - (data (i32.const 368) "\01\00\00\00\n\00\00\00s\00p\00l\00i\00t") - (data (i32.const 392) "\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") - (data (i32.const 424) "\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") - (data (i32.const 456) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") - (data (i32.const 488) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") - (data (i32.const 512) "\01\00\00\00\08\00\00\00n\00u\00l\00l") - (data (i32.const 528) "\01\00\00\00\02\00\00\00)") - (data (i32.const 544) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") - (data (i32.const 568) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") - (data (i32.const 600) "\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 648) "\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)") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\06\00\00\001\002\003") + (data (i32.const 24) "\10\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s") + (data (i32.const 64) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 112) "\10\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 160) "\10") + (data (i32.const 168) "\10\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") + (data (i32.const 200) "\10\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 248) "\10\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") + (data (i32.const 272) "\10\00\00\00\n\00\00\00m\00a\00t\00c\00h") + (data (i32.const 296) "\10\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") + (data (i32.const 320) "\10\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") + (data (i32.const 344) "\10\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") + (data (i32.const 368) "\10\00\00\00\n\00\00\00s\00p\00l\00i\00t") + (data (i32.const 392) "\10\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") + (data (i32.const 424) "\10\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") + (data (i32.const 456) "\10\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") + (data (i32.const 488) "\10\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") + (data (i32.const 512) "\10\00\00\00\08\00\00\00n\00u\00l\00l") + (data (i32.const 528) "\10\00\00\00\02\00\00\00)") + (data (i32.const 544) "\10\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") + (data (i32.const 568) "\10\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") + (data (i32.const 600) "\10\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 648) "\10\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 712) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 752) "\13") + (data (i32.const 888) "$\10\00\00\00\00\00\00$\10\00\00\00\00\00\00!\00\00\00\0e") (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)) @@ -51,7 +52,15 @@ (global $std/symbol/hasInstance (mut i32) (i32.const 0)) (global $std/symbol/isConcatSpreadable (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -139,14 +148,14 @@ (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 708 + i32.const 912 i32.le_u if i32.const 0 i32.const 72 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -159,9 +168,9 @@ if i32.const 0 i32.const 72 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -390,7 +399,7 @@ i32.const 120 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -399,7 +408,7 @@ local.get $0 call $~lib/memory/memory.fill local.get $1 - i32.const 3 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/map/Map<~lib/string/String,usize>#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) @@ -428,7 +437,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 17 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -456,7 +465,7 @@ (local $0 i32) i32.const 24 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 18 call $~lib/util/runtime/register local.tee $0 i32.const 0 @@ -1408,7 +1417,7 @@ local.get $4 call $~lib/memory/memory.copy local.get $2 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/string/String.__concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -1544,10 +1553,10 @@ i32.const 32 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 712 + i32.const 912 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -1563,7 +1572,7 @@ i32.const 32 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/sym1 @@ -1578,7 +1587,7 @@ i32.const 32 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/key2 @@ -1587,7 +1596,7 @@ i32.const 32 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/sym3 @@ -1617,7 +1626,7 @@ i32.const 32 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/key3 @@ -1629,7 +1638,7 @@ i32.const 32 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/symbol/nextId @@ -1652,7 +1661,7 @@ i32.const 32 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/sym3 @@ -1665,7 +1674,7 @@ i32.const 32 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -1682,7 +1691,7 @@ i32.const 32 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/isConcatSpreadable @@ -1695,14 +1704,197 @@ i32.const 32 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) - (func $start (; 28 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 752 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 752 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 752 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 752 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + i32.const 752 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 752 + i32.add + i32.load + end + local.tee $3 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 8 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $2 + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $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 $0 + local.get $2 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $3 + i32.const 512 + i32.and + if + local.get $1 + local.get $2 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + if + i32.const 0 + i32.const 720 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 35 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 720 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $start (; 36 ;) (type $FUNCSIG$v) call $start:std/symbol ) - (func $null (; 29 ;) (type $FUNCSIG$v) + (func $null (; 37 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/symbol.untouched.wat b/tests/compiler/std/symbol.untouched.wat index 4815c918..7e6d7bba 100644 --- a/tests/compiler/std/symbol.untouched.wat +++ b/tests/compiler/std/symbol.untouched.wat @@ -8,31 +8,33 @@ (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\06\00\00\001\002\003\00") - (data (i32.const 24) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s\00") - (data (i32.const 64) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 112) "\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 160) "\01\00\00\00\00\00\00\00") - (data (i32.const 168) "\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00") - (data (i32.const 200) "\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 248) "\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00") - (data (i32.const 272) "\01\00\00\00\n\00\00\00m\00a\00t\00c\00h\00") - (data (i32.const 296) "\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00") - (data (i32.const 320) "\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") - (data (i32.const 344) "\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00") - (data (i32.const 368) "\01\00\00\00\n\00\00\00s\00p\00l\00i\00t\00") - (data (i32.const 392) "\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00") - (data (i32.const 424) "\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00") - (data (i32.const 456) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00") - (data (i32.const 488) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00") - (data (i32.const 512) "\01\00\00\00\08\00\00\00n\00u\00l\00l\00") - (data (i32.const 528) "\01\00\00\00\02\00\00\00)\00") - (data (i32.const 544) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00") - (data (i32.const 568) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00") - (data (i32.const 600) "\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 648) "\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 8) "\10\00\00\00\06\00\00\001\002\003\00") + (data (i32.const 24) "\10\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s\00") + (data (i32.const 64) "\10\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 112) "\10\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 160) "\10\00\00\00\00\00\00\00") + (data (i32.const 168) "\10\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00") + (data (i32.const 200) "\10\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 248) "\10\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00") + (data (i32.const 272) "\10\00\00\00\n\00\00\00m\00a\00t\00c\00h\00") + (data (i32.const 296) "\10\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00") + (data (i32.const 320) "\10\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") + (data (i32.const 344) "\10\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00") + (data (i32.const 368) "\10\00\00\00\n\00\00\00s\00p\00l\00i\00t\00") + (data (i32.const 392) "\10\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00") + (data (i32.const 424) "\10\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00") + (data (i32.const 456) "\10\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00") + (data (i32.const 488) "\10\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00") + (data (i32.const 512) "\10\00\00\00\08\00\00\00n\00u\00l\00l\00") + (data (i32.const 528) "\10\00\00\00\02\00\00\00)\00") + (data (i32.const 544) "\10\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00") + (data (i32.const 568) "\10\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00") + (data (i32.const 600) "\10\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 648) "\10\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 712) "\10\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 752) "\13\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$\10\00\00\00\00\00\00$\10\00\00\00\00\00\00!\00\00\00\0e\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/symbol/nextId (mut i32) (i32.const 12)) @@ -56,9 +58,18 @@ (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/memory/HEAP_BASE i32 (i32.const 708)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 752)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 912)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/symbol/Symbol (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -200,9 +211,9 @@ if i32.const 0 i32.const 72 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -217,9 +228,9 @@ if i32.const 0 i32.const 72 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -494,7 +505,7 @@ i32.const 120 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -505,7 +516,7 @@ local.get $1 call $~lib/memory/memory.fill local.get $2 - i32.const 3 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/map/Map<~lib/string/String,usize>#clear (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) @@ -541,7 +552,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 17 call $~lib/util/runtime/register local.set $0 end @@ -601,7 +612,7 @@ if i32.const 24 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 18 call $~lib/util/runtime/register local.set $0 end @@ -1798,7 +1809,7 @@ local.get $3 call $~lib/memory/memory.copy local.get $5 - i32.const 1 + i32.const 16 call $~lib/util/runtime/register ) (func $~lib/string/String.__concat (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -2014,7 +2025,7 @@ i32.const 32 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/memory/HEAP_BASE @@ -2042,7 +2053,7 @@ i32.const 32 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/sym1 @@ -2060,7 +2071,7 @@ i32.const 32 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/key2 @@ -2072,7 +2083,7 @@ i32.const 32 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/sym3 @@ -2102,7 +2113,7 @@ i32.const 32 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/key3 @@ -2114,7 +2125,7 @@ i32.const 32 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -2128,7 +2139,7 @@ i32.const 32 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/sym3 @@ -2141,7 +2152,7 @@ i32.const 32 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/symbol/_Symbol.hasInstance @@ -2158,7 +2169,7 @@ i32.const 32 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/symbol/isConcatSpreadable @@ -2171,7 +2182,7 @@ i32.const 32 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/symbol/_Symbol.hasInstance @@ -2179,9 +2190,209 @@ global.get $~lib/symbol/_Symbol.isConcatSpreadable drop ) - (func $start (; 35 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.instanceof (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 + ) + (func $~lib/runtime/runtime.flags (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 41 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.get $1 + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $7 + block $break|0 + loop $continue|0 + local.get $6 + local.get $7 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $8 + local.get $8 + if + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 720 + i32.const 97 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/runtime.retain (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.release (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/runtime/runtime.collect (; 44 ;) (type $FUNCSIG$v) + i32.const 0 + i32.const 720 + i32.const 139 + i32.const 9 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/runtime/runtime#constructor (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 46 ;) (type $FUNCSIG$v) call $start:std/symbol ) - (func $null (; 36 ;) (type $FUNCSIG$v) + (func $null (; 47 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/trace.optimized.wat b/tests/compiler/std/trace.optimized.wat index 740e55c1..d0dfd2b3 100644 --- a/tests/compiler/std/trace.optimized.wat +++ b/tests/compiler/std/trace.optimized.wat @@ -1,21 +1,18 @@ (module (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t") - (data (i32.const 48) "\01\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t") - (data (i32.const 88) "\01\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t") - (data (i32.const 112) "\01\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t") - (data (i32.const 136) "\01\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t") - (data (i32.const 168) "\01\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t") - (data (i32.const 192) "\01\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t") - (data (i32.const 216) "\01\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t") + (data (i32.const 48) "\10\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t") + (data (i32.const 88) "\10\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t") + (data (i32.const 112) "\10\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t") + (data (i32.const 136) "\10\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t") + (data (i32.const 168) "\10\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t") + (data (i32.const 192) "\10\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t") + (data (i32.const 216) "\10\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l") (global $~lib/started (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $std/trace/main)) (func $start:std/trace (; 1 ;) (type $FUNCSIG$v) i32.const 16 @@ -25,7 +22,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 56 i32.const 0 f64.const 0 @@ -33,7 +30,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 96 i32.const 1 f64.const 1 @@ -41,7 +38,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 120 i32.const 2 f64.const 1 @@ -49,7 +46,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 144 i32.const 3 f64.const 1 @@ -57,7 +54,7 @@ f64.const 3 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 176 i32.const 4 f64.const 1 @@ -65,7 +62,7 @@ f64.const 3 f64.const 4 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 200 i32.const 5 f64.const 1 @@ -73,7 +70,7 @@ f64.const 3 f64.const 4 f64.const 5 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 224 i32.const 5 f64.const 1.1 @@ -81,7 +78,7 @@ f64.const 3.3 f64.const 4.4 f64.const 5.5 - call $~lib/env/trace + call $~lib/builtins/trace ) (func $std/trace/main (; 2 ;) (type $FUNCSIG$v) global.get $~lib/started diff --git a/tests/compiler/std/trace.untouched.wat b/tests/compiler/std/trace.untouched.wat index de6114e2..329ad5ef 100644 --- a/tests/compiler/std/trace.untouched.wat +++ b/tests/compiler/std/trace.untouched.wat @@ -1,22 +1,20 @@ (module (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$v (func)) - (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t\00") - (data (i32.const 48) "\01\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t\00") - (data (i32.const 88) "\01\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t\00") - (data (i32.const 112) "\01\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t\00") - (data (i32.const 136) "\01\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t\00") - (data (i32.const 168) "\01\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t\00") - (data (i32.const 192) "\01\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t\00") - (data (i32.const 216) "\01\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l\00") + (data (i32.const 8) "\10\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t\00") + (data (i32.const 48) "\10\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t\00") + (data (i32.const 88) "\10\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t\00") + (data (i32.const 112) "\10\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t\00") + (data (i32.const 136) "\10\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t\00") + (data (i32.const 168) "\10\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t\00") + (data (i32.const 192) "\10\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t\00") + (data (i32.const 216) "\10\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/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 240)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "main" (func $std/trace/main)) (func $start:std/trace (; 1 ;) (type $FUNCSIG$v) i32.const 16 @@ -26,7 +24,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 56 i32.const 0 f64.const 0 @@ -34,7 +32,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 96 i32.const 1 f64.const 1 @@ -42,7 +40,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 120 i32.const 2 f64.const 1 @@ -50,7 +48,7 @@ f64.const 0 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 144 i32.const 3 f64.const 1 @@ -58,7 +56,7 @@ f64.const 3 f64.const 0 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 176 i32.const 4 f64.const 1 @@ -66,7 +64,7 @@ f64.const 3 f64.const 4 f64.const 0 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 200 i32.const 5 f64.const 1 @@ -74,7 +72,7 @@ f64.const 3 f64.const 4 f64.const 5 - call $~lib/env/trace + call $~lib/builtins/trace i32.const 224 i32.const 5 f64.const 1.1 @@ -82,7 +80,7 @@ f64.const 3.3 f64.const 4.4 f64.const 5.5 - call $~lib/env/trace + call $~lib/builtins/trace ) (func $std/trace/main (; 2 ;) (type $FUNCSIG$v) global.get $~lib/started diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 4dfc46e1..0df220e7 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -31,69 +31,71 @@ (type $FUNCSIG$di (func (param i32) (result f64))) (type $FUNCSIG$ff (func (param f32) (result f32))) (type $FUNCSIG$dd (func (param f64) (result f64))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\"") + (data (i32.const 8) "\10\00\00\00\"") (data (i32.const 24) "s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 64) "\01\00\00\00&") + (data (i32.const 64) "\10\00\00\00&") (data (i32.const 80) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 120) "\01\00\00\00(") + (data (i32.const 120) "\10\00\00\00(") (data (i32.const 136) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 176) "\01\00\00\00$") + (data (i32.const 176) "\10\00\00\00$") (data (i32.const 192) "~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 232) "\02\00\00\00\05") + (data (i32.const 232) "\0f\00\00\00\05") (data (i32.const 248) "\01\01\01\04\05") - (data (i32.const 256) "\01\00\00\00\1a") + (data (i32.const 256) "\10\00\00\00\1a") (data (i32.const 272) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 304) "\02\00\00\00\05") - (data (i32.const 328) "\02\00\00\00\05") + (data (i32.const 304) "\0f\00\00\00\05") + (data (i32.const 328) "\0f\00\00\00\05") (data (i32.const 344) "\01\01") - (data (i32.const 352) "\02\00\00\00\05") + (data (i32.const 352) "\0f\00\00\00\05") (data (i32.const 368) "\01\01\00\02\02") - (data (i32.const 376) "\02\00\00\00\05") + (data (i32.const 376) "\0f\00\00\00\05") (data (i32.const 392) "\01\01\00\02\02") - (data (i32.const 400) "\02\00\00\00\03") - (data (i32.const 424) "\02\00\00\00\05") + (data (i32.const 400) "\0f\00\00\00\03") + (data (i32.const 424) "\0f\00\00\00\05") (data (i32.const 440) "\01\00\00\00\02") - (data (i32.const 448) "\02\00\00\00\14") + (data (i32.const 448) "\0f\00\00\00\14") (data (i32.const 464) "\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") - (data (i32.const 488) "\02\00\00\00\14") - (data (i32.const 528) "\02\00\00\00\14") + (data (i32.const 488) "\0f\00\00\00\14") + (data (i32.const 528) "\0f\00\00\00\14") (data (i32.const 544) "\01\00\00\00\01") - (data (i32.const 568) "\02\00\00\00\14") + (data (i32.const 568) "\0f\00\00\00\14") (data (i32.const 584) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 608) "\02\00\00\00\14") + (data (i32.const 608) "\0f\00\00\00\14") (data (i32.const 624) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 648) "\02\00\00\00\0c") - (data (i32.const 680) "\02\00\00\00\14") + (data (i32.const 648) "\0f\00\00\00\0c") + (data (i32.const 680) "\0f\00\00\00\14") (data (i32.const 696) "\01") (data (i32.const 712) "\02") - (data (i32.const 720) "\01\00\00\00\1e") + (data (i32.const 720) "\10\00\00\00\1e") (data (i32.const 736) "r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 768) "\01\00\00\00(") + (data (i32.const 768) "\10\00\00\00(") (data (i32.const 784) "f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 824) "\02\00\00\00\0c") + (data (i32.const 824) "\0f\00\00\00\0c") (data (i32.const 840) "\n\00\00\00\0c\00\00\00\0e") - (data (i32.const 856) "\10\00\00\00\10") + (data (i32.const 856) "\1d\00\00\00\10") (data (i32.const 872) "H\03\00\00H\03\00\00\0c\00\00\00\03") - (data (i32.const 888) "\01\00\00\00,") + (data (i32.const 888) "\10\00\00\00,") (data (i32.const 904) "f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 952) "\01\00\00\00,") + (data (i32.const 952) "\10\00\00\00,") (data (i32.const 968) "f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1016) "\01\00\00\00>") + (data (i32.const 1016) "\10\00\00\00>") (data (i32.const 1032) "f\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 1096) "\01\00\00\006") + (data (i32.const 1096) "\10\00\00\006") (data (i32.const 1112) "f\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 1168) "\02\00\00\00$") + (data (i32.const 1168) "\0f\00\00\00$") (data (i32.const 1184) "\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 1224) "\10\00\00\00\10") + (data (i32.const 1224) "\1d\00\00\00\10") (data (i32.const 1240) "\a0\04\00\00\a0\04\00\00$\00\00\00\t") - (data (i32.const 1256) "\01\00\00\00B") + (data (i32.const 1256) "\10\00\00\00B") (data (i32.const 1272) "T\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 1344) "\01\00\00\00V") + (data (i32.const 1344) "\10\00\00\00V") (data (i32.const 1360) "T\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 1448) "\1e") + (data (i32.const 1588) "\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\t\00\00\00\0e\00\00\00!\00\00\00\0e") (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) + (elem (i32.const 0) $~lib/runtime/runtime.collect $~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/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/typedarray/arr (mut i32) (i32.const 0)) @@ -112,9 +114,18 @@ (global $std/typedarray/forEachSelf (mut i32) (i32.const 0)) (global $std/typedarray/forEachValues (mut i32) (i32.const 872)) (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 1240)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.retain)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -434,14 +445,14 @@ (func $~lib/util/runtime/register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 1448 + i32.const 1696 i32.le_u if i32.const 0 i32.const 136 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -454,9 +465,9 @@ if i32.const 0 i32.const 136 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -474,7 +485,7 @@ i32.const 80 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -484,7 +495,7 @@ local.get $0 call $~lib/memory/memory.fill local.get $1 - i32.const 2 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBufferView#constructor (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -498,7 +509,7 @@ i32.const 80 i32.const 12 i32.const 57 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -512,7 +523,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 14 call $~lib/util/runtime/register local.set $0 end @@ -542,7 +553,7 @@ (func $~lib/typedarray/Int8Array#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 17 call $~lib/util/runtime/register local.get $0 i32.const 0 @@ -551,7 +562,7 @@ (func $~lib/typedarray/Uint8Array#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 18 call $~lib/util/runtime/register local.get $0 i32.const 0 @@ -560,7 +571,7 @@ (func $~lib/typedarray/Uint8ClampedArray#constructor (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 19 call $~lib/util/runtime/register local.get $0 i32.const 0 @@ -569,7 +580,7 @@ (func $~lib/typedarray/Int16Array#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 20 call $~lib/util/runtime/register local.get $0 i32.const 1 @@ -578,7 +589,7 @@ (func $~lib/typedarray/Uint16Array#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 8 + i32.const 21 call $~lib/util/runtime/register local.get $0 i32.const 1 @@ -587,7 +598,7 @@ (func $~lib/typedarray/Int32Array#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 9 + i32.const 22 call $~lib/util/runtime/register local.get $0 i32.const 2 @@ -596,7 +607,7 @@ (func $~lib/typedarray/Uint32Array#constructor (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 23 call $~lib/util/runtime/register local.get $0 i32.const 2 @@ -605,7 +616,7 @@ (func $~lib/typedarray/Int64Array#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 11 + i32.const 24 call $~lib/util/runtime/register local.get $0 i32.const 3 @@ -614,7 +625,7 @@ (func $~lib/typedarray/Uint64Array#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 12 + i32.const 25 call $~lib/util/runtime/register local.get $0 i32.const 3 @@ -623,7 +634,7 @@ (func $~lib/typedarray/Float32Array#constructor (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 13 + i32.const 26 call $~lib/util/runtime/register local.get $0 i32.const 2 @@ -632,7 +643,7 @@ (func $~lib/typedarray/Float64Array#constructor (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/util/runtime/allocate - i32.const 14 + i32.const 27 call $~lib/util/runtime/register local.get $0 i32.const 3 @@ -652,7 +663,7 @@ i32.const 24 i32.const 34 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -664,7 +675,7 @@ i32.const 24 i32.const 35 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -676,7 +687,7 @@ i32.const 24 i32.const 36 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -691,7 +702,7 @@ i32.const 24 i32.const 39 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -703,7 +714,7 @@ i32.const 24 i32.const 40 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -715,7 +726,7 @@ i32.const 24 i32.const 41 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -730,7 +741,7 @@ i32.const 24 i32.const 44 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -742,7 +753,7 @@ i32.const 24 i32.const 45 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -754,7 +765,7 @@ i32.const 24 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -769,7 +780,7 @@ i32.const 24 i32.const 49 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -783,7 +794,7 @@ i32.const 24 i32.const 50 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -797,7 +808,7 @@ i32.const 24 i32.const 51 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -812,7 +823,7 @@ i32.const 24 i32.const 54 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -826,7 +837,7 @@ i32.const 24 i32.const 55 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -840,7 +851,7 @@ i32.const 24 i32.const 56 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -855,7 +866,7 @@ i32.const 24 i32.const 59 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -869,7 +880,7 @@ i32.const 24 i32.const 60 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -883,7 +894,7 @@ i32.const 24 i32.const 61 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -898,7 +909,7 @@ i32.const 24 i32.const 64 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -912,7 +923,7 @@ i32.const 24 i32.const 65 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -926,7 +937,7 @@ i32.const 24 i32.const 66 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -941,7 +952,7 @@ i32.const 24 i32.const 69 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -955,7 +966,7 @@ i32.const 24 i32.const 70 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -969,7 +980,7 @@ i32.const 24 i32.const 71 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -984,7 +995,7 @@ i32.const 24 i32.const 74 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -998,7 +1009,7 @@ i32.const 24 i32.const 75 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1012,7 +1023,7 @@ i32.const 24 i32.const 76 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1027,7 +1038,7 @@ i32.const 24 i32.const 79 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1041,7 +1052,7 @@ i32.const 24 i32.const 80 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1055,7 +1066,7 @@ i32.const 24 i32.const 81 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1070,7 +1081,7 @@ i32.const 24 i32.const 84 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1084,7 +1095,7 @@ i32.const 24 i32.const 85 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -1098,7 +1109,7 @@ i32.const 24 i32.const 86 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1114,7 +1125,7 @@ i32.const 192 i32.const 444 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1138,7 +1149,7 @@ i32.const 192 i32.const 438 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1238,7 +1249,7 @@ i32.shl i32.store offset=8 local.get $2 - i32.const 9 + i32.const 22 call $~lib/util/runtime/register ) (func $~lib/typedarray/Float64Array#__set (; 22 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) @@ -1253,7 +1264,7 @@ i32.const 192 i32.const 854 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1354,7 +1365,7 @@ i32.shl i32.store offset=8 local.get $2 - i32.const 14 + i32.const 27 call $~lib/util/runtime/register ) (func $~lib/util/sort/insertionSort (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) @@ -1796,7 +1807,7 @@ i32.const 192 i32.const 848 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1817,7 +1828,7 @@ i32.const 192 i32.const 198 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1849,7 +1860,7 @@ i32.const 192 i32.const 192 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1868,7 +1879,7 @@ i32.const 192 i32.const 34 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2114,7 +2125,7 @@ end end ) - (func $~lib/runtime/runtime.newArray (; 34 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/runtime/makeArray (; 34 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) i32.const 16 @@ -2127,7 +2138,7 @@ i32.shl local.tee $4 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 15 call $~lib/util/runtime/register local.tee $1 local.set $5 @@ -2165,7 +2176,7 @@ i32.const 192 i32.const 28 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2184,7 +2195,7 @@ i32.const 272 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2318,7 +2329,7 @@ i32.sub i32.store offset=8 local.get $2 - i32.const 4 + i32.const 17 call $~lib/util/runtime/register ) (func $~lib/typedarray/Int32Array#fill (; 39 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) @@ -2410,7 +2421,7 @@ i32.const 272 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2536,7 +2547,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2550,7 +2561,7 @@ i32.const 192 i32.const 116 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2625,7 +2636,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2657,7 +2668,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2673,7 +2684,7 @@ i32.const 192 i32.const 280 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2753,7 +2764,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2769,7 +2780,7 @@ i32.const 192 i32.const 362 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2849,7 +2860,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2920,7 +2931,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2936,7 +2947,7 @@ i32.const 192 i32.const 526 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2974,7 +2985,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -2990,7 +3001,7 @@ i32.const 192 i32.const 608 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3074,7 +3085,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3090,7 +3101,7 @@ i32.const 192 i32.const 690 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3128,7 +3139,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3144,7 +3155,7 @@ i32.const 192 i32.const 772 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3227,7 +3238,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3302,7 +3313,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3371,7 +3382,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3441,7 +3452,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3473,7 +3484,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3546,7 +3557,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3619,7 +3630,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3691,7 +3702,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3721,7 +3732,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3793,7 +3804,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3823,7 +3834,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3894,7 +3905,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3965,7 +3976,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4048,7 +4059,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4061,7 +4072,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4074,7 +4085,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4134,7 +4145,7 @@ i32.const 192 i32.const 110 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4171,7 +4182,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4184,7 +4195,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4197,7 +4208,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4275,7 +4286,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4288,7 +4299,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4301,7 +4312,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4372,7 +4383,7 @@ i32.const 192 i32.const 274 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4411,7 +4422,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4424,7 +4435,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4437,7 +4448,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4508,7 +4519,7 @@ i32.const 192 i32.const 356 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4547,7 +4558,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4560,7 +4571,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4573,7 +4584,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4660,7 +4671,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4673,7 +4684,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4686,7 +4697,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4757,7 +4768,7 @@ i32.const 192 i32.const 520 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4796,7 +4807,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4809,7 +4820,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4822,7 +4833,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4898,7 +4909,7 @@ i32.const 192 i32.const 602 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4937,7 +4948,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4950,7 +4961,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4963,7 +4974,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5034,7 +5045,7 @@ i32.const 192 i32.const 684 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5073,7 +5084,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5086,7 +5097,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5099,7 +5110,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5175,7 +5186,7 @@ i32.const 192 i32.const 766 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5214,7 +5225,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5227,7 +5238,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5240,7 +5251,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5332,7 +5343,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5345,7 +5356,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5358,7 +5369,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5439,7 +5450,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5450,7 +5461,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5518,7 +5529,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5529,7 +5540,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5558,7 +5569,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5569,7 +5580,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5654,7 +5665,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5665,7 +5676,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5737,7 +5748,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5748,7 +5759,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5829,7 +5840,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5840,7 +5851,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5869,7 +5880,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5880,7 +5891,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5962,7 +5973,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5973,7 +5984,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6002,7 +6013,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6013,7 +6024,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6095,7 +6106,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6106,7 +6117,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6188,7 +6199,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6199,7 +6210,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6278,7 +6289,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6291,7 +6302,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6363,7 +6374,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6376,7 +6387,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6406,7 +6417,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6419,7 +6430,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6502,7 +6513,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6515,7 +6526,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6591,7 +6602,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6604,7 +6615,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6685,7 +6696,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6698,7 +6709,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6728,7 +6739,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6741,7 +6752,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6822,7 +6833,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6835,7 +6846,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6865,7 +6876,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6878,7 +6889,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6959,7 +6970,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6972,7 +6983,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7053,7 +7064,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7066,7 +7077,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7145,7 +7156,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7156,7 +7167,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7231,7 +7242,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7242,7 +7253,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7271,7 +7282,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7282,7 +7293,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7365,7 +7376,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7376,7 +7387,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7449,7 +7460,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7460,7 +7471,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7539,7 +7550,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7550,7 +7561,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7579,7 +7590,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7590,7 +7601,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7670,7 +7681,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7681,7 +7692,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7717,7 +7728,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7728,7 +7739,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7958,7 +7969,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7969,7 +7980,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8207,7 +8218,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8218,7 +8229,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8237,7 +8248,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -8248,7 +8259,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -8259,7 +8270,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -8348,7 +8359,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8428,7 +8439,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8475,7 +8486,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8494,7 +8505,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -8505,7 +8516,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -8516,7 +8527,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -8609,7 +8620,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8692,7 +8703,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8707,7 +8718,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -8718,7 +8729,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -8729,7 +8740,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -8811,7 +8822,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8852,7 +8863,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8868,7 +8879,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -8879,7 +8890,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -8890,7 +8901,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -8975,7 +8986,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9019,7 +9030,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9035,7 +9046,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -9046,7 +9057,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -9057,7 +9068,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -9141,7 +9152,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9157,7 +9168,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -9168,7 +9179,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -9179,7 +9190,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -9263,7 +9274,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9390,7 +9401,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -9417,7 +9428,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9430,7 +9441,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9443,7 +9454,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9456,7 +9467,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9560,7 +9571,7 @@ i32.sub i32.store offset=8 local.get $1 - i32.const 5 + i32.const 18 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 238 ;) (type $FUNCSIG$v) @@ -9632,7 +9643,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -9657,7 +9668,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9670,7 +9681,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9683,7 +9694,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9696,7 +9707,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9752,7 +9763,7 @@ i32.sub i32.store offset=8 local.get $1 - i32.const 6 + i32.const 19 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 240 ;) (type $FUNCSIG$v) @@ -9824,7 +9835,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -9849,7 +9860,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9862,7 +9873,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9875,7 +9886,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9888,7 +9899,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10004,7 +10015,7 @@ i32.shl i32.store offset=8 local.get $1 - i32.const 7 + i32.const 20 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 243 ;) (type $FUNCSIG$v) @@ -10082,7 +10093,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -10107,7 +10118,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10120,7 +10131,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10133,7 +10144,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10146,7 +10157,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10262,7 +10273,7 @@ i32.shl i32.store offset=8 local.get $1 - i32.const 8 + i32.const 21 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 246 ;) (type $FUNCSIG$v) @@ -10334,7 +10345,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -10359,7 +10370,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10372,7 +10383,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10385,7 +10396,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10398,7 +10409,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10519,7 +10530,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -10546,7 +10557,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10559,7 +10570,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10572,7 +10583,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10585,7 +10596,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10647,7 +10658,7 @@ i32.shl i32.store offset=8 local.get $1 - i32.const 10 + i32.const 23 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 250 ;) (type $FUNCSIG$v) @@ -10713,7 +10724,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -10738,7 +10749,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10751,7 +10762,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10764,7 +10775,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10777,7 +10788,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10893,7 +10904,7 @@ i32.shl i32.store offset=8 local.get $1 - i32.const 11 + i32.const 24 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 253 ;) (type $FUNCSIG$v) @@ -10962,7 +10973,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -10987,7 +10998,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11000,7 +11011,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11013,7 +11024,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11026,7 +11037,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -11088,7 +11099,7 @@ i32.shl i32.store offset=8 local.get $1 - i32.const 12 + i32.const 25 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 255 ;) (type $FUNCSIG$v) @@ -11157,7 +11168,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -11182,7 +11193,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11195,7 +11206,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11208,7 +11219,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11221,7 +11232,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -11337,7 +11348,7 @@ i32.shl i32.store offset=8 local.get $1 - i32.const 13 + i32.const 26 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 258 ;) (type $FUNCSIG$v) @@ -11406,7 +11417,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -11431,7 +11442,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11444,7 +11455,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11457,7 +11468,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11470,7 +11481,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -11594,7 +11605,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable else local.get $0 @@ -11621,7 +11632,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11634,7 +11645,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11647,7 +11658,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11660,14 +11671,14 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) (func $start:std/typedarray (; 261 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) - i32.const 1448 + i32.const 1696 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -11701,7 +11712,7 @@ i32.const 24 i32.const 96 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -11715,7 +11726,7 @@ i32.const 24 i32.const 97 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -11727,7 +11738,7 @@ i32.const 24 i32.const 98 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -11740,7 +11751,7 @@ i32.const 24 i32.const 99 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -11753,7 +11764,7 @@ i32.const 24 i32.const 100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -11766,7 +11777,7 @@ i32.const 24 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -11785,7 +11796,7 @@ i32.const 24 i32.const 104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -11801,7 +11812,7 @@ i32.const 24 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -11813,7 +11824,7 @@ i32.const 24 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -11826,7 +11837,7 @@ i32.const 24 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -11880,7 +11891,7 @@ i32.const 24 i32.const 121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/af64 @@ -11896,7 +11907,7 @@ i32.const 24 i32.const 122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/af64 @@ -11908,7 +11919,7 @@ i32.const 24 i32.const 123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -11974,7 +11985,7 @@ i32.const 24 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -12000,7 +12011,7 @@ i32.const 24 i32.const 132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/clampedArr @@ -12013,7 +12024,7 @@ i32.const 24 i32.const 133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/clampedArr @@ -12026,7 +12037,7 @@ i32.const 24 i32.const 134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 @@ -12060,9 +12071,9 @@ global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 248 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -12070,7 +12081,7 @@ i32.const 24 i32.const 144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 @@ -12081,9 +12092,9 @@ global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 320 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -12091,7 +12102,7 @@ i32.const 24 i32.const 147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 @@ -12102,9 +12113,9 @@ global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 344 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -12112,7 +12123,7 @@ i32.const 24 i32.const 150 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 @@ -12123,9 +12134,9 @@ global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 368 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -12133,7 +12144,7 @@ i32.const 24 i32.const 153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 @@ -12144,9 +12155,9 @@ global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 392 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -12154,7 +12165,7 @@ i32.const 24 i32.const 156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 @@ -12176,7 +12187,7 @@ i32.const 24 i32.const 160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub8 @@ -12192,7 +12203,7 @@ i32.const 24 i32.const 161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub8 @@ -12204,15 +12215,15 @@ i32.const 24 i32.const 162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub8 i32.const 3 i32.const 0 - i32.const 15 + i32.const 28 i32.const 416 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -12220,15 +12231,15 @@ i32.const 24 i32.const 163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 440 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -12236,7 +12247,7 @@ i32.const 24 i32.const 164 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 5 @@ -12270,9 +12281,9 @@ global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 464 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -12280,7 +12291,7 @@ i32.const 24 i32.const 174 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 @@ -12291,9 +12302,9 @@ global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 504 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -12301,7 +12312,7 @@ i32.const 24 i32.const 177 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 @@ -12312,9 +12323,9 @@ global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 544 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -12322,7 +12333,7 @@ i32.const 24 i32.const 180 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 @@ -12333,9 +12344,9 @@ global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 584 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -12343,7 +12354,7 @@ i32.const 24 i32.const 183 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 @@ -12354,9 +12365,9 @@ global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 624 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -12364,7 +12375,7 @@ i32.const 24 i32.const 186 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 @@ -12388,7 +12399,7 @@ i32.const 24 i32.const 190 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub32 @@ -12404,7 +12415,7 @@ i32.const 24 i32.const 191 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub32 @@ -12416,15 +12427,15 @@ i32.const 24 i32.const 192 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub32 i32.const 3 i32.const 2 - i32.const 16 + i32.const 29 i32.const 664 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -12432,15 +12443,15 @@ i32.const 24 i32.const 193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 696 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -12448,7 +12459,7 @@ i32.const 24 i32.const 194 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 134217726 @@ -12496,7 +12507,7 @@ i32.const 24 i32.const 211 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr1 @@ -12508,7 +12519,7 @@ i32.const 24 i32.const 212 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr1 @@ -12524,7 +12535,7 @@ i32.const 24 i32.const 213 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr1 @@ -12536,7 +12547,7 @@ i32.const 24 i32.const 214 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr1 @@ -12554,7 +12565,7 @@ i32.const 24 i32.const 217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr2 @@ -12566,7 +12577,7 @@ i32.const 24 i32.const 218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr2 @@ -12582,7 +12593,7 @@ i32.const 24 i32.const 219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr2 @@ -12594,7 +12605,7 @@ i32.const 24 i32.const 220 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr2 @@ -12612,7 +12623,7 @@ i32.const 24 i32.const 223 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr3 @@ -12624,7 +12635,7 @@ i32.const 24 i32.const 224 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr3 @@ -12640,7 +12651,7 @@ i32.const 24 i32.const 225 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr3 @@ -12652,7 +12663,7 @@ i32.const 24 i32.const 226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> @@ -12744,10 +12755,187 @@ call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> ) - (func $start (; 262 ;) (type $FUNCSIG$v) - call $start:std/typedarray + (func $~lib/runtime/runtime.instanceof (; 262 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load + local.tee $0 + if (result i32) + local.get $0 + i32.const 1448 + i32.load + i32.le_u + else + local.get $0 + end + if + loop $continue|0 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 3 + i32.shl + i32.const 1448 + i32.add + i32.load offset=4 + local.tee $0 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 263 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 263 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.eqz + local.tee $1 + i32.eqz + if + local.get $0 + i32.const 1448 + i32.load + i32.gt_u + local.set $1 + end + local.get $1 + if (result i32) + unreachable + else + local.get $0 + i32.const 3 + i32.shl + i32.const 1448 + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 264 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 265 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 266 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArray (; 267 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.tee $2 + i32.eqz + local.tee $0 + if (result i32) + local.get $0 + else + local.get $2 + i32.const 1448 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $2 + i32.const 3 + i32.shl + i32.const 1448 + i32.add + i32.load + end + local.tee $0 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $4 + local.get $1 + if (result i32) + local.get $1 + i32.const 16 + i32.sub + i32.load offset=4 + else + i32.const 0 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + i32.const 0 + end + local.set $3 + local.get $2 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.tee $2 + i32.load + drop + local.get $2 + local.get $1 + i32.store + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $3 + local.get $4 + i32.shr_u + i32.store offset=12 + local.get $0 + i32.const 512 + i32.and + if + local.get $1 + local.get $3 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load + drop + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + end + local.get $2 + ) + (func $~lib/runtime/runtime.retain (; 268 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) + (func $~lib/runtime/runtime.collect (; 269 ;) (type $FUNCSIG$v) + nop + ) + (func $start (; 270 ;) (type $FUNCSIG$v) + call $start:std/typedarray + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 30 + call $~lib/util/runtime/register + global.set $~lib/runtime/ROOT + ) ) diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 7123557c..8f97fe6f 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -34,39 +34,40 @@ (type $FUNCSIG$vjii (func (param i64 i32 i32))) (type $FUNCSIG$vfii (func (param f32 i32 i32))) (type $FUNCSIG$vdii (func (param f64 i32 i32))) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\"\00\00\00\00\00\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) "\01\00\00\00&\00\00\00\00\00\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 120) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 176) "\01\00\00\00$\00\00\00\00\00\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 232) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\01\04\05") - (data (i32.const 256) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 304) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 328) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\00\00") - (data (i32.const 352) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") - (data (i32.const 376) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") - (data (i32.const 400) "\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 424) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 448) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 488) "\02\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\00\00\00\00\00\00\00\00") - (data (i32.const 528) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 568) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 608) "\02\00\00\00\14\00\00\00\00\00\00\00\00\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 648) "\02\00\00\00\0c\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) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00") - (data (i32.const 720) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") - (data (i32.const 768) "\01\00\00\00(\00\00\00\00\00\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 824) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00") - (data (i32.const 856) "\10\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00H\03\00\00H\03\00\00\0c\00\00\00\03\00\00\00") - (data (i32.const 888) "\01\00\00\00,\00\00\00\00\00\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 952) "\01\00\00\00,\00\00\00\00\00\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 1016) "\01\00\00\00>\00\00\00\00\00\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 1096) "\01\00\00\006\00\00\00\00\00\00\00\00\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 1168) "\02\00\00\00$\00\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 1224) "\10\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\04\00\00\a0\04\00\00$\00\00\00\t\00\00\00") - (data (i32.const 1256) "\01\00\00\00B\00\00\00\00\00\00\00\00\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 1344) "\01\00\00\00V\00\00\00\00\00\00\00\00\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 8) "\10\00\00\00\"\00\00\00\00\00\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) "\10\00\00\00&\00\00\00\00\00\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 120) "\10\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 176) "\10\00\00\00$\00\00\00\00\00\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 232) "\0f\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\01\04\05") + (data (i32.const 256) "\10\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 304) "\0f\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 328) "\0f\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\00\00") + (data (i32.const 352) "\0f\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") + (data (i32.const 376) "\0f\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") + (data (i32.const 400) "\0f\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 424) "\0f\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 448) "\0f\00\00\00\14\00\00\00\00\00\00\00\00\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 488) "\0f\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\00\00\00\00\00\00\00\00") + (data (i32.const 528) "\0f\00\00\00\14\00\00\00\00\00\00\00\00\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 568) "\0f\00\00\00\14\00\00\00\00\00\00\00\00\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 608) "\0f\00\00\00\14\00\00\00\00\00\00\00\00\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 648) "\0f\00\00\00\0c\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) "\0f\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00") + (data (i32.const 720) "\10\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 768) "\10\00\00\00(\00\00\00\00\00\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 824) "\0f\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00") + (data (i32.const 856) "\1d\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00H\03\00\00H\03\00\00\0c\00\00\00\03\00\00\00") + (data (i32.const 888) "\10\00\00\00,\00\00\00\00\00\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 952) "\10\00\00\00,\00\00\00\00\00\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 1016) "\10\00\00\00>\00\00\00\00\00\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 1096) "\10\00\00\006\00\00\00\00\00\00\00\00\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 1168) "\0f\00\00\00$\00\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 1224) "\1d\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\04\00\00\a0\04\00\00$\00\00\00\t\00\00\00") + (data (i32.const 1256) "\10\00\00\00B\00\00\00\00\00\00\00\00\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 1344) "\10\00\00\00V\00\00\00\00\00\00\00\00\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 1448) "\1e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\0e\00\00\00\t\00\00\00\0e\00\00\00!\00\00\00\0e\00\00\00\00\00\00\00\00\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/typedarray/Int8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) @@ -104,10 +105,20 @@ (global $std/typedarray/forEachSelf (mut i32) (i32.const 0)) (global $std/typedarray/forEachValues (mut i32) (i32.const 872)) (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 1240)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 1448)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) + (global $~lib/runtime/RTTI_BASE i32 (i32.const 1448)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 1696)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -497,9 +508,9 @@ if i32.const 0 i32.const 136 - i32.const 128 + i32.const 131 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -514,9 +525,9 @@ if i32.const 0 i32.const 136 - i32.const 130 + i32.const 133 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -536,7 +547,7 @@ i32.const 80 i32.const 54 i32.const 43 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -547,7 +558,7 @@ local.get $1 call $~lib/memory/memory.fill local.get $2 - i32.const 2 + i32.const 15 call $~lib/util/runtime/register ) (func $~lib/collector/dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) @@ -571,7 +582,7 @@ i32.const 80 i32.const 12 i32.const 57 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -587,7 +598,7 @@ if i32.const 12 call $~lib/util/runtime/allocate - i32.const 3 + i32.const 14 call $~lib/util/runtime/register local.set $0 end @@ -639,7 +650,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 4 + i32.const 17 call $~lib/util/runtime/register end local.get $1 @@ -670,7 +681,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 5 + i32.const 18 call $~lib/util/runtime/register end local.get $1 @@ -690,7 +701,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 6 + i32.const 19 call $~lib/util/runtime/register end local.get $1 @@ -710,7 +721,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 7 + i32.const 20 call $~lib/util/runtime/register end local.get $1 @@ -732,7 +743,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 8 + i32.const 21 call $~lib/util/runtime/register end local.get $1 @@ -754,7 +765,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 9 + i32.const 22 call $~lib/util/runtime/register end local.get $1 @@ -776,7 +787,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 10 + i32.const 23 call $~lib/util/runtime/register end local.get $1 @@ -798,7 +809,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 11 + i32.const 24 call $~lib/util/runtime/register end local.get $1 @@ -820,7 +831,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 12 + i32.const 25 call $~lib/util/runtime/register end local.get $1 @@ -842,7 +853,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 13 + i32.const 26 call $~lib/util/runtime/register end local.get $1 @@ -864,7 +875,7 @@ else i32.const 12 call $~lib/util/runtime/allocate - i32.const 14 + i32.const 27 call $~lib/util/runtime/register end local.get $1 @@ -905,7 +916,7 @@ i32.const 24 i32.const 34 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -920,7 +931,7 @@ i32.const 24 i32.const 35 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -933,7 +944,7 @@ i32.const 24 i32.const 36 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -950,7 +961,7 @@ i32.const 24 i32.const 39 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -965,7 +976,7 @@ i32.const 24 i32.const 40 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $2 @@ -978,7 +989,7 @@ i32.const 24 i32.const 41 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -995,7 +1006,7 @@ i32.const 24 i32.const 44 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1010,7 +1021,7 @@ i32.const 24 i32.const 45 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -1023,7 +1034,7 @@ i32.const 24 i32.const 46 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1040,7 +1051,7 @@ i32.const 24 i32.const 49 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1055,7 +1066,7 @@ i32.const 24 i32.const 50 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -1068,7 +1079,7 @@ i32.const 24 i32.const 51 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1085,7 +1096,7 @@ i32.const 24 i32.const 54 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -1100,7 +1111,7 @@ i32.const 24 i32.const 55 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $5 @@ -1113,7 +1124,7 @@ i32.const 24 i32.const 56 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1130,7 +1141,7 @@ i32.const 24 i32.const 59 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $6 @@ -1145,7 +1156,7 @@ i32.const 24 i32.const 60 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $6 @@ -1158,7 +1169,7 @@ i32.const 24 i32.const 61 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1175,7 +1186,7 @@ i32.const 24 i32.const 64 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $7 @@ -1190,7 +1201,7 @@ i32.const 24 i32.const 65 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $7 @@ -1203,7 +1214,7 @@ i32.const 24 i32.const 66 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1220,7 +1231,7 @@ i32.const 24 i32.const 69 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $8 @@ -1235,7 +1246,7 @@ i32.const 24 i32.const 70 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $8 @@ -1248,7 +1259,7 @@ i32.const 24 i32.const 71 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1265,7 +1276,7 @@ i32.const 24 i32.const 74 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $9 @@ -1280,7 +1291,7 @@ i32.const 24 i32.const 75 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $9 @@ -1293,7 +1304,7 @@ i32.const 24 i32.const 76 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1310,7 +1321,7 @@ i32.const 24 i32.const 79 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $10 @@ -1325,7 +1336,7 @@ i32.const 24 i32.const 80 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $10 @@ -1338,7 +1349,7 @@ i32.const 24 i32.const 81 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -1355,7 +1366,7 @@ i32.const 24 i32.const 84 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $11 @@ -1370,7 +1381,7 @@ i32.const 24 i32.const 85 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $11 @@ -1383,7 +1394,7 @@ i32.const 24 i32.const 86 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -1399,7 +1410,7 @@ i32.const 192 i32.const 444 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1423,7 +1434,7 @@ i32.const 192 i32.const 438 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1560,7 +1571,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 9 + i32.const 22 call $~lib/util/runtime/register ) (func $~lib/typedarray/Float64Array#__set (; 40 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) @@ -1575,7 +1586,7 @@ i32.const 192 i32.const 854 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -1713,7 +1724,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 14 + i32.const 27 call $~lib/util/runtime/register ) (func $~lib/util/sort/insertionSort (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) @@ -2267,7 +2278,7 @@ i32.const 192 i32.const 848 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2288,7 +2299,7 @@ i32.const 192 i32.const 198 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2320,7 +2331,7 @@ i32.const 192 i32.const 192 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2339,7 +2350,7 @@ i32.const 192 i32.const 34 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2646,7 +2657,7 @@ end end ) - (func $~lib/runtime/runtime.newArray (; 55 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/runtime/makeArray (; 55 ;) (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) @@ -2664,7 +2675,7 @@ local.set $5 local.get $5 call $~lib/util/runtime/allocate - i32.const 2 + i32.const 15 call $~lib/util/runtime/register local.set $6 local.get $4 @@ -2722,7 +2733,7 @@ i32.const 192 i32.const 28 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2752,7 +2763,7 @@ i32.const 272 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -2933,7 +2944,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 4 + i32.const 17 call $~lib/util/runtime/register ) (func $~lib/typedarray/Int32Array#fill (; 62 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) @@ -3059,7 +3070,7 @@ i32.const 272 i32.const 99 i32.const 61 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3213,7 +3224,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3227,7 +3238,7 @@ i32.const 192 i32.const 116 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3334,7 +3345,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3435,7 +3446,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3451,7 +3462,7 @@ i32.const 192 i32.const 280 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3562,7 +3573,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3578,7 +3589,7 @@ i32.const 192 i32.const 362 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3687,7 +3698,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3786,7 +3797,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3802,7 +3813,7 @@ i32.const 192 i32.const 526 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -3909,7 +3920,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -3925,7 +3936,7 @@ i32.const 192 i32.const 608 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4032,7 +4043,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4048,7 +4059,7 @@ i32.const 192 i32.const 690 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4155,7 +4166,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4171,7 +4182,7 @@ i32.const 192 i32.const 772 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -4278,7 +4289,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4377,7 +4388,7 @@ i32.const 24 i32.const 252 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4477,7 +4488,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4575,7 +4586,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4673,7 +4684,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4773,7 +4784,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4871,7 +4882,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -4967,7 +4978,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5063,7 +5074,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5159,7 +5170,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5255,7 +5266,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5351,7 +5362,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5447,7 +5458,7 @@ i32.const 24 i32.const 279 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5555,7 +5566,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5569,7 +5580,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5583,7 +5594,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5667,7 +5678,7 @@ i32.const 192 i32.const 110 i32.const 44 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -5710,7 +5721,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5724,7 +5735,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5738,7 +5749,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5846,7 +5857,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5860,7 +5871,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -5874,7 +5885,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -5960,7 +5971,7 @@ i32.const 192 i32.const 274 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6005,7 +6016,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6019,7 +6030,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6033,7 +6044,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6119,7 +6130,7 @@ i32.const 192 i32.const 356 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6164,7 +6175,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6178,7 +6189,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6192,7 +6203,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6300,7 +6311,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6314,7 +6325,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6328,7 +6339,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6414,7 +6425,7 @@ i32.const 192 i32.const 520 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6459,7 +6470,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6473,7 +6484,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6487,7 +6498,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6573,7 +6584,7 @@ i32.const 192 i32.const 602 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6618,7 +6629,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6632,7 +6643,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6646,7 +6657,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6732,7 +6743,7 @@ i32.const 192 i32.const 684 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6777,7 +6788,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6791,7 +6802,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6805,7 +6816,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -6891,7 +6902,7 @@ i32.const 192 i32.const 766 i32.const 63 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -6936,7 +6947,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6950,7 +6961,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -6964,7 +6975,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7072,7 +7083,7 @@ i32.const 24 i32.const 306 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -7086,7 +7097,7 @@ i32.const 24 i32.const 307 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -7100,7 +7111,7 @@ i32.const 24 i32.const 308 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7215,7 +7226,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7232,7 +7243,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7343,7 +7354,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7360,7 +7371,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7471,7 +7482,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7488,7 +7499,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7603,7 +7614,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7620,7 +7631,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7731,7 +7742,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7748,7 +7759,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7855,7 +7866,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7872,7 +7883,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -7979,7 +7990,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -7996,7 +8007,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8103,7 +8114,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8120,7 +8131,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8227,7 +8238,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8244,7 +8255,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8351,7 +8362,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8368,7 +8379,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8475,7 +8486,7 @@ i32.const 24 i32.const 335 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8492,7 +8503,7 @@ i32.const 24 i32.const 338 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8607,7 +8618,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8623,7 +8634,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8734,7 +8745,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8750,7 +8761,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8861,7 +8872,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -8877,7 +8888,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -8992,7 +9003,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9008,7 +9019,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9119,7 +9130,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9135,7 +9146,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9242,7 +9253,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9258,7 +9269,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9365,7 +9376,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9381,7 +9392,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9488,7 +9499,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9504,7 +9515,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9611,7 +9622,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9627,7 +9638,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9734,7 +9745,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9750,7 +9761,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9857,7 +9868,7 @@ i32.const 24 i32.const 365 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -9873,7 +9884,7 @@ i32.const 24 i32.const 368 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -9997,7 +10008,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10014,7 +10025,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10134,7 +10145,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10151,7 +10162,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10271,7 +10282,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10288,7 +10299,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10412,7 +10423,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10429,7 +10440,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10549,7 +10560,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10566,7 +10577,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10682,7 +10693,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10699,7 +10710,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10815,7 +10826,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10832,7 +10843,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -10948,7 +10959,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -10965,7 +10976,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -11081,7 +11092,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11098,7 +11109,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -11470,7 +11481,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11487,7 +11498,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -11861,7 +11872,7 @@ i32.const 24 i32.const 395 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $0 @@ -11878,7 +11889,7 @@ i32.const 24 i32.const 398 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -11905,7 +11916,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -11917,7 +11928,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -11929,7 +11940,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -12034,7 +12045,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -12057,7 +12068,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -12069,7 +12080,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -12081,7 +12092,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -12180,7 +12191,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -12203,7 +12214,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -12215,7 +12226,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -12227,7 +12238,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -12326,7 +12337,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -12353,7 +12364,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -12365,7 +12376,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -12377,7 +12388,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -12482,7 +12493,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -12505,7 +12516,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -12517,7 +12528,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -12529,7 +12540,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -12628,7 +12639,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -12647,7 +12658,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -12659,7 +12670,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -12671,7 +12682,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -12764,7 +12775,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -12783,7 +12794,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -12795,7 +12806,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -12807,7 +12818,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -12900,7 +12911,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -12920,7 +12931,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -12932,7 +12943,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -12944,7 +12955,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -13040,7 +13051,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -13060,7 +13071,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -13072,7 +13083,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -13084,7 +13095,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -13180,7 +13191,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -13200,7 +13211,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -13212,7 +13223,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -13224,7 +13235,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -13320,7 +13331,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -13340,7 +13351,7 @@ i32.const 24 i32.const 425 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $1 @@ -13352,7 +13363,7 @@ i32.const 24 i32.const 426 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachSelf @@ -13364,7 +13375,7 @@ i32.const 24 i32.const 427 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/forEachCallCount @@ -13460,7 +13471,7 @@ i32.const 24 i32.const 430 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -13623,7 +13634,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -13652,7 +13663,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -13666,7 +13677,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -13680,7 +13691,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -13694,7 +13705,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -13894,7 +13905,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 5 + i32.const 18 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 353 ;) (type $FUNCSIG$v) @@ -13980,7 +13991,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -14009,7 +14020,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -14023,7 +14034,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -14037,7 +14048,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -14051,7 +14062,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -14251,7 +14262,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 6 + i32.const 19 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 356 ;) (type $FUNCSIG$v) @@ -14337,7 +14348,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -14366,7 +14377,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -14380,7 +14391,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -14394,7 +14405,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -14408,7 +14419,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -14608,7 +14619,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 7 + i32.const 20 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 359 ;) (type $FUNCSIG$v) @@ -14700,7 +14711,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -14729,7 +14740,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -14743,7 +14754,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -14757,7 +14768,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -14771,7 +14782,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -14971,7 +14982,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 8 + i32.const 21 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 362 ;) (type $FUNCSIG$v) @@ -15057,7 +15068,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -15086,7 +15097,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -15100,7 +15111,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -15114,7 +15125,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -15128,7 +15139,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -15279,7 +15290,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -15308,7 +15319,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -15322,7 +15333,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -15336,7 +15347,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -15350,7 +15361,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -15550,7 +15561,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 10 + i32.const 23 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 367 ;) (type $FUNCSIG$v) @@ -15630,7 +15641,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -15659,7 +15670,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -15673,7 +15684,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -15687,7 +15698,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -15701,7 +15712,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -15901,7 +15912,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 11 + i32.const 24 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 370 ;) (type $FUNCSIG$v) @@ -15984,7 +15995,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -16013,7 +16024,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16027,7 +16038,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16041,7 +16052,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16055,7 +16066,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -16255,7 +16266,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 12 + i32.const 25 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 373 ;) (type $FUNCSIG$v) @@ -16338,7 +16349,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -16367,7 +16378,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16381,7 +16392,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16395,7 +16406,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16409,7 +16420,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -16609,7 +16620,7 @@ i32.shl i32.store offset=8 local.get $7 - i32.const 13 + i32.const 26 call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 376 ;) (type $FUNCSIG$v) @@ -16692,7 +16703,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -16721,7 +16732,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16735,7 +16746,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16749,7 +16760,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16763,7 +16774,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -16917,7 +16928,7 @@ i32.const 24 i32.const 461 i32.const 4 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $3 @@ -16946,7 +16957,7 @@ i32.const 24 i32.const 466 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16960,7 +16971,7 @@ i32.const 24 i32.const 467 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16974,7 +16985,7 @@ i32.const 24 i32.const 468 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end local.get $4 @@ -16988,7 +16999,7 @@ i32.const 24 i32.const 469 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) @@ -17003,7 +17014,7 @@ i32.const 24 i32.const 3 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT @@ -17015,7 +17026,7 @@ i32.const 24 i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT @@ -17027,7 +17038,7 @@ i32.const 24 i32.const 5 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT @@ -17039,7 +17050,7 @@ i32.const 24 i32.const 6 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT @@ -17051,7 +17062,7 @@ i32.const 24 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT @@ -17063,7 +17074,7 @@ i32.const 24 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT @@ -17075,7 +17086,7 @@ i32.const 24 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT @@ -17087,7 +17098,7 @@ i32.const 24 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT @@ -17099,7 +17110,7 @@ i32.const 24 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT @@ -17111,7 +17122,7 @@ i32.const 24 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT @@ -17123,7 +17134,7 @@ i32.const 24 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $~lib/memory/HEAP_BASE @@ -17166,7 +17177,7 @@ i32.const 24 i32.const 96 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -17179,7 +17190,7 @@ i32.const 24 i32.const 97 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -17194,7 +17205,7 @@ i32.const 24 i32.const 98 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -17208,7 +17219,7 @@ i32.const 24 i32.const 99 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -17222,7 +17233,7 @@ i32.const 24 i32.const 100 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -17236,7 +17247,7 @@ i32.const 24 i32.const 101 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -17254,7 +17265,7 @@ i32.const 24 i32.const 104 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -17269,7 +17280,7 @@ i32.const 24 i32.const 105 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -17284,7 +17295,7 @@ i32.const 24 i32.const 106 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr @@ -17298,7 +17309,7 @@ i32.const 24 i32.const 107 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -17352,7 +17363,7 @@ i32.const 24 i32.const 121 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/af64 @@ -17367,7 +17378,7 @@ i32.const 24 i32.const 122 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/af64 @@ -17382,7 +17393,7 @@ i32.const 24 i32.const 123 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block (result i32) @@ -17434,7 +17445,7 @@ i32.const 24 i32.const 125 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -17464,7 +17475,7 @@ i32.const 24 i32.const 132 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/clampedArr @@ -17478,7 +17489,7 @@ i32.const 24 i32.const 133 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/clampedArr @@ -17492,7 +17503,7 @@ i32.const 24 i32.const 134 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -17528,9 +17539,9 @@ global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 248 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -17538,7 +17549,7 @@ i32.const 24 i32.const 144 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 @@ -17550,9 +17561,9 @@ global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 320 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -17560,7 +17571,7 @@ i32.const 24 i32.const 147 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 @@ -17572,9 +17583,9 @@ global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 344 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -17582,7 +17593,7 @@ i32.const 24 i32.const 150 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 @@ -17594,9 +17605,9 @@ global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 368 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -17604,7 +17615,7 @@ i32.const 24 i32.const 153 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 @@ -17616,9 +17627,9 @@ global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 392 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -17626,7 +17637,7 @@ i32.const 24 i32.const 156 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 @@ -17650,7 +17661,7 @@ i32.const 24 i32.const 160 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub8 @@ -17663,7 +17674,7 @@ i32.const 24 i32.const 161 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub8 @@ -17676,15 +17687,15 @@ i32.const 24 i32.const 162 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub8 i32.const 3 i32.const 0 - i32.const 15 + i32.const 28 i32.const 416 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -17692,15 +17703,15 @@ i32.const 24 i32.const 163 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr8 i32.const 5 i32.const 0 - i32.const 15 + i32.const 28 i32.const 440 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -17708,7 +17719,7 @@ i32.const 24 i32.const 164 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -17744,9 +17755,9 @@ global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 464 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -17754,7 +17765,7 @@ i32.const 24 i32.const 174 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 @@ -17766,9 +17777,9 @@ global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 504 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -17776,7 +17787,7 @@ i32.const 24 i32.const 177 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 @@ -17788,9 +17799,9 @@ global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 544 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -17798,7 +17809,7 @@ i32.const 24 i32.const 180 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 @@ -17810,9 +17821,9 @@ global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 584 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -17820,7 +17831,7 @@ i32.const 24 i32.const 183 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 @@ -17832,9 +17843,9 @@ global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 624 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -17842,7 +17853,7 @@ i32.const 24 i32.const 186 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 @@ -17866,7 +17877,7 @@ i32.const 24 i32.const 190 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub32 @@ -17881,7 +17892,7 @@ i32.const 24 i32.const 191 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub32 @@ -17896,15 +17907,15 @@ i32.const 24 i32.const 192 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/sub32 i32.const 3 i32.const 2 - i32.const 16 + i32.const 29 i32.const 664 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -17912,15 +17923,15 @@ i32.const 24 i32.const 193 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/arr32 i32.const 5 i32.const 2 - i32.const 16 + i32.const 29 i32.const 696 - call $~lib/runtime/runtime.newArray + call $~lib/util/runtime/makeArray call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -17928,7 +17939,7 @@ i32.const 24 i32.const 194 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -17979,7 +17990,7 @@ i32.const 24 i32.const 211 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr1 @@ -17992,7 +18003,7 @@ i32.const 24 i32.const 212 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr1 @@ -18005,7 +18016,7 @@ i32.const 24 i32.const 213 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr1 @@ -18018,7 +18029,7 @@ i32.const 24 i32.const 214 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr1 @@ -18037,7 +18048,7 @@ i32.const 24 i32.const 217 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr2 @@ -18050,7 +18061,7 @@ i32.const 24 i32.const 218 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr2 @@ -18063,7 +18074,7 @@ i32.const 24 i32.const 219 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr2 @@ -18076,7 +18087,7 @@ i32.const 24 i32.const 220 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr2 @@ -18095,7 +18106,7 @@ i32.const 24 i32.const 223 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr3 @@ -18108,7 +18119,7 @@ i32.const 24 i32.const 224 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr3 @@ -18121,7 +18132,7 @@ i32.const 24 i32.const 225 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $std/typedarray/multisubarr3 @@ -18134,7 +18145,7 @@ i32.const 24 i32.const 226 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> @@ -18226,9 +18237,239 @@ call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> ) - (func $start (; 380 ;) (type $FUNCSIG$v) - call $start:std/typedarray + (func $~lib/runtime/runtime.instanceof (; 380 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.set $2 + global.get $~lib/runtime/RTTI_BASE + local.set $3 + local.get $2 + if (result i32) + local.get $2 + local.get $3 + i32.load + i32.le_u + else + local.get $2 + end + if + loop $continue|0 + local.get $2 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $3 + local.get $2 + i32.const 8 + i32.mul + i32.add + i32.load offset=4 + local.tee $2 + br_if $continue|0 + end + end + i32.const 0 ) - (func $null (; 381 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.flags (; 381 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/runtime/RTTI_BASE + local.set $1 + local.get $0 + i32.eqz + local.tee $2 + if (result i32) + local.get $2 + else + local.get $0 + local.get $1 + i32.load + i32.gt_u + end + if (result i32) + unreachable + else + local.get $1 + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + end + ) + (func $~lib/runtime/runtime.newObject (; 382 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 383 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 16 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 384 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 15 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 385 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load offset=4 + ) + (func $~lib/runtime/runtime.newArray (; 386 ;) (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 + call $~lib/runtime/runtime.flags + local.set $2 + local.get $2 + i32.const 8 + i32.div_u + i32.const 31 + i32.and + local.set $3 + local.get $1 + i32.eqz + if + i32.const 0 + local.tee $4 + call $~lib/runtime/runtime.newArrayBuffer + local.set $1 + else + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $4 + end + local.get $0 + i32.const 16 + call $~lib/runtime/runtime.newObject + local.set $5 + local.get $5 + local.tee $6 + local.get $1 + local.tee $7 + local.get $6 + i32.load + local.tee $8 + i32.ne + if (result i32) + local.get $8 + if + local.get $8 + local.get $6 + call $~lib/collector/dummy/__ref_unlink + end + local.get $7 + local.get $6 + call $~lib/collector/dummy/__ref_link + local.get $7 + else + local.get $7 + end + i32.store + local.get $5 + local.get $1 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $4 + local.get $3 + i32.shr_u + i32.store offset=12 + local.get $2 + i32.const 512 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + local.get $4 + i32.add + local.set $8 + block $break|0 + loop $continue|0 + local.get $6 + local.get $8 + i32.lt_u + if + block + local.get $6 + i32.load + local.set $7 + local.get $7 + if + local.get $7 + local.get $5 + call $~lib/collector/dummy/__ref_link + end + local.get $6 + i32.const 4 + i32.add + local.set $6 + end + br $continue|0 + end + end + end + end + local.get $5 + ) + (func $~lib/runtime/Root#constructor (; 387 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 30 + call $~lib/util/runtime/register + local.set $0 + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 388 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_link + ) + (func $~lib/runtime/runtime.release (; 389 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/dummy/__ref_unlink + ) + (func $~lib/collector/dummy/__ref_collect (; 390 ;) (type $FUNCSIG$v) + nop + ) + (func $~lib/runtime/runtime.collect (; 391 ;) (type $FUNCSIG$v) + call $~lib/collector/dummy/__ref_collect + ) + (func $~lib/runtime/runtime#constructor (; 392 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 393 ;) (type $FUNCSIG$v) + call $start:std/typedarray + i32.const 0 + call $~lib/runtime/Root#constructor + global.set $~lib/runtime/ROOT + ) + (func $null (; 394 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/switch.optimized.wat b/tests/compiler/switch.optimized.wat index 3bac6c9c..0b165397 100644 --- a/tests/compiler/switch.optimized.wat +++ b/tests/compiler/switch.optimized.wat @@ -2,13 +2,10 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s") (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $switch/doSwitch (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block $case4|0 @@ -71,7 +68,7 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -83,7 +80,7 @@ i32.const 16 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -95,7 +92,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -107,7 +104,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -117,7 +114,7 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -127,7 +124,7 @@ i32.const 16 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -139,7 +136,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -151,7 +148,7 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -163,7 +160,7 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -173,7 +170,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -183,7 +180,7 @@ i32.const 16 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -195,7 +192,7 @@ i32.const 16 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -207,7 +204,7 @@ i32.const 16 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -219,7 +216,7 @@ i32.const 16 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -229,7 +226,7 @@ i32.const 16 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/switch.untouched.wat b/tests/compiler/switch.untouched.wat index 494c5039..ddacf541 100644 --- a/tests/compiler/switch.untouched.wat +++ b/tests/compiler/switch.untouched.wat @@ -2,14 +2,12 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s\00") + (data (i32.const 8) "\10\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/memory/HEAP_BASE i32 (i32.const 36)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $switch/doSwitch (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -179,7 +177,7 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -192,7 +190,7 @@ i32.const 16 i32.const 11 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -205,7 +203,7 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -218,7 +216,7 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -231,7 +229,7 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -244,7 +242,7 @@ i32.const 16 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -257,7 +255,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -270,7 +268,7 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -283,7 +281,7 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -296,7 +294,7 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -309,7 +307,7 @@ i32.const 16 i32.const 38 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -322,7 +320,7 @@ i32.const 16 i32.const 39 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -335,7 +333,7 @@ i32.const 16 i32.const 40 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 3 @@ -348,7 +346,7 @@ i32.const 16 i32.const 41 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 4 @@ -361,7 +359,7 @@ i32.const 16 i32.const 42 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -374,7 +372,7 @@ i32.const 16 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -387,7 +385,7 @@ i32.const 16 i32.const 52 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -400,7 +398,7 @@ i32.const 16 i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -413,7 +411,7 @@ i32.const 16 i32.const 62 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -426,7 +424,7 @@ i32.const 16 i32.const 63 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -439,7 +437,7 @@ i32.const 16 i32.const 64 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -452,7 +450,7 @@ i32.const 16 i32.const 73 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -465,7 +463,7 @@ i32.const 16 i32.const 74 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -478,7 +476,7 @@ i32.const 16 i32.const 75 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -491,7 +489,7 @@ i32.const 16 i32.const 84 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -504,7 +502,7 @@ i32.const 16 i32.const 85 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -517,7 +515,7 @@ i32.const 16 i32.const 86 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 0 @@ -530,7 +528,7 @@ i32.const 16 i32.const 92 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -543,7 +541,7 @@ i32.const 16 i32.const 93 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 2 @@ -556,7 +554,7 @@ i32.const 16 i32.const 94 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/ternary.optimized.wat b/tests/compiler/ternary.optimized.wat index 55ac7fbf..56846df9 100644 --- a/tests/compiler/ternary.optimized.wat +++ b/tests/compiler/ternary.optimized.wat @@ -1,11 +1,8 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $ternary/a (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start (; 0 ;) (type $FUNCSIG$v) i32.const 1 diff --git a/tests/compiler/ternary.untouched.wat b/tests/compiler/ternary.untouched.wat index 61a47091..e2810294 100644 --- a/tests/compiler/ternary.untouched.wat +++ b/tests/compiler/ternary.untouched.wat @@ -4,9 +4,7 @@ (table $0 1 funcref) (elem (i32.const 0) $null) (global $ternary/a (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:ternary (; 0 ;) (type $FUNCSIG$v) i32.const 1 diff --git a/tests/compiler/threads.optimized.wat b/tests/compiler/threads.optimized.wat index 85fe9b4a..c002c873 100644 --- a/tests/compiler/threads.optimized.wat +++ b/tests/compiler/threads.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 (shared 1 1)) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $threads/testAtomic (; 0 ;) (type $FUNCSIG$v) i32.const 0 diff --git a/tests/compiler/threads.untouched.wat b/tests/compiler/threads.untouched.wat index 74598aa5..3b6ad104 100644 --- a/tests/compiler/threads.untouched.wat +++ b/tests/compiler/threads.untouched.wat @@ -4,9 +4,7 @@ (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/ASC_FEATURE_THREADS i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $threads/testAtomic (; 0 ;) (type $FUNCSIG$v) i32.const 0 diff --git a/tests/compiler/typealias.optimized.wat b/tests/compiler/typealias.optimized.wat index f4a8304e..4a7b9bd9 100644 --- a/tests/compiler/typealias.optimized.wat +++ b/tests/compiler/typealias.optimized.wat @@ -2,10 +2,7 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (export "memory" (memory $0)) - (export "table" (table $0)) (export "alias" (func $typealias/alias)) (func $typealias/alias (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 diff --git a/tests/compiler/typealias.untouched.wat b/tests/compiler/typealias.untouched.wat index 72e197e1..8cd06aa9 100644 --- a/tests/compiler/typealias.untouched.wat +++ b/tests/compiler/typealias.untouched.wat @@ -4,9 +4,7 @@ (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "alias" (func $typealias/alias)) (func $typealias/alias (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 diff --git a/tests/compiler/unary.optimized.wat b/tests/compiler/unary.optimized.wat index a56a7f41..fd6525e1 100644 --- a/tests/compiler/unary.optimized.wat +++ b/tests/compiler/unary.optimized.wat @@ -1,14 +1,11 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $null) (global $unary/i (mut i32) (i32.const 0)) (global $unary/I (mut i64) (i64.const 0)) (global $unary/f (mut f32) (f32.const 0)) (global $unary/F (mut f64) (f64.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:unary (; 0 ;) (type $FUNCSIG$v) (local $0 f32) diff --git a/tests/compiler/unary.untouched.wat b/tests/compiler/unary.untouched.wat index 0114ad80..e0fbbd53 100644 --- a/tests/compiler/unary.untouched.wat +++ b/tests/compiler/unary.untouched.wat @@ -7,9 +7,7 @@ (global $unary/I (mut i64) (i64.const 0)) (global $unary/f (mut f32) (f32.const 0)) (global $unary/F (mut f64) (f64.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:unary (; 0 ;) (type $FUNCSIG$v) (local $0 i32) diff --git a/tests/compiler/void.optimized.wat b/tests/compiler/void.optimized.wat index 86b388ad..e2acb0a3 100644 --- a/tests/compiler/void.optimized.wat +++ b/tests/compiler/void.optimized.wat @@ -1,10 +1,7 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (export "memory" (memory $0)) - (export "table" (table $0)) (func $start (; 0 ;) (type $FUNCSIG$v) nop ) diff --git a/tests/compiler/void.untouched.wat b/tests/compiler/void.untouched.wat index 8ee4c756..a46ab488 100644 --- a/tests/compiler/void.untouched.wat +++ b/tests/compiler/void.untouched.wat @@ -6,9 +6,7 @@ (elem (i32.const 0) $null) (global $void/u8Val1 (mut i32) (i32.const 1)) (global $void/u8Val2 (mut i32) (i32.const 255)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $void/anInt (; 0 ;) (type $FUNCSIG$i) (result i32) i32.const 2 diff --git a/tests/compiler/wasi.optimized.wat b/tests/compiler/wasi.optimized.wat index dd129858..66a2d340 100644 --- a/tests/compiler/wasi.optimized.wat +++ b/tests/compiler/wasi.optimized.wat @@ -1,12 +1,9 @@ (module (type $FUNCSIG$v (func)) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0e\00\00\00w\00a\00s\00i\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\0e\00\00\00w\00a\00s\00i\00.\00t\00s") (global $wasi/sig (mut i32) (i32.const 1)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start (; 0 ;) (type $FUNCSIG$v) i32.const 9 diff --git a/tests/compiler/wasi.ts b/tests/compiler/wasi.ts index cd42168f..cf2a76db 100644 --- a/tests/compiler/wasi.ts +++ b/tests/compiler/wasi.ts @@ -1,7 +1,5 @@ import { dirent, rwevent, fdstat, filestat, iovec, clocksubscription, fdsubscription, signal, dirprestat } from "bindings/wasi"; - -const WASM32 = 1; -const WASM64 = 2; +import { Target } from "common/target"; assert(offsetof("next") == 0); assert(offsetof("ino") == 8); @@ -33,10 +31,10 @@ assert(offsetof("ctim") == 48); assert(offsetof() == 56); assert(offsetof("buf") == 0); -if (ASC_TARGET == WASM32) { +if (ASC_TARGET == Target.WASM32) { assert(offsetof("buf_len") == 4); assert(offsetof() == 8); -} else if (ASC_TARGET == WASM64) { +} else if (ASC_TARGET == Target.WASM64) { assert(offsetof("buf_len") == 8); assert(offsetof() == 16); } else { @@ -58,10 +56,10 @@ assert(offsetof("fd") == 16); assert(offsetof() == 20); assert(offsetof("type") == 0); -if (ASC_TARGET == WASM32) { +if (ASC_TARGET == Target.WASM32) { assert(offsetof("name_len") == 4); assert(offsetof() == 8); -} else if (ASC_TARGET == WASM64) { +} else if (ASC_TARGET == Target.WASM64) { assert(offsetof("name_len") == 8); assert(offsetof() == 16); } else { diff --git a/tests/compiler/wasi.untouched.wat b/tests/compiler/wasi.untouched.wat index b2cb630c..1f077ba2 100644 --- a/tests/compiler/wasi.untouched.wat +++ b/tests/compiler/wasi.untouched.wat @@ -1,18 +1,17 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\0e\00\00\00w\00a\00s\00i\00.\00t\00s\00") + (data (i32.const 8) "\10\00\00\00\0e\00\00\00w\00a\00s\00i\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) - (global $wasi/WASM32 i32 (i32.const 1)) - (global $wasi/WASM64 i32 (i32.const 2)) + (global $~lib/common/target/Target.WASM32 i32 (i32.const 0)) + (global $~lib/common/target/Target.WASM64 i32 (i32.const 1)) + (global $~lib/common/target/Target.JS i32 (i32.const 2)) (global $~lib/ASC_TARGET i32 (i32.const 0)) (global $wasi/sig (mut i32) (i32.const 1)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 32)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:wasi (; 1 ;) (type $FUNCSIG$v) i32.const 0 @@ -22,25 +21,49 @@ if i32.const 0 i32.const 16 - i32.const 6 + i32.const 4 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 i32.const 8 i32.eq i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 5 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 16 + i32.const 16 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 6 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 20 + i32.const 20 + i32.eq + i32.eqz if i32.const 0 i32.const 16 i32.const 7 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 16 - i32.const 16 + i32.const 24 + i32.const 24 i32.eq i32.eqz if @@ -48,23 +71,11 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 20 - i32.const 20 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 16 - i32.const 9 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 24 - i32.const 24 + i32.const 0 + i32.const 0 i32.eq i32.eqz if @@ -72,11 +83,23 @@ i32.const 16 i32.const 10 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 0 + i32.const 8 + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 10 + i32.const 10 i32.eq i32.eqz if @@ -84,11 +107,11 @@ i32.const 16 i32.const 12 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 8 - i32.const 8 + i32.const 16 + i32.const 16 i32.eq i32.eqz if @@ -96,11 +119,11 @@ i32.const 16 i32.const 13 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 10 - i32.const 10 + i32.const 24 + i32.const 24 i32.eq i32.eqz if @@ -108,11 +131,11 @@ i32.const 16 i32.const 14 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 16 - i32.const 16 + i32.const 32 + i32.const 32 i32.eq i32.eqz if @@ -120,23 +143,11 @@ i32.const 16 i32.const 15 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 24 - i32.const 24 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 16 - i32.const 16 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 32 - i32.const 32 + i32.const 0 + i32.const 0 i32.eq i32.eqz if @@ -144,11 +155,23 @@ i32.const 16 i32.const 17 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 0 + i32.const 2 + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 18 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 8 + i32.const 8 i32.eq i32.eqz if @@ -156,11 +179,11 @@ i32.const 16 i32.const 19 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 2 + i32.const 16 + i32.const 16 i32.eq i32.eqz if @@ -168,11 +191,11 @@ i32.const 16 i32.const 20 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 8 - i32.const 8 + i32.const 24 + i32.const 24 i32.eq i32.eqz if @@ -180,23 +203,11 @@ i32.const 16 i32.const 21 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 16 - i32.const 16 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 16 - i32.const 22 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 24 - i32.const 24 + i32.const 0 + i32.const 0 i32.eq i32.eqz if @@ -204,11 +215,23 @@ i32.const 16 i32.const 23 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 0 + i32.const 8 + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 24 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 16 + i32.const 16 i32.eq i32.eqz if @@ -216,11 +239,11 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 8 - i32.const 8 + i32.const 20 + i32.const 20 i32.eq i32.eqz if @@ -228,11 +251,11 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 16 - i32.const 16 + i32.const 24 + i32.const 24 i32.eq i32.eqz if @@ -240,11 +263,11 @@ i32.const 16 i32.const 27 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 20 - i32.const 20 + i32.const 32 + i32.const 32 i32.eq i32.eqz if @@ -252,11 +275,11 @@ i32.const 16 i32.const 28 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 24 - i32.const 24 + i32.const 40 + i32.const 40 i32.eq i32.eqz if @@ -264,11 +287,11 @@ i32.const 16 i32.const 29 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 32 - i32.const 32 + i32.const 48 + i32.const 48 i32.eq i32.eqz if @@ -276,11 +299,11 @@ i32.const 16 i32.const 30 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 40 - i32.const 40 + i32.const 56 + i32.const 56 i32.eq i32.eqz if @@ -288,23 +311,11 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 48 - i32.const 48 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 16 - i32.const 32 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 56 - i32.const 56 + i32.const 0 + i32.const 0 i32.eq i32.eqz if @@ -312,19 +323,7 @@ i32.const 16 i32.const 33 i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 0 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 16 - i32.const 35 - i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block @@ -335,9 +334,9 @@ if i32.const 0 i32.const 16 - i32.const 37 + i32.const 35 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -347,9 +346,9 @@ if i32.const 0 i32.const 16 - i32.const 38 + i32.const 36 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -357,16 +356,40 @@ i32.const 0 i32.eq i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 44 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 8 + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 45 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 16 + i32.const 16 + i32.eq + i32.eqz if i32.const 0 i32.const 16 i32.const 46 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 8 - i32.const 8 + i32.const 24 + i32.const 24 i32.eq i32.eqz if @@ -374,11 +397,11 @@ i32.const 16 i32.const 47 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 16 - i32.const 16 + i32.const 32 + i32.const 32 i32.eq i32.eqz if @@ -386,11 +409,11 @@ i32.const 16 i32.const 48 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 24 - i32.const 24 + i32.const 40 + i32.const 40 i32.eq i32.eqz if @@ -398,11 +421,11 @@ i32.const 16 i32.const 49 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 32 - i32.const 32 + i32.const 48 + i32.const 48 i32.eq i32.eqz if @@ -410,11 +433,11 @@ i32.const 16 i32.const 50 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 40 - i32.const 40 + i32.const 56 + i32.const 56 i32.eq i32.eqz if @@ -422,23 +445,11 @@ i32.const 16 i32.const 51 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 48 - i32.const 48 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 16 - i32.const 52 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 56 - i32.const 56 + i32.const 0 + i32.const 0 i32.eq i32.eqz if @@ -446,11 +457,23 @@ i32.const 16 i32.const 53 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 0 + i32.const 8 + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 54 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 16 + i32.const 16 i32.eq i32.eqz if @@ -458,11 +481,11 @@ i32.const 16 i32.const 55 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 8 - i32.const 8 + i32.const 20 + i32.const 20 i32.eq i32.eqz if @@ -470,23 +493,11 @@ i32.const 16 i32.const 56 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end - i32.const 16 - i32.const 16 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 16 - i32.const 57 - i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 20 - i32.const 20 + i32.const 0 + i32.const 0 i32.eq i32.eqz if @@ -494,19 +505,7 @@ i32.const 16 i32.const 58 i32.const 0 - call $~lib/env/abort - unreachable - end - i32.const 0 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 16 - i32.const 60 - i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end block @@ -517,9 +516,9 @@ if i32.const 0 i32.const 16 - i32.const 62 + i32.const 60 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 8 @@ -529,9 +528,9 @@ if i32.const 0 i32.const 16 - i32.const 63 + i32.const 61 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end diff --git a/tests/compiler/while.optimized.wat b/tests/compiler/while.optimized.wat index 41f4f950..c7317e81 100644 --- a/tests/compiler/while.optimized.wat +++ b/tests/compiler/while.optimized.wat @@ -1,16 +1,13 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\10\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s") (global $while/n (mut i32) (i32.const 10)) (global $while/m (mut i32) (i32.const 0)) (global $while/o (mut i32) (i32.const 0)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:while (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -34,7 +31,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $while/m @@ -45,7 +42,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 10 @@ -83,7 +80,7 @@ i32.const 16 i32.const 21 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $while/o @@ -94,7 +91,7 @@ i32.const 16 i32.const 22 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end br $continue|1 @@ -106,7 +103,7 @@ i32.const 16 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $while/m @@ -117,7 +114,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $while/o @@ -128,7 +125,7 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -160,7 +157,7 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $while/m @@ -171,7 +168,7 @@ i32.const 16 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/while.untouched.wat b/tests/compiler/while.untouched.wat index ea0fecdc..ba149171 100644 --- a/tests/compiler/while.untouched.wat +++ b/tests/compiler/while.untouched.wat @@ -1,17 +1,15 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) - (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\01\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s\00") + (data (i32.const 8) "\10\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 $while/n (mut i32) (i32.const 10)) (global $while/m (mut i32) (i32.const 0)) (global $while/o (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 32)) (export "memory" (memory $0)) - (export "table" (table $0)) (start $start) (func $start:while (; 1 ;) (type $FUNCSIG$v) (local $0 i32) @@ -42,7 +40,7 @@ i32.const 16 i32.const 8 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $while/m @@ -54,7 +52,7 @@ i32.const 16 i32.const 9 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 10 @@ -101,7 +99,7 @@ i32.const 16 i32.const 21 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $while/o @@ -113,7 +111,7 @@ i32.const 16 i32.const 22 i32.const 2 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end end @@ -130,7 +128,7 @@ i32.const 16 i32.const 24 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $while/m @@ -142,7 +140,7 @@ i32.const 16 i32.const 25 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $while/o @@ -154,7 +152,7 @@ i32.const 16 i32.const 26 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end i32.const 1 @@ -197,7 +195,7 @@ i32.const 16 i32.const 31 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end global.get $while/m @@ -209,7 +207,7 @@ i32.const 16 i32.const 32 i32.const 0 - call $~lib/env/abort + call $~lib/builtins/abort unreachable end ) diff --git a/tests/compiler/wildcard-export.optimized.wat b/tests/compiler/wildcard-export.optimized.wat index 1139e552..306f12df 100644 --- a/tests/compiler/wildcard-export.optimized.wat +++ b/tests/compiler/wildcard-export.optimized.wat @@ -1,12 +1,9 @@ (module (type $FUNCSIG$v (func)) (memory $0 0) - (table $0 1 funcref) - (elem (i32.const 0) $start) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "a" (global $export/a)) (export "renamed_a" (global $export/a)) (export "renamed_b" (global $export/b)) diff --git a/tests/compiler/wildcard-export.untouched.wat b/tests/compiler/wildcard-export.untouched.wat index a1662de3..b86295da 100644 --- a/tests/compiler/wildcard-export.untouched.wat +++ b/tests/compiler/wildcard-export.untouched.wat @@ -7,9 +7,7 @@ (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8)) (export "memory" (memory $0)) - (export "table" (table $0)) (export "a" (global $export/a)) (export "renamed_a" (global $export/a)) (export "renamed_b" (global $export/b))