From 3e3c393856f99837b030bf7359fb2fbe60670028 Mon Sep 17 00:00:00 2001 From: dcode Date: Sat, 30 Mar 2019 13:58:20 +0100 Subject: [PATCH] finalize GC wiring --- src/builtins.ts | 142 +- src/compiler.ts | 147 +- src/program.ts | 63 +- src/types.ts | 5 +- std/assembly/array.ts | 15 +- std/assembly/collector/itcm.ts | 16 +- std/assembly/fixedarray.ts | 15 +- std/assembly/map.ts | 29 +- std/assembly/set.ts | 16 +- tests/compiler/gc.optimized.wat | 66 +- tests/compiler/gc.untouched.wat | 78 +- tests/compiler/gc/global-assign.optimized.wat | 18 +- tests/compiler/gc/global-assign.untouched.wat | 24 +- tests/compiler/gc/global-init.optimized.wat | 18 +- tests/compiler/gc/global-init.untouched.wat | 24 +- tests/compiler/gc/itcm/trace.optimized.wat | 262 ++-- tests/compiler/gc/itcm/trace.ts | 6 +- tests/compiler/gc/itcm/trace.untouched.wat | 290 ++-- .../compiler/std/array-literal.optimized.wat | 103 +- .../compiler/std/array-literal.untouched.wat | 220 ++- tests/compiler/std/array.optimized.wat | 728 ++++++---- tests/compiler/std/array.untouched.wat | 1292 ++++++++++++----- tests/compiler/std/map.optimized.wat | 204 +-- tests/compiler/std/map.untouched.wat | 437 ++++-- tests/compiler/std/runtime.optimized.wat | 61 +- tests/compiler/std/runtime.untouched.wat | 89 +- tests/compiler/std/set.optimized.wat | 188 +-- tests/compiler/std/set.untouched.wat | 417 ++++-- tests/compiler/std/string.optimized.wat | 177 ++- tests/compiler/std/string.untouched.wat | 239 +-- tests/compiler/std/symbol.untouched.wat | 4 +- tests/compiler/std/typedarray.optimized.wat | 809 ++++++----- tests/compiler/std/typedarray.untouched.wat | 1126 +++++++------- 33 files changed, 4605 insertions(+), 2723 deletions(-) diff --git a/src/builtins.ts b/src/builtins.ts index 61ebb5d9..131adfba 100644 --- a/src/builtins.ts +++ b/src/builtins.ts @@ -2370,6 +2370,15 @@ export function compileCall( let typeRef = module.getFunctionTypeBySignature(nativeReturnType, nativeParamTypes); if (!typeRef) typeRef = module.addFunctionType(typeName, nativeReturnType, nativeParamTypes); compiler.currentType = returnType; + // if the index expression is precomputable to a constant value, emit a direct call + if (getExpressionId(arg0 = module.precomputeExpression(arg0)) == ExpressionId.Const) { + assert(getExpressionType(arg0) == NativeType.I32); + let index = getConstValueI32(arg0); + let functionTable = compiler.functionTable; + if (index >= 0 && index < functionTable.length) { + return module.createCall(functionTable[index], operandExprs, nativeReturnType); + } + } // of course this can easily result in a 'RuntimeError: function signature mismatch' trap and // thus must be used with care. it exists because it *might* be useful in specific scenarios. return module.createCallIndirect(arg0, operandExprs, typeName); @@ -3620,8 +3629,16 @@ export function compileCall( compiler.currentType = Type.u32; if (!type) return module.createUnreachable(); let classReference = type.classReference; - if (!classReference) return module.createUnreachable(); - return module.createI32(classReference.id); + if (!classReference || classReference.hasDecorator(DecoratorFlags.UNMANAGED)) { + compiler.error( + DiagnosticCode.Operation_not_supported, + reportNode.range + ); + return module.createUnreachable(); + } + let classId = classReference.ensureClassId(compiler); // involves compile steps + compiler.currentType = Type.u32; + return module.createI32(classId); } case BuiltinSymbols.iterateRoots: { if ( @@ -4093,127 +4110,6 @@ export function compileIterateRoots(compiler: Compiler): void { ); } -/** Ensures that the specified class's GC hook exists and returns its function table index. */ -export function ensureGCHook( - compiler: Compiler, - classInstance: Class -): u32 { - var program = compiler.program; - assert(classInstance.type.isManaged(program)); - - // check if the GC hook has already been created - { - let existingIndex = classInstance.gcHookIndex; - if (existingIndex != -1) return existingIndex; - } - - // check if the class implements a custom GC function (only valid for library elements) - var members = classInstance.members; - if (classInstance.isDeclaredInLibrary) { - if (members !== null && members.has("__iter")) { - let iterPrototype = assert(members.get("__iter")); - assert(iterPrototype.kind == ElementKind.FUNCTION_PROTOTYPE); - let iterInstance = assert(program.resolver.resolveFunction(iterPrototype, null)); - assert(iterInstance.is(CommonFlags.PRIVATE | CommonFlags.INSTANCE)); - assert(!iterInstance.isAny(CommonFlags.AMBIENT | CommonFlags.VIRTUAL)); - let signature = iterInstance.signature; - let parameterTypes = signature.parameterTypes; - assert(parameterTypes.length == 1); - assert(parameterTypes[0].signatureReference); - assert(signature.returnType == Type.void); - iterInstance.internalName = classInstance.internalName + "~iter"; - assert(compiler.compileFunction(iterInstance)); - let index = compiler.ensureFunctionTableEntry(iterInstance); - classInstance.gcHookIndex = index; - return index; - } - } - - var module = compiler.module; - var options = compiler.options; - var nativeSizeType = options.nativeSizeType; - var nativeSizeSize = options.usizeType.byteSize; - var body = new Array(); - - // nothing to mark if 'this' is null - body.push( - module.createIf( - module.createUnary( - options.isWasm64 - ? UnaryOp.EqzI64 - : UnaryOp.EqzI32, - module.createGetLocal(0, nativeSizeType) - ), - module.createReturn() - ) - ); - - // remember the function index so we don't recurse infinitely - var functionTable = compiler.functionTable; - var gcHookIndex = functionTable.length; - functionTable.push(""); - classInstance.gcHookIndex = gcHookIndex; - - // if the class extends a base class, call its hook first - var baseInstance = classInstance.base; - if (baseInstance) { - assert(baseInstance.type.isManaged(program)); - body.push( - module.createCallIndirect( - module.createI32( - ensureGCHook(compiler, baseInstance.type.classReference) - ), - [ - module.createGetLocal(0, nativeSizeType), // this - module.createGetLocal(1, NativeType.I32) // fn - ], - "FUNCSIG$" + (nativeSizeType == NativeType.I64 ? "vji" : "vii") - ) - ); - } - - // mark instances assigned to own fields that are again references - if (members) { - for (let member of members.values()) { - if (member.kind == ElementKind.FIELD) { - if ((member).parent === classInstance) { - let type = (member).type; - if (type.isManaged(program)) { - let offset = (member).memoryOffset; - assert(offset >= 0); - body.push( // fn(fieldValue) - module.createCallIndirect( - module.createGetLocal(1, NativeType.I32), - [ - module.createLoad( - nativeSizeSize, - false, - module.createGetLocal(0, nativeSizeType), - nativeSizeType, - offset - ), - ], - "FUNCSIG$vi" - ) - ); - } - } - } - } - } - - // add the function to the module and return its table index - var funcName = classInstance.internalName + "~iter"; - module.addFunction( - funcName, - compiler.ensureFunctionType(null, Type.void, options.usizeType), - null, - module.createBlock(null, body) - ); - functionTable[gcHookIndex] = funcName; - return gcHookIndex; -} - // Helpers /** Evaluates the constant type of a type argument *or* expression. */ diff --git a/src/compiler.ts b/src/compiler.ts index 307f3efe..4374121a 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -71,7 +71,8 @@ import { DecoratorFlags, PropertyPrototype, File, - mangleInternalName + mangleInternalName, + CollectorKind } from "./program"; import { @@ -448,7 +449,7 @@ export class Compiler extends DiagnosticEmitter { // expose module capabilities var capabilities = Capability.NONE; if (program.options.isWasm64) capabilities |= Capability.WASM64; - if (program.gcImplemented) capabilities |= Capability.GC; + if (program.collectorKind != CollectorKind.NONE) capabilities |= Capability.GC; if (capabilities != 0) { module.addGlobal(BuiltinSymbols.capabilities, NativeType.I32, false, module.createI32(capabilities)); module.addGlobalExport(BuiltinSymbols.capabilities, ".capabilities"); @@ -1408,7 +1409,7 @@ export class Compiler extends DiagnosticEmitter { } else { let length = stringValue.length; let buffer = new Uint8Array(rtHeaderSize + (length << 1)); - program.writeRuntimeHeader(buffer, 0, stringInstance, length << 1); + program.writeRuntimeHeader(buffer, 0, stringInstance.ensureClassId(this), length << 1); for (let i = 0; i < length; ++i) { writeI16(stringValue.charCodeAt(i), buffer, rtHeaderSize + (i << 1)); } @@ -1434,7 +1435,7 @@ export class Compiler extends DiagnosticEmitter { var runtimeHeaderSize = program.runtimeHeaderSize; var buf = new Uint8Array(runtimeHeaderSize + byteLength); - program.writeRuntimeHeader(buf, 0, bufferInstance, byteLength); + program.writeRuntimeHeader(buf, 0, bufferInstance.ensureClassId(this), byteLength); var pos = runtimeHeaderSize; var nativeType = elementType.toNativeType(); switch (nativeType) { @@ -1521,7 +1522,7 @@ export class Compiler extends DiagnosticEmitter { var arrayLength = i32(bufferLength / elementType.byteSize); var buf = new Uint8Array(runtimeHeaderSize + arrayInstanceSize); - program.writeRuntimeHeader(buf, 0, arrayInstance, arrayInstanceSize); + program.writeRuntimeHeader(buf, 0, arrayInstance.ensureClassId(this), arrayInstanceSize); var bufferAddress32 = i64_low(bufferSegment.offset) + runtimeHeaderSize; assert(!program.options.isWasm64); // TODO @@ -6820,7 +6821,7 @@ export class Compiler extends DiagnosticEmitter { // makeArray(length, classId, alignLog2, staticBuffer) let expr = this.makeCallDirect(assert(program.makeArrayInstance), [ module.createI32(length), - module.createI32(arrayInstance.id), + module.createI32(arrayInstance.ensureClassId(this)), program.options.isWasm64 ? module.createI64(elementType.alignLog2) : module.createI32(elementType.alignLog2), @@ -6854,7 +6855,7 @@ export class Compiler extends DiagnosticEmitter { module.createSetLocal(tempThis.index, this.makeCallDirect(makeArrayInstance, [ module.createI32(length), - module.createI32(arrayInstance.id), + module.createI32(arrayInstance.ensureClassId(this)), program.options.isWasm64 ? module.createI64(elementType.alignLog2) : module.createI32(elementType.alignLog2), @@ -8115,7 +8116,7 @@ export class Compiler extends DiagnosticEmitter { ? module.createI64(classInstance.currentMemoryOffset) : module.createI32(classInstance.currentMemoryOffset) ], reportNode), - module.createI32(classInstance.id) + module.createI32(classInstance.ensureClassId(this)) ], reportNode); } } @@ -8320,7 +8321,7 @@ export class Compiler extends DiagnosticEmitter { module.createBreak(label, module.createBinary(BinaryOp.EqI32, // classId == class.id module.createTeeLocal(idTemp.index, idExpr), - module.createI32(classInstance.id) + module.createI32(classInstance.ensureClassId(this)) ), module.createI32(1) // ? true ) @@ -8335,6 +8336,134 @@ export class Compiler extends DiagnosticEmitter { flow.popBreakLabel(); return module.createBlock(label, conditions, NativeType.I32); } + + /** Reserves the function index / class id for the following `makeIterate` operation. */ + makeIterateReserve(classInstance: Class): u32 { + var functionTable = this.functionTable; + var functionIndex = functionTable.length; + functionTable.push(classInstance.iterateName); + return functionIndex; + } + + /** Makes the managed iteration function of the specified class. */ + makeIterate(classInstance: Class, functionIndex: i32): void { + var program = this.program; + assert(classInstance.type.isManaged(program)); + + // check if the class implements a custom iteration function (only valid for library elements) + var members = classInstance.members; + if (classInstance.isDeclaredInLibrary) { + if (members !== null && members.has("__iterate")) { + let iterPrototype = members.get("__iterate")!; + assert(iterPrototype.kind == ElementKind.FUNCTION_PROTOTYPE); + let iterInstance = assert(program.resolver.resolveFunction(iterPrototype, null)); + assert(iterInstance.is(CommonFlags.PRIVATE | CommonFlags.INSTANCE)); + assert(iterInstance.hasDecorator(DecoratorFlags.UNSAFE)); + assert(!iterInstance.isAny(CommonFlags.AMBIENT | CommonFlags.VIRTUAL)); + let signature = iterInstance.signature; + let parameterTypes = signature.parameterTypes; + assert(parameterTypes.length == 1); + assert(parameterTypes[0].signatureReference); + assert(signature.returnType == Type.void); + iterInstance.internalName = classInstance.iterateName; + assert(this.compileFunction(iterInstance)); + this.ensureFunctionTableEntry(iterInstance); + return; + } + } + + var module = this.module; + var options = this.options; + var nativeSizeType = options.nativeSizeType; + var nativeSizeSize = options.usizeType.byteSize; + // var signatureStr = Signature.makeSignatureString([ Type.u32 ], Type.void, options.usizeType); + var body = new Array(); + + // nothing to mark if 'this' is null (should not happen) + // body.push( + // module.createIf( + // module.createUnary( + // options.isWasm64 + // ? UnaryOp.EqzI64 + // : UnaryOp.EqzI32, + // module.createGetLocal(0, nativeSizeType) + // ), + // module.createReturn() + // ) + // ); + + // remember the function index so we don't recurse infinitely + var functionTable = this.functionTable; + var functionName = classInstance.iterateName; + assert(functionIndex < functionTable.length); + assert(functionTable[functionIndex] == functionName); + + // if the class extends a base class, call its hook first + var baseInstance = classInstance.base; + if (baseInstance) { + let baseType = baseInstance.type; + let baseClassId = baseInstance.ensureClassId(this); + assert(baseType.isManaged(program)); + body.push( + // BASECLASS~iterate.call(this, fn) + module.createCall(functionTable[baseClassId], [ + module.createGetLocal(0, nativeSizeType), + module.createGetLocal(1, NativeType.I32) + ], NativeType.None) + ); + } + + // iterate references assigned to own fields + if (members) { + for (let member of members.values()) { + if (member.kind == ElementKind.FIELD) { + if ((member).parent === classInstance) { + let fieldType = (member).type; + if (fieldType.isManaged(program)) { + let fieldClass = fieldType.classReference!; + let fieldClassId = fieldClass.ensureClassId(this); + let fieldOffset = (member).memoryOffset; + assert(fieldOffset >= 0); + body.push( + // if ($2 = value) { fn($2); FIELDCLASS~iterate($2, fn); } + module.createIf( + module.createTeeLocal(2, + module.createLoad( + nativeSizeSize, + false, + module.createGetLocal(0, nativeSizeType), + nativeSizeType, + fieldOffset + ) + ), + module.createBlock(null, [ + module.createCallIndirect( + module.createGetLocal(1, NativeType.I32), + [ + module.createGetLocal(2, nativeSizeType) + ], "FUNCSIG$vi" + ), + module.createCall(functionTable[fieldClassId], [ + module.createGetLocal(2, nativeSizeType), + module.createGetLocal(1, NativeType.I32) + ], NativeType.None) + ]) + ) + ); + } + } + } + } + } + + // add the function to the module and return its table index + module.addFunction( + functionName, + this.ensureFunctionType([ Type.u32 ], Type.void, options.usizeType), + members ? [ nativeSizeType ] : null, + module.createBlock(null, body) + ); + } } // helpers diff --git a/src/program.ts b/src/program.ts index 1b05f1e9..3441e1c2 100644 --- a/src/program.ts +++ b/src/program.ts @@ -18,7 +18,8 @@ import { import { Options, - Feature + Feature, + Compiler } from "./compiler"; import { @@ -308,6 +309,13 @@ function operatorKindFromDecorator(decoratorKind: DecoratorKind, arg: string): O return OperatorKind.INVALID; } +/** Garbage collector kind present. */ +export enum CollectorKind { + NONE, + TRACING, + COUNTING +} + /** Represents an AssemblyScript program. */ export class Program extends DiagnosticEmitter { @@ -367,25 +375,24 @@ export class Program extends DiagnosticEmitter { /** Runtime make array function. `makeArray(capacity: i32, source: usize = 0, cid: u32): usize` */ makeArrayInstance: Function | null = null; + /** The kind of garbage collector being present. */ + collectorKind: CollectorKind = CollectorKind.NONE; + /** Memory allocation implementation, if present: `__mem_allocate(size: usize): usize` */ allocateMem: Function | null = null; + /** Memory free implementation, if present: `__mem_free(ref: usize): void` */ freeMem: Function | null = null; + /** Reference link implementation, if present: `__ref_link(ref: usize, parentRef: usize): void` */ linkRef: Function | null = null; + /** Reference unlink implementation, if present: `__ref_unlink(ref: usize, parentRef: usize): void` */ unlinkRef: Function | null = null; + /** Reference retain implementation, if present: `__ref_retain(ref: usize): void` */ retainRef: Function | null = null; + /** Reference release implementation, if present: `__ref_release(ref: usize): void` */ releaseRef: Function | null = null; /** Next class id. */ nextClassId: u32 = 1; - // gc integration - - /** Whether a garbage collector is present or not. */ - get gcImplemented(): bool { - return this.lookupGlobal("__ref_collect") !== null; - } - /** Garbage collector mark function called to on reachable managed objects. */ - gcMarkInstance: Function | null = null; // FIXME - /** Constructs a new program, optionally inheriting parser diagnostics. */ constructor( /** Shared array of diagnostic messages (emitted so far). */ @@ -402,12 +409,12 @@ export class Program extends DiagnosticEmitter { /** Gets the size of a common runtime header. */ get runtimeHeaderSize(): i32 { - return this.gcImplemented ? 16 : 8; + return this.collectorKind ? 16 : 8; } /** Writes a common runtime header to the specified buffer. */ - writeRuntimeHeader(buffer: Uint8Array, offset: i32, classInstance: Class, payloadSize: u32): void { - writeI32(classInstance.id, buffer, offset); + writeRuntimeHeader(buffer: Uint8Array, offset: i32, classId: i32, payloadSize: u32): void { + writeI32(classId, buffer, offset); writeI32(payloadSize, buffer, offset + 4); } @@ -854,12 +861,14 @@ export class Program extends DiagnosticEmitter { assert(element.kind == ElementKind.FUNCTION_PROTOTYPE); this.unlinkRef = this.resolver.resolveFunction(element, null); } + this.collectorKind = CollectorKind.TRACING; } else if (element = this.lookupGlobal("__ref_retain")) { assert(element.kind == ElementKind.FUNCTION_PROTOTYPE); this.retainRef = this.resolver.resolveFunction(element, null); element = assert(this.lookupGlobal("__ref_release")); assert(element.kind == ElementKind.FUNCTION_PROTOTYPE); this.releaseRef = this.resolver.resolveFunction(element, null); + this.collectorKind = CollectorKind.COUNTING; } } } @@ -2999,14 +3008,27 @@ export class Class extends TypedElement { constructorInstance: Function | null = null; /** Operator overloads. */ overloads: Map | null = null; - /** Function index of the GC hook. */ - gcHookIndex: u32 = -1; /** Unique class id. */ private _id: u32 = 0; - /** Gets the unique id of this class. */ - get id(): u32 { + + /** Ensures that this class has an id. */ + ensureClassId(compiler: Compiler): i32 { var id = this._id; - if (!id) this._id = id = this.program.nextClassId++; + if (!id) { + assert(!this.hasDecorator(DecoratorFlags.UNMANAGED)); + let program = this.program; + if (program.collectorKind == CollectorKind.TRACING) { + // tracing GC uses the function index of the iteration function as the + // class's id so it can call the id directly, which avoids to generate + // a helper function with a big switch mapping ids to function indexes. + // here: might be called recursively in makeIterate, so reserve the id. + this._id = id = compiler.makeIterateReserve(this); + compiler.makeIterate(this, id); + } else { + // counting GC or none just increments without any iterate functions + this._id = id = program.nextClassId++; + } + } return id; } @@ -3031,6 +3053,11 @@ export class Class extends TypedElement { ); } + /** Gets the name of this class's GC iteration function. */ + get iterateName(): string { + return this.internalName + "~iterate"; + } + /** Constructs a new class. */ constructor( /** Name incl. type parameters, i.e. `Foo`. */ diff --git a/src/types.ts b/src/types.ts index 3a627d5e..09b9e164 100644 --- a/src/types.ts +++ b/src/types.ts @@ -7,7 +7,8 @@ import { Class, FunctionTarget, Program, - DecoratorFlags + DecoratorFlags, + CollectorKind } from "./program"; import { @@ -152,7 +153,7 @@ export class Type { /** Tests if this is a managed type that needs GC hooks. */ isManaged(program: Program): bool { - if (program.gcImplemented) { + if (program.collectorKind != CollectorKind.NONE) { let classReference = this.classReference; return classReference !== null && !classReference.hasDecorator(DecoratorFlags.UNMANAGED); } diff --git a/std/assembly/array.ts b/std/assembly/array.ts index 8a2ef345..7a3a26f0 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -1,6 +1,6 @@ /// -import { ALLOCATE, REALLOCATE, DISCARD, REGISTER, MAX_BYTELENGTH, MAKEARRAY, ArrayBufferView } from "./runtime"; +import { ALLOCATE, REALLOCATE, DISCARD, REGISTER, MAX_BYTELENGTH, MAKEARRAY, ArrayBufferView, classId } from "./runtime"; import { ArrayBuffer } from "./arraybuffer"; import { COMPARATOR, SORT } from "./util/sort"; import { itoa, dtoa, itoa_stream, dtoa_stream, MAX_DOUBLE_LENGTH } from "./util/number"; @@ -804,13 +804,22 @@ export class Array extends ArrayBufferView { // GC integration - @unsafe private __iter(fn: (ref: usize) => void): void { + @unsafe private __iterate(fn: (ref: usize) => void): void { fn(changetype(this.data)); if (isManaged()) { let cur = this.dataStart; let end = cur + this.dataLength; while (cur < end) { - fn(load(cur)); + let val = load(cur); + if (isNullable()) { + if (val) { + fn(val); + call_indirect(classId(), val, fn); + } + } else { + fn(val); + call_indirect(classId(), val, fn); + } cur += sizeof(); } } diff --git a/std/assembly/collector/itcm.ts b/std/assembly/collector/itcm.ts index e49adc4b..0b6bcf38 100644 --- a/std/assembly/collector/itcm.ts +++ b/std/assembly/collector/itcm.ts @@ -159,14 +159,12 @@ function step(): void { if (TRACE) trace("itcm~step/MARK iterate", 1, objToRef(obj)); iter = obj; obj.color = i32(!white); - // if (TRACE) { - // trace(" next/prev/hook", 3, - // changetype(obj.next), - // changetype(obj.prev), - // changetype(obj.hookFn) - // ); - // } - obj.hookFn(objToRef(obj)); + // CLASS~iterate(ref, fn) + call_indirect(obj.classId, objToRef(obj), (ref: usize): void => { + trace(" iter", 1, ref); + var obj = refToObj(ref); + if (obj.color == white) obj.makeGray(); + }); } else { if (TRACE) trace("itcm~step/MARK finish"); iterateRoots((ref: usize): void => { @@ -237,7 +235,7 @@ export function __ref_register(ref: usize): void { step(); // also makes sure it's initialized var obj = refToObj(ref); obj.color = white; - fromSpace.push(obj); + fromSpace.push(obj); // sets gc-reserved header fields } // @ts-ignore: decorator diff --git a/std/assembly/fixedarray.ts b/std/assembly/fixedarray.ts index 6e6e8ca3..cd1891ed 100644 --- a/std/assembly/fixedarray.ts +++ b/std/assembly/fixedarray.ts @@ -1,4 +1,4 @@ -import { ALLOCATE, REGISTER, MAX_BYTELENGTH, HEADER, HEADER_SIZE } from "./runtime"; +import { ALLOCATE, REGISTER, MAX_BYTELENGTH, HEADER, HEADER_SIZE, classId } from "./runtime"; import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error"; // NOTE: DO NOT USE YET! @@ -71,12 +71,21 @@ export class FixedArray { // GC integration - @unsafe private __iter(fn: (ref: usize) => void): void { + @unsafe private __iterate(fn: (ref: usize) => void): void { if (isManaged()) { let cur = changetype(this); let end = cur + changetype
(changetype(this) - HEADER_SIZE).payloadSize; while (cur < end) { - fn(load(cur)); + let val = load(cur); + if (isNullable()) { + if (val) { + fn(val); + call_indirect(classId(), val, fn); + } + } else { + fn(val); + call_indirect(classId(), val, fn); + } cur += sizeof(); } } diff --git a/std/assembly/map.ts b/std/assembly/map.ts index 85f75b2a..73ab4514 100644 --- a/std/assembly/map.ts +++ b/std/assembly/map.ts @@ -1,6 +1,7 @@ /// import { HASH } from "./util/hash"; +import { classId } from "./runtime"; // A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht @@ -267,7 +268,7 @@ export class Map { // GC integration - @unsafe private __iter(fn: (ref: usize) => void): void { + @unsafe private __iterate(fn: (ref: usize) => void): void { fn(changetype(this.buckets)); var entries = this.entries; fn(changetype(entries)); @@ -277,8 +278,30 @@ export class Map { while (cur < end) { let entry = changetype>(cur); if (!(entry.taggedNext & EMPTY)) { - if (isManaged()) fn(changetype(entry.key)); - if (isManaged()) fn(changetype(entry.value)); + if (isManaged()) { + let val = changetype(entry.key); + if (isNullable()) { + if (val) { + fn(val); + call_indirect(classId(), val, fn); + } + } else { + fn(val); + call_indirect(classId(), val, fn); + } + } + if (isManaged()) { + let val = changetype(entry.value); + if (isNullable()) { + if (val) { + fn(val); + call_indirect(classId(), val, fn); + } + } else { + fn(val); + call_indirect(classId(), val, fn); + } + } } cur += ENTRY_SIZE(); } diff --git a/std/assembly/set.ts b/std/assembly/set.ts index 943bee28..d48d7d1d 100644 --- a/std/assembly/set.ts +++ b/std/assembly/set.ts @@ -1,6 +1,7 @@ /// import { HASH } from "./util/hash"; +import { classId } from "./runtime"; // A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht @@ -197,7 +198,7 @@ export class Set { // GC integration - @unsafe private __iter(fn: (ref: usize) => void): void { + @unsafe private __iterate(fn: (ref: usize) => void): void { fn(changetype(this.buckets)); var entries = this.entries; fn(changetype(entries)); @@ -206,7 +207,18 @@ export class Set { let end = cur + this.entriesOffset * ENTRY_SIZE(); while (cur < end) { let entry = changetype>(cur); - if (!(entry.taggedNext & EMPTY)) fn(changetype(entry.key)); + if (!(entry.taggedNext & EMPTY)) { + let val = changetype(entry.key); + if (isNullable()) { + if (val) { + fn(val); + call_indirect(classId(), val, fn); + } + } else { + fn(val); + call_indirect(classId(), val, fn); + } + } cur += ENTRY_SIZE(); } } diff --git a/tests/compiler/gc.optimized.wat b/tests/compiler/gc.optimized.wat index 36430769..736d770d 100644 --- a/tests/compiler/gc.optimized.wat +++ b/tests/compiler/gc.optimized.wat @@ -1,11 +1,11 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 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$vii (func (param i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) @@ -25,8 +25,8 @@ (data (i32.const 232) "g\00c\00.\00u\00n\00l\00i\00n\00k") (data (i32.const 256) "\02\00\00\00\14") (data (i32.const 272) "g\00c\00.\00c\00o\00l\00l\00e\00c\00t") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (table $0 6 funcref) + (elem (i32.const 0) $null $gc/Ref~iterate $gc/Ref~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $gc/Ref~iterate) (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,6 +39,7 @@ (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/gc/gc.implemented i32 (i32.const 1)) + (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/gc/GC_ROOT (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) @@ -139,7 +140,10 @@ i32.const 16 i32.add ) - (func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $gc/Ref~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $gc/_dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 72 i32.const 1 local.get $0 @@ -156,7 +160,7 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.const 292 @@ -191,7 +195,23 @@ call $gc/_dummy/__ref_register local.get $0 ) - (func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $0 + i32.const 1 + global.set $~lib/argc + local.get $0 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/memory/memory.fill (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -402,7 +422,7 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 1073741808 @@ -421,10 +441,10 @@ local.get $0 call $~lib/memory/memory.fill local.get $1 - i32.const 4 + i32.const 5 call $~lib/runtime/register ) - (func $gc/_dummy/__ref_link (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $gc/_dummy/__ref_link (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) i32.const 200 i32.const 2 local.get $0 @@ -444,7 +464,7 @@ local.get $0 global.set $gc/_dummy/link_parentRef ) - (func $gc/_dummy/__ref_unlink (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $gc/_dummy/__ref_unlink (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) i32.const 232 i32.const 2 local.get $0 @@ -464,7 +484,7 @@ local.get $1 global.set $gc/_dummy/unlink_parentRef ) - (func $~lib/set/Set#clear (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -527,7 +547,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 11 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 13 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate @@ -555,7 +575,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/util/hash/hash32 (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -586,7 +606,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/set/Set#find (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -629,7 +649,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -638,7 +658,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -773,7 +793,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -856,7 +876,7 @@ i32.store end ) - (func $~lib/gc/gc.retain (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/gc/gc.retain (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/gc/GC_ROOT local.tee $1 @@ -872,7 +892,7 @@ call $gc/_dummy/__ref_link end ) - (func $~lib/set/Set#delete (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -932,7 +952,7 @@ call $~lib/set/Set#rehash end ) - (func $~lib/gc/gc.release (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/gc/gc.release (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/gc/GC_ROOT local.tee $1 @@ -947,7 +967,7 @@ call $gc/_dummy/__ref_unlink end ) - (func $~lib/gc/gc.collect (; 20 ;) (type $FUNCSIG$v) + (func $~lib/gc/gc.collect (; 22 ;) (type $FUNCSIG$v) i32.const 272 i32.const 0 f64.const 0 @@ -961,7 +981,7 @@ i32.add global.set $gc/_dummy/collect_count ) - (func $gc/main (; 21 ;) (type $FUNCSIG$v) + (func $gc/main (; 23 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1112,7 +1132,7 @@ unreachable end ) - (func $null (; 22 ;) (type $FUNCSIG$v) + (func $null (; 24 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/gc.untouched.wat b/tests/compiler/gc.untouched.wat index 607482d5..eaa10833 100644 --- a/tests/compiler/gc.untouched.wat +++ b/tests/compiler/gc.untouched.wat @@ -1,12 +1,12 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 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$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (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))) @@ -18,8 +18,8 @@ (data (i32.const 184) "\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 216) "\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 256) "\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") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (table $0 6 funcref) + (elem (i32.const 0) $null $gc/Ref~iterate $~lib/string/String~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/arraybuffer/ArrayBuffer~iterate) (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)) @@ -35,6 +35,7 @@ (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/gc/gc.implemented i32 (i32.const 1)) + (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) (global $~lib/gc/GC_ROOT (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) @@ -166,7 +167,12 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $gc/Ref~iterate (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + ) + (func $~lib/string/String~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $gc/_dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 72 i32.const 1 local.get $0 @@ -183,7 +189,7 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -221,7 +227,7 @@ call $gc/_dummy/__ref_register local.get $0 ) - (func $gc/Ref#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $gc/Ref#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -233,7 +239,24 @@ end local.get $0 ) - (func $~lib/memory/memory.fill (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/set/Set~iterate (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/memory/memory.fill (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -490,7 +513,10 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer~iterate (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -519,11 +545,11 @@ local.get $3 local.set $2 local.get $2 - i32.const 4 + i32.const 5 call $~lib/runtime/register end ) - (func $gc/_dummy/__ref_link (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $gc/_dummy/__ref_link (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) i32.const 200 i32.const 2 local.get $0 @@ -543,7 +569,7 @@ local.get $0 global.set $gc/_dummy/link_parentRef ) - (func $gc/_dummy/__ref_unlink (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $gc/_dummy/__ref_unlink (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) i32.const 232 i32.const 2 local.get $0 @@ -563,7 +589,7 @@ local.get $1 global.set $gc/_dummy/unlink_parentRef ) - (func $~lib/set/Set#clear (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -632,7 +658,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz @@ -666,7 +692,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/util/hash/hash32 (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -708,7 +734,7 @@ local.set $1 local.get $1 ) - (func $~lib/set/Set#find (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -759,7 +785,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -774,7 +800,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -944,7 +970,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1042,7 +1068,7 @@ i32.store end ) - (func $~lib/gc/gc.retain (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/gc/gc.retain (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/gc/GC_ROOT local.set $1 @@ -1059,7 +1085,7 @@ call $gc/_dummy/__ref_link end ) - (func $~lib/set/Set#delete (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1132,7 +1158,7 @@ end i32.const 1 ) - (func $~lib/gc/gc.release (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/gc/gc.release (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $~lib/gc/GC_ROOT local.set $1 @@ -1149,7 +1175,7 @@ call $gc/_dummy/__ref_unlink end ) - (func $gc/_dummy/__ref_collect (; 23 ;) (type $FUNCSIG$v) + (func $gc/_dummy/__ref_collect (; 27 ;) (type $FUNCSIG$v) i32.const 272 i32.const 0 f64.const 0 @@ -1163,10 +1189,10 @@ i32.add global.set $gc/_dummy/collect_count ) - (func $~lib/gc/gc.collect (; 24 ;) (type $FUNCSIG$v) + (func $~lib/gc/gc.collect (; 28 ;) (type $FUNCSIG$v) call $gc/_dummy/__ref_collect ) - (func $gc/main (; 25 ;) (type $FUNCSIG$v) + (func $gc/main (; 29 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -1329,7 +1355,7 @@ unreachable end ) - (func $start (; 26 ;) (type $FUNCSIG$v) + (func $start (; 30 ;) (type $FUNCSIG$v) global.get $~lib/memory/HEAP_BASE i32.const 7 i32.add @@ -1344,6 +1370,6 @@ call $~lib/set/Set#constructor global.set $~lib/gc/GC_ROOT ) - (func $null (; 27 ;) (type $FUNCSIG$v) + (func $null (; 31 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/gc/global-assign.optimized.wat b/tests/compiler/gc/global-assign.optimized.wat index fcf96b23..a1dab65e 100644 --- a/tests/compiler/gc/global-assign.optimized.wat +++ b/tests/compiler/gc/global-assign.optimized.wat @@ -1,5 +1,6 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 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))) @@ -14,8 +15,8 @@ (data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") (data (i32.const 96) "\02\00\00\00&") (data (i32.const 112) "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) + (table $0 3 funcref) + (elem (i32.const 0) $null $gc/global-assign/Ref~iterate $gc/global-assign/Ref~iterate) (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)) @@ -112,7 +113,10 @@ i32.const 16 i32.add ) - (func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $gc/global-assign/Ref~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $gc/_dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 72 i32.const 1 local.get $0 @@ -129,7 +133,7 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/register (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 152 @@ -164,7 +168,7 @@ call $gc/_dummy/__ref_register local.get $0 ) - (func $start:gc/global-assign (; 6 ;) (type $FUNCSIG$v) + (func $start:gc/global-assign (; 7 ;) (type $FUNCSIG$v) i32.const 152 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset @@ -236,7 +240,7 @@ unreachable end ) - (func $gc/global-assign/main (; 7 ;) (type $FUNCSIG$v) + (func $gc/global-assign/main (; 8 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -245,7 +249,7 @@ global.set $~lib/started end ) - (func $null (; 8 ;) (type $FUNCSIG$v) + (func $null (; 9 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/gc/global-assign.untouched.wat b/tests/compiler/gc/global-assign.untouched.wat index ad3ea50a..ae8392c5 100644 --- a/tests/compiler/gc/global-assign.untouched.wat +++ b/tests/compiler/gc/global-assign.untouched.wat @@ -1,5 +1,6 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 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))) @@ -11,8 +12,8 @@ (data (i32.const 8) "\02\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (data (i32.const 56) "\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 96) "\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") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (table $0 3 funcref) + (elem (i32.const 0) $null $gc/global-assign/Ref~iterate $~lib/string/String~iterate) (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)) @@ -154,7 +155,12 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $gc/global-assign/Ref~iterate (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + ) + (func $~lib/string/String~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $gc/_dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 72 i32.const 1 local.get $0 @@ -171,7 +177,7 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -209,7 +215,7 @@ call $gc/_dummy/__ref_register local.get $0 ) - (func $gc/global-assign/Ref#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $gc/global-assign/Ref#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -221,7 +227,7 @@ end local.get $0 ) - (func $start:gc/global-assign (; 9 ;) (type $FUNCSIG$v) + (func $start:gc/global-assign (; 11 ;) (type $FUNCSIG$v) global.get $~lib/memory/HEAP_BASE i32.const 7 i32.add @@ -313,7 +319,7 @@ unreachable end ) - (func $gc/global-assign/main (; 10 ;) (type $FUNCSIG$v) + (func $gc/global-assign/main (; 12 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -322,9 +328,9 @@ global.set $~lib/started end ) - (func $start (; 11 ;) (type $FUNCSIG$v) + (func $start (; 13 ;) (type $FUNCSIG$v) call $start:gc/global-assign ) - (func $null (; 12 ;) (type $FUNCSIG$v) + (func $null (; 14 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/gc/global-init.optimized.wat b/tests/compiler/gc/global-init.optimized.wat index 082f73d7..9aea1b6d 100644 --- a/tests/compiler/gc/global-init.optimized.wat +++ b/tests/compiler/gc/global-init.optimized.wat @@ -1,5 +1,6 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 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))) @@ -14,8 +15,8 @@ (data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") (data (i32.const 96) "\02\00\00\00\"") (data (i32.const 112) "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) + (table $0 3 funcref) + (elem (i32.const 0) $null $gc/global-init/Ref~iterate $gc/global-init/Ref~iterate) (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)) @@ -111,7 +112,10 @@ i32.const 16 i32.add ) - (func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $gc/global-init/Ref~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $gc/_dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 72 i32.const 1 local.get $0 @@ -128,7 +132,7 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/register (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 148 @@ -163,7 +167,7 @@ call $gc/_dummy/__ref_register local.get $0 ) - (func $start:gc/global-init (; 6 ;) (type $FUNCSIG$v) + (func $start:gc/global-init (; 7 ;) (type $FUNCSIG$v) i32.const 152 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset @@ -233,7 +237,7 @@ unreachable end ) - (func $gc/global-init/main (; 7 ;) (type $FUNCSIG$v) + (func $gc/global-init/main (; 8 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -242,7 +246,7 @@ global.set $~lib/started end ) - (func $null (; 8 ;) (type $FUNCSIG$v) + (func $null (; 9 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/gc/global-init.untouched.wat b/tests/compiler/gc/global-init.untouched.wat index 17a72f9b..0a87e6c9 100644 --- a/tests/compiler/gc/global-init.untouched.wat +++ b/tests/compiler/gc/global-init.untouched.wat @@ -1,5 +1,6 @@ (module (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 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))) @@ -11,8 +12,8 @@ (data (i32.const 8) "\02\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (data (i32.const 56) "\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 96) "\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") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (table $0 3 funcref) + (elem (i32.const 0) $null $gc/global-init/Ref~iterate $~lib/string/String~iterate) (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)) @@ -153,7 +154,12 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $gc/global-init/Ref~iterate (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + ) + (func $~lib/string/String~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $gc/_dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 72 i32.const 1 local.get $0 @@ -170,7 +176,7 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -208,7 +214,7 @@ call $gc/_dummy/__ref_register local.get $0 ) - (func $gc/global-init/Ref#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $gc/global-init/Ref#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -220,7 +226,7 @@ end local.get $0 ) - (func $start:gc/global-init (; 9 ;) (type $FUNCSIG$v) + (func $start:gc/global-init (; 11 ;) (type $FUNCSIG$v) global.get $~lib/memory/HEAP_BASE i32.const 7 i32.add @@ -310,7 +316,7 @@ unreachable end ) - (func $gc/global-init/main (; 10 ;) (type $FUNCSIG$v) + (func $gc/global-init/main (; 12 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -319,9 +325,9 @@ global.set $~lib/started end ) - (func $start (; 11 ;) (type $FUNCSIG$v) + (func $start (; 13 ;) (type $FUNCSIG$v) call $start:gc/global-init ) - (func $null (; 12 ;) (type $FUNCSIG$v) + (func $null (; 14 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/gc/itcm/trace.optimized.wat b/tests/compiler/gc/itcm/trace.optimized.wat index 2fc82d78..f7d36542 100644 --- a/tests/compiler/gc/itcm/trace.optimized.wat +++ b/tests/compiler/gc/itcm/trace.optimized.wat @@ -1,10 +1,10 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) @@ -36,34 +36,36 @@ (data (i32.const 600) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00M\00A\00R\00K") (data (i32.const 640) "\01\00\00\00,") (data (i32.const 656) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00i\00t\00e\00r\00a\00t\00e") - (data (i32.const 704) "\01\00\00\00*") - (data (i32.const 720) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h") - (data (i32.const 768) "\01\00\00\00$") - (data (i32.const 784) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P") - (data (i32.const 824) "\01\00\00\00(") - (data (i32.const 840) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e") - (data (i32.const 880) "\01\00\00\00,") - (data (i32.const 896) "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 944) "\01\00\00\00\"") - (data (i32.const 960) "#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)") - (data (i32.const 1000) "\01\00\00\00\1e") - (data (i32.const 1016) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 1048) "\01\00\00\00\1a") - (data (i32.const 1064) "i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 1096) "\01\00\00\00(") - (data (i32.const 1112) "#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)") - (data (i32.const 1152) "\01\00\00\00&") - (data (i32.const 1168) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1208) "\01\00\00\00\12") - (data (i32.const 1224) "i\00t\00c\00m\00.\00l\00i\00n\00k") - (data (i32.const 1248) "\01\00\00\00\1c") - (data (i32.const 1264) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f") - (data (i32.const 1296) "\01\00\00\00\1a") - (data (i32.const 1312) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1344) "\01\00\00\00\1e") - (data (i32.const 1360) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l") - (table $0 3 funcref) - (elem (i32.const 0) $null $~lib/collector/itcm/step~anonymous|0 $~lib/collector/itcm/step~anonymous|0) + (data (i32.const 704) "\01\00\00\00\12") + (data (i32.const 720) " \00 \00 \00 \00 \00i\00t\00e\00r") + (data (i32.const 744) "\01\00\00\00*") + (data (i32.const 760) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h") + (data (i32.const 808) "\01\00\00\00$") + (data (i32.const 824) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P") + (data (i32.const 864) "\01\00\00\00(") + (data (i32.const 880) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e") + (data (i32.const 920) "\01\00\00\00,") + (data (i32.const 936) "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 984) "\01\00\00\00\"") + (data (i32.const 1000) "#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)") + (data (i32.const 1040) "\01\00\00\00\1e") + (data (i32.const 1056) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 1088) "\01\00\00\00\1a") + (data (i32.const 1104) "i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r") + (data (i32.const 1136) "\01\00\00\00(") + (data (i32.const 1152) "#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)") + (data (i32.const 1192) "\01\00\00\00&") + (data (i32.const 1208) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data (i32.const 1248) "\01\00\00\00\12") + (data (i32.const 1264) "i\00t\00c\00m\00.\00l\00i\00n\00k") + (data (i32.const 1288) "\01\00\00\00\1c") + (data (i32.const 1304) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f") + (data (i32.const 1336) "\01\00\00\00\1a") + (data (i32.const 1352) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1384) "\01\00\00\00\1e") + (data (i32.const 1400) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l") + (table $0 10 funcref) + (elem (i32.const 0) $null $~lib/string/String~iterate $~lib/collector/itcm/step~anonymous|0 $~lib/collector/itcm/step~anonymous|1 $~lib/collector/itcm/step~anonymous|0 $gc/itcm/trace/Ref~iterate $~lib/string/String~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate) (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) @@ -71,8 +73,8 @@ (global $~lib/collector/itcm/iter (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 $~lib/argc (mut i32) (i32.const 0)) (global $gc/itcm/trace/ref (mut i32) (i32.const 0)) + (global $~lib/argc (mut i32) (i32.const 0)) (global $gc/itcm/trace/arr (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) @@ -80,7 +82,10 @@ (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) + (func $~lib/string/String~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -142,7 +147,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/collector/itcm/ManagedObjectList#clear (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObjectList#clear (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 208 i32.const 1 local.get $0 @@ -161,7 +166,7 @@ local.get $0 i32.store offset=12 ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#unlink (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 448 i32.const 3 @@ -198,7 +203,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) i32.const 528 i32.const 3 @@ -242,7 +247,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 400 i32.const 1 local.get $0 @@ -276,7 +281,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/step~anonymous|0 (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/step~anonymous|0 (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) global.get $~lib/collector/itcm/white local.get $0 i32.const 16 @@ -291,7 +296,31 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/collector/itcm/step (; 8 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/step~anonymous|1 (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 720 + i32.const 1 + local.get $0 + f64.convert_i32_u + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/env/trace + 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/collector/itcm/step (; 10 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) block $break|0 @@ -385,14 +414,14 @@ local.tee $0 if local.get $0 - i32.const 1 + i32.const 2 call_indirect (type $FUNCSIG$vi) end global.get $gc/itcm/trace/arr local.tee $0 if local.get $0 - i32.const 1 + i32.const 2 call_indirect (type $FUNCSIG$vi) end i32.const 2 @@ -438,14 +467,13 @@ i32.and i32.or i32.store offset=8 - i32.const 1 - global.set $~lib/argc local.get $1 + i32.const 3 local.get $0 i32.load - call_indirect (type $FUNCSIG$vi) + call_indirect (type $FUNCSIG$vii) else - i32.const 720 + i32.const 760 i32.const 0 f64.const 0 f64.const 0 @@ -457,14 +485,14 @@ local.tee $0 if local.get $0 - i32.const 2 + i32.const 4 call_indirect (type $FUNCSIG$vi) end global.get $gc/itcm/trace/arr local.tee $0 if local.get $0 - i32.const 2 + i32.const 4 call_indirect (type $FUNCSIG$vi) end global.get $~lib/collector/itcm/toSpace @@ -490,7 +518,7 @@ global.set $~lib/collector/itcm/iter i32.const 3 global.set $~lib/collector/itcm/state - i32.const 784 + i32.const 824 i32.const 0 f64.const 0 f64.const 0 @@ -507,7 +535,7 @@ global.get $~lib/collector/itcm/toSpace i32.ne if - i32.const 840 + i32.const 880 i32.const 1 local.get $0 i32.const 16 @@ -524,7 +552,7 @@ i32.and global.set $~lib/collector/itcm/iter else - i32.const 896 + i32.const 936 i32.const 0 f64.const 0 f64.const 0 @@ -547,7 +575,7 @@ end end ) - (func $~lib/collector/itcm/__ref_collect (; 9 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 11 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 72 i32.const 0 @@ -581,7 +609,7 @@ end end ) - (func $~lib/runtime/allocate (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -608,8 +636,21 @@ i32.const 16 i32.add ) - (func $~lib/collector/itcm/__ref_register (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 1064 + (func $gc/itcm/trace/Ref~iterate (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + local.get $1 + call $gc/itcm/trace/Ref~iterate + end + ) + (func $~lib/collector/itcm/__ref_register (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 1104 i32.const 1 local.get $0 f64.convert_i32_u @@ -634,14 +675,14 @@ local.get $0 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/register (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 1392 + i32.const 1432 i32.le_u if i32.const 0 - i32.const 1016 + i32.const 1056 i32.const 149 i32.const 4 call $~lib/env/abort @@ -656,7 +697,7 @@ i32.ne if i32.const 0 - i32.const 1016 + i32.const 1056 i32.const 151 i32.const 4 call $~lib/env/abort @@ -669,7 +710,7 @@ call $~lib/collector/itcm/__ref_register local.get $0 ) - (func $~lib/memory/memory.fill (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -880,9 +921,19 @@ end end ) - (func $~lib/collector/itcm/__ref_link (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/runtime/ArrayBufferView~iterate (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + local.get $1 + call_indirect (type $FUNCSIG$vi) + end + ) + (func $~lib/collector/itcm/__ref_link (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) - i32.const 1224 + i32.const 1264 i32.const 2 local.get $0 f64.convert_i32_u @@ -920,7 +971,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/runtime/ArrayBufferView#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/ArrayBufferView#constructor (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 4 call $~lib/runtime/allocate @@ -928,7 +979,7 @@ i32.const 4 call $~lib/memory/memory.fill local.get $1 - i32.const 3 + i32.const 6 call $~lib/runtime/register local.set $1 local.get $0 @@ -936,7 +987,7 @@ if i32.const 12 call $~lib/runtime/allocate - i32.const 4 + i32.const 7 call $~lib/runtime/register local.set $0 end @@ -969,7 +1020,49 @@ i32.store offset=8 local.get $0 ) - (func $~lib/util/memory/memcpy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array~iterate (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.tee $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + local.get $2 + i32.load + local.tee $0 + if + i32.const 1 + global.set $~lib/argc + local.get $0 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + local.get $1 + call $gc/itcm/trace/Ref~iterate + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $continue|0 + end + end + ) + (func $~lib/util/memory/memcpy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1816,7 +1909,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) block $~lib/util/memory/memmove|inlined.0 @@ -2010,7 +2103,7 @@ end end ) - (func $~lib/runtime/reallocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/reallocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2034,7 +2127,7 @@ i32.shl i32.const 0 local.get $0 - i32.const 1392 + i32.const 1432 i32.gt_u select i32.const 32 @@ -2072,11 +2165,11 @@ i32.eq if local.get $0 - i32.const 1392 + i32.const 1432 i32.le_u if i32.const 0 - i32.const 1016 + i32.const 1056 i32.const 113 i32.const 8 call $~lib/env/abort @@ -2105,7 +2198,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureCapacity (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/array/ensureCapacity (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) i32.const 1 @@ -2145,7 +2238,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#__unchecked_set (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__unchecked_set (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=4 @@ -2165,7 +2258,7 @@ end end ) - (func $~lib/array/Array#__set (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__set (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -2184,14 +2277,14 @@ i32.store offset=12 end ) - (func $start:gc/itcm/trace (; 22 ;) (type $FUNCSIG$v) + (func $start:gc/itcm/trace (; 27 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 1392 + i32.const 1432 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset call $~lib/collector/itcm/__ref_collect - i32.const 960 + i32.const 1000 i32.const 0 f64.const 0 f64.const 0 @@ -2199,12 +2292,16 @@ f64.const 0 f64.const 0 call $~lib/env/trace - i32.const 0 + i32.const 4 call $~lib/runtime/allocate - i32.const 2 + i32.const 5 call $~lib/runtime/register + local.tee $0 + i32.const 0 + i32.store + local.get $0 global.set $gc/itcm/trace/ref - i32.const 1112 + i32.const 1152 i32.const 0 f64.const 0 f64.const 0 @@ -2214,7 +2311,7 @@ call $~lib/env/trace i32.const 16 call $~lib/runtime/allocate - i32.const 5 + i32.const 8 call $~lib/runtime/register call $~lib/runtime/ArrayBufferView#constructor local.tee $0 @@ -2225,7 +2322,7 @@ i32.store offset=12 local.get $0 global.set $gc/itcm/trace/arr - i32.const 1264 + i32.const 1304 i32.const 0 f64.const 0 f64.const 0 @@ -2236,7 +2333,7 @@ global.get $gc/itcm/trace/arr global.get $gc/itcm/trace/ref call $~lib/array/Array#__set - i32.const 1360 + i32.const 1400 i32.const 0 f64.const 0 f64.const 0 @@ -2247,8 +2344,9 @@ global.get $gc/itcm/trace/arr i32.const 0 call $~lib/array/Array#__set + call $~lib/collector/itcm/__ref_collect ) - (func $gc/itcm/trace/main (; 23 ;) (type $FUNCSIG$v) + (func $gc/itcm/trace/main (; 28 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -2257,7 +2355,7 @@ global.set $~lib/started end ) - (func $null (; 24 ;) (type $FUNCSIG$v) + (func $null (; 29 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/gc/itcm/trace.ts b/tests/compiler/gc/itcm/trace.ts index 7e784f75..8c0e2699 100644 --- a/tests/compiler/gc/itcm/trace.ts +++ b/tests/compiler/gc/itcm/trace.ts @@ -10,7 +10,9 @@ assert(gc.implemented); gc.collect(); // trigger init -class Ref {} +class Ref { + inner: Ref; +} trace("# ref = new Ref()"); var ref = new Ref(); @@ -21,6 +23,6 @@ arr[0] = ref; trace("# arr[0] = null"); arr[0] = null; -// TODO... +gc.collect(); // FIXME: should do nothing yet, but collects arr.data ? @start export function main(): void {} diff --git a/tests/compiler/gc/itcm/trace.untouched.wat b/tests/compiler/gc/itcm/trace.untouched.wat index eb48feb6..b33feda9 100644 --- a/tests/compiler/gc/itcm/trace.untouched.wat +++ b/tests/compiler/gc/itcm/trace.untouched.wat @@ -1,10 +1,10 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) @@ -24,21 +24,22 @@ (data (i32.const 512) "\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 584) "\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 640) "\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 \00i\00t\00e\00r\00a\00t\00e\00") - (data (i32.const 704) "\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 768) "\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 824) "\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 880) "\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 944) "\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 1000) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 1048) "\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 1096) "\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 1152) "\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 1208) "\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 1248) "\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 1296) "\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 1344) "\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") - (table $0 3 funcref) - (elem (i32.const 0) $null $~lib/collector/itcm/step~anonymous|0 $~lib/collector/itcm/step~anonymous|1) + (data (i32.const 704) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00i\00t\00e\00r\00") + (data (i32.const 744) "\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 808) "\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 864) "\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 920) "\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 984) "\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 1040) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 1088) "\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 1136) "\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 1192) "\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 1248) "\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 1288) "\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 1336) "\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 1384) "\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") + (table $0 10 funcref) + (elem (i32.const 0) $null $~lib/string/String~iterate $~lib/collector/itcm/step~anonymous|0 $~lib/collector/itcm/step~anonymous|1 $~lib/collector/itcm/step~anonymous|2 $gc/itcm/trace/Ref~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate) (global $gc/itcm/trace/GC_TRACE i32 (i32.const 1)) (global $~lib/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) @@ -50,19 +51,22 @@ (global $~lib/gc/gc.implemented i32 (i32.const 1)) (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 $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $gc/itcm/trace/ref (mut i32) (i32.const 0)) (global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) + (global $~lib/argc (mut i32) (i32.const 0)) (global $gc/itcm/trace/arr (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 1392)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 1432)) (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) + (func $~lib/string/String~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -141,12 +145,12 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/memory/memory.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/collector/itcm/ManagedObjectList#clear (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObjectList#clear (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 208 i32.const 1 @@ -170,13 +174,13 @@ local.get $0 i32.store offset=12 ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:color (; 6 ;) (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 (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:next (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 @@ -184,7 +188,7 @@ i32.xor i32.and ) - (func $~lib/collector/itcm/ManagedObject#set:next (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObject#set:next (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 local.get $0 @@ -194,7 +198,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#unlink (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -240,7 +244,7 @@ local.get $1 call $~lib/collector/itcm/ManagedObject#set:next ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -288,7 +292,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 400 i32.const 1 @@ -329,7 +333,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/step~anonymous|0 (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/step~anonymous|0 (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) block $~lib/collector/itcm/refToObj|inlined.0 (result i32) @@ -349,7 +353,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/collector/itcm/ManagedObject#set:color (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObject#set:color (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $0 i32.load offset=8 @@ -361,13 +365,18 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObject#get:hookFn (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load - ) (func $~lib/collector/itcm/step~anonymous|1 (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) + i32.const 720 + i32.const 1 + local.get $0 + f64.convert_i32_u + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/env/trace block $~lib/collector/itcm/refToObj|inlined.1 (result i32) local.get $0 local.set $1 @@ -385,14 +394,34 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/allocator/arena/__mem_free (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/step~anonymous|2 (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + block $~lib/collector/itcm/refToObj|inlined.2 (result i32) + local.get $0 + local.set $1 + local.get $1 + global.get $~lib/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/allocator/arena/__mem_free (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/memory/memory.free (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/memory/memory.free (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/allocator/arena/__mem_free ) - (func $~lib/collector/itcm/step (; 17 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/step (; 18 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) block $break|0 @@ -504,7 +533,7 @@ f64.const 0 f64.const 0 call $~lib/env/trace - i32.const 1 + i32.const 2 call $~iterateRoots i32.const 2 global.set $~lib/collector/itcm/state @@ -550,8 +579,6 @@ global.get $~lib/collector/itcm/white i32.eqz call $~lib/collector/itcm/ManagedObject#set:color - i32.const 1 - global.set $~lib/argc block $~lib/collector/itcm/objToRef|inlined.11 (result i32) local.get $0 local.set $1 @@ -559,11 +586,12 @@ global.get $~lib/runtime/HEADER_SIZE i32.add end + i32.const 3 local.get $0 - call $~lib/collector/itcm/ManagedObject#get:hookFn - call_indirect (type $FUNCSIG$vi) + i32.load + call_indirect (type $FUNCSIG$vii) else - i32.const 720 + i32.const 760 i32.const 0 f64.const 0 f64.const 0 @@ -571,7 +599,7 @@ f64.const 0 f64.const 0 call $~lib/env/trace - i32.const 2 + i32.const 4 call $~iterateRoots global.get $~lib/collector/itcm/iter call $~lib/collector/itcm/ManagedObject#get:next @@ -594,7 +622,7 @@ global.set $~lib/collector/itcm/iter i32.const 3 global.set $~lib/collector/itcm/state - i32.const 784 + i32.const 824 i32.const 0 f64.const 0 f64.const 0 @@ -616,7 +644,7 @@ global.get $~lib/collector/itcm/toSpace i32.ne if - i32.const 840 + i32.const 880 i32.const 1 block $~lib/collector/itcm/objToRef|inlined.12 (result i32) local.get $0 @@ -642,7 +670,7 @@ call $~lib/memory/memory.free end else - i32.const 896 + i32.const 936 i32.const 0 f64.const 0 f64.const 0 @@ -669,7 +697,7 @@ unreachable end ) - (func $~lib/collector/itcm/__ref_collect (; 18 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 19 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 72 i32.const 0 @@ -709,10 +737,10 @@ end end ) - (func $~lib/gc/gc.collect (; 19 ;) (type $FUNCSIG$v) + (func $~lib/gc/gc.collect (; 20 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $~lib/runtime/ADJUSTOBLOCK (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/ADJUSTOBLOCK (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -724,7 +752,7 @@ i32.sub i32.shl ) - (func $~lib/runtime/allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/runtime/ADJUSTOBLOCK @@ -746,10 +774,24 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $~lib/collector/itcm/__ref_register (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $gc/itcm/trace/Ref~iterate (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $2 + local.get $1 + call $gc/itcm/trace/Ref~iterate + end + ) + (func $~lib/collector/itcm/__ref_register (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) - i32.const 1064 + i32.const 1104 i32.const 1 local.get $0 f64.convert_i32_u @@ -759,7 +801,7 @@ f64.const 0 call $~lib/env/trace call $~lib/collector/itcm/step - block $~lib/collector/itcm/refToObj|inlined.2 (result i32) + block $~lib/collector/itcm/refToObj|inlined.3 (result i32) local.get $0 local.set $1 local.get $1 @@ -774,7 +816,7 @@ local.get $2 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/register (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -782,7 +824,7 @@ i32.eqz if i32.const 0 - i32.const 1016 + i32.const 1056 i32.const 149 i32.const 4 call $~lib/env/abort @@ -799,7 +841,7 @@ i32.eqz if i32.const 0 - i32.const 1016 + i32.const 1056 i32.const 151 i32.const 4 call $~lib/env/abort @@ -812,19 +854,22 @@ call $~lib/collector/itcm/__ref_register local.get $0 ) - (func $gc/itcm/trace/Ref#constructor (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $gc/itcm/trace/Ref#constructor (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if - i32.const 0 + i32.const 4 call $~lib/runtime/allocate - i32.const 2 + i32.const 5 call $~lib/runtime/register local.set $0 end local.get $0 + i32.const 0 + i32.store + local.get $0 ) - (func $~lib/memory/memory.fill (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1081,7 +1126,10 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer~iterate (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -1089,7 +1137,7 @@ i32.gt_u if i32.const 0 - i32.const 1168 + i32.const 1208 i32.const 25 i32.const 43 call $~lib/env/abort @@ -1110,14 +1158,28 @@ local.get $3 local.set $2 local.get $2 - i32.const 3 + i32.const 6 call $~lib/runtime/register end ) - (func $~lib/collector/itcm/__ref_link (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/runtime/ArrayBufferView~iterate (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $2 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer~iterate + end + ) + (func $~lib/collector/itcm/__ref_link (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - i32.const 1224 + i32.const 1264 i32.const 2 local.get $0 f64.convert_i32_u @@ -1127,7 +1189,7 @@ f64.const 0 f64.const 0 call $~lib/env/trace - block $~lib/collector/itcm/refToObj|inlined.3 (result i32) + block $~lib/collector/itcm/refToObj|inlined.4 (result i32) local.get $1 local.set $2 local.get $2 @@ -1142,7 +1204,7 @@ i32.eq local.tee $2 if (result i32) - block $~lib/collector/itcm/refToObj|inlined.5 (result i32) + block $~lib/collector/itcm/refToObj|inlined.6 (result i32) local.get $0 local.set $2 local.get $2 @@ -1160,7 +1222,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/runtime/ArrayBufferView#constructor (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/ArrayBufferView#constructor (; 32 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1172,7 +1234,7 @@ i32.gt_u if i32.const 0 - i32.const 1016 + i32.const 1056 i32.const 232 i32.const 57 call $~lib/env/abort @@ -1191,7 +1253,7 @@ if i32.const 12 call $~lib/runtime/allocate - i32.const 4 + i32.const 7 call $~lib/runtime/register local.set $0 end @@ -1231,14 +1293,63 @@ i32.store offset=8 local.get $0 ) - (func $~lib/array/Array#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array~iterate (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + local.get $4 + if + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $gc/itcm/trace/Ref~iterate + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/array/Array#constructor (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 else i32.const 16 call $~lib/runtime/allocate - i32.const 5 + i32.const 8 call $~lib/runtime/register end local.get $1 @@ -1253,7 +1364,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/util/memory/memcpy (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2454,7 +2565,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 36 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2685,7 +2796,7 @@ end end ) - (func $~lib/runtime/reallocate (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/reallocate (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2755,7 +2866,7 @@ i32.eqz if i32.const 0 - i32.const 1016 + i32.const 1056 i32.const 113 i32.const 8 call $~lib/env/abort @@ -2789,7 +2900,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureCapacity (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureCapacity (; 38 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2810,7 +2921,7 @@ i32.gt_u if i32.const 0 - i32.const 1312 + i32.const 1352 i32.const 13 i32.const 64 call $~lib/env/abort @@ -2864,7 +2975,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#__unchecked_set (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__unchecked_set (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $0 @@ -2894,7 +3005,7 @@ end end ) - (func $~lib/array/Array#__set (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -2920,7 +3031,7 @@ i32.store offset=12 end ) - (func $start:gc/itcm/trace (; 36 ;) (type $FUNCSIG$v) + (func $start:gc/itcm/trace (; 41 ;) (type $FUNCSIG$v) global.get $~lib/runtime/HEADER_SIZE i32.const 16 i32.eq @@ -2954,7 +3065,7 @@ global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset call $~lib/gc/gc.collect - i32.const 960 + i32.const 1000 i32.const 0 f64.const 0 f64.const 0 @@ -2965,7 +3076,7 @@ i32.const 0 call $gc/itcm/trace/Ref#constructor global.set $gc/itcm/trace/ref - i32.const 1112 + i32.const 1152 i32.const 0 f64.const 0 f64.const 0 @@ -2977,7 +3088,7 @@ i32.const 1 call $~lib/array/Array#constructor global.set $gc/itcm/trace/arr - i32.const 1264 + i32.const 1304 i32.const 0 f64.const 0 f64.const 0 @@ -2989,7 +3100,7 @@ i32.const 0 global.get $gc/itcm/trace/ref call $~lib/array/Array#__set - i32.const 1360 + i32.const 1400 i32.const 0 f64.const 0 f64.const 0 @@ -3001,8 +3112,9 @@ i32.const 0 i32.const 0 call $~lib/array/Array#__set + call $~lib/gc/gc.collect ) - (func $gc/itcm/trace/main (; 37 ;) (type $FUNCSIG$v) + (func $gc/itcm/trace/main (; 42 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -3011,12 +3123,12 @@ global.set $~lib/started end ) - (func $start (; 38 ;) (type $FUNCSIG$v) + (func $start (; 43 ;) (type $FUNCSIG$v) call $start:gc/itcm/trace ) - (func $null (; 39 ;) (type $FUNCSIG$v) + (func $null (; 44 ;) (type $FUNCSIG$v) ) - (func $~iterateRoots (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~iterateRoots (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) global.get $gc/itcm/trace/ref local.tee $1 diff --git a/tests/compiler/std/array-literal.optimized.wat b/tests/compiler/std/array-literal.optimized.wat index b61fb147..4a741d22 100644 --- a/tests/compiler/std/array-literal.optimized.wat +++ b/tests/compiler/std/array-literal.optimized.wat @@ -1,4 +1,6 @@ (module + (type $FUNCSIG$vii (func (param i32 i32))) + (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$iii (func (param i32 i32) (result i32))) @@ -10,21 +12,22 @@ (data (i32.const 25) "\01\02") (data (i32.const 32) "\02\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) "\04\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) "\04\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 188) "\01\00\00\00\02") - (data (i32.const 200) "\04\00\00\00\10") + (data (i32.const 200) "\05\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 248) "\05\00\00\00\10") (data (i32.const 264) "\f8\00\00\00\f8") - (data (i32.const 280) "\03\00\00\00\1e") + (data (i32.const 280) "\04\00\00\00\1e") (data (i32.const 296) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (table $0 13 funcref) + (elem (i32.const 0) $null $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate) + (global $~lib/argc (mut i32) (i32.const 0)) (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)) @@ -38,7 +41,18 @@ (export "table" (table $0)) (export ".capabilities" (global $~lib/capabilities)) (start $start) - (func $~lib/array/Array#__get (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer~iterate (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/array/Array~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#__get (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -57,7 +71,7 @@ i32.add i32.load8_s ) - (func $~lib/array/Array#__get (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -80,7 +94,7 @@ i32.add i32.load ) - (func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/arena/__mem_allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -142,7 +156,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -169,7 +183,7 @@ i32.const 16 i32.add ) - (func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.const 328 @@ -202,7 +216,7 @@ i32.store local.get $0 ) - (func $~lib/runtime/makeArray (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/makeArray (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) i32.const 16 @@ -237,19 +251,56 @@ i32.store offset=12 local.get $0 ) - (func $std/array-literal/Ref#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) - i32.const 0 - call $~lib/runtime/allocate - i32.const 5 - call $~lib/runtime/register - ) - (func $std/array-literal/RefWithCtor#constructor (; 8 ;) (type $FUNCSIG$i) (result i32) + (func $std/array-literal/Ref#constructor (; 9 ;) (type $FUNCSIG$i) (result i32) i32.const 0 call $~lib/runtime/allocate i32.const 7 call $~lib/runtime/register ) - (func $start:std/array-literal (; 9 ;) (type $FUNCSIG$v) + (func $~lib/array/Array~iterate (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.tee $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $0 + loop $continue|0 + local.get $2 + local.get $0 + i32.lt_u + if + local.get $2 + i32.load + local.set $3 + i32.const 1 + global.set $~lib/argc + local.get $3 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $continue|0 + end + end + ) + (func $std/array-literal/RefWithCtor#constructor (; 11 ;) (type $FUNCSIG$i) (result i32) + i32.const 0 + call $~lib/runtime/allocate + i32.const 10 + call $~lib/runtime/register + ) + (func $start:std/array-literal (; 12 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -443,7 +494,7 @@ end i32.const 0 global.set $std/array-literal/i - i32.const 4 + i32.const 5 i32.const 2 call $~lib/runtime/makeArray local.tee $2 @@ -519,7 +570,7 @@ call $~lib/env/abort unreachable end - i32.const 6 + i32.const 8 i32.const 2 call $~lib/runtime/makeArray local.tee $2 @@ -547,7 +598,7 @@ call $~lib/env/abort unreachable end - i32.const 8 + i32.const 11 i32.const 2 call $~lib/runtime/makeArray local.tee $2 @@ -576,10 +627,10 @@ unreachable end ) - (func $start (; 10 ;) (type $FUNCSIG$v) + (func $start (; 13 ;) (type $FUNCSIG$v) call $start:std/array-literal ) - (func $null (; 11 ;) (type $FUNCSIG$v) + (func $null (; 14 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/array-literal.untouched.wat b/tests/compiler/std/array-literal.untouched.wat index 377d9d77..6a93778b 100644 --- a/tests/compiler/std/array-literal.untouched.wat +++ b/tests/compiler/std/array-literal.untouched.wat @@ -1,28 +1,29 @@ (module + (type $FUNCSIG$vii (func (param i32 i32))) + (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$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$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))) (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 64) "\04\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) "\04\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 200) "\05\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\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (table $0 1 funcref) - (elem (i32.const 0) $null) - (global $std/array-literal/staticArrayI8 i32 (i32.const 48)) + (data (i32.const 248) "\05\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) "\04\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (table $0 13 funcref) + (elem (i32.const 0) $null $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/string/String~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $std/array-literal/Ref~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $std/array-literal/RefWithCtor~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate) (global $~lib/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) + (global $~lib/argc (mut i32) (i32.const 0)) + (global $std/array-literal/staticArrayI8 i32 (i32.const 48)) (global $std/array-literal/staticArrayI32 i32 (i32.const 216)) (global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 264)) (global $std/array-literal/i (mut i32) (i32.const 0)) @@ -39,11 +40,25 @@ (export "table" (table $0)) (export ".capabilities" (global $~lib/capabilities)) (start $start) - (func $~lib/array/Array#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer~iterate (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/array/Array~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#get:length (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/array/Array#__unchecked_get (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -52,7 +67,7 @@ i32.add i32.load8_s ) - (func $~lib/array/Array#__get (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -71,11 +86,19 @@ local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/array/Array#get:length (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#get:length (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -84,7 +107,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -103,7 +126,7 @@ local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/runtime/ADJUSTOBLOCK (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/ADJUSTOBLOCK (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -115,7 +138,7 @@ i32.sub i32.shl ) - (func $~lib/allocator/arena/__mem_allocate (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/arena/__mem_allocate (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -194,12 +217,12 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/memory/memory.allocate (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/allocate (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/runtime/ADJUSTOBLOCK @@ -221,10 +244,10 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $~lib/collector/dummy/__ref_register (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/dummy/__ref_register (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/register (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -262,13 +285,13 @@ call $~lib/collector/dummy/__ref_register local.get $0 ) - (func $~lib/collector/dummy/__ref_link (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/dummy/__ref_link (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/collector/dummy/__ref_unlink (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/dummy/__ref_unlink (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/util/memory/memcpy (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1469,7 +1492,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1700,7 +1723,7 @@ end end ) - (func $~lib/runtime/makeArray (; 17 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/makeArray (; 21 ;) (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) @@ -1764,23 +1787,9 @@ end local.get $4 ) - (func $std/array-literal/Ref#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.eqz - if - i32.const 0 - call $~lib/runtime/allocate - i32.const 5 - call $~lib/runtime/register - local.set $0 - end - local.get $0 + (func $std/array-literal/Ref~iterate (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) ) - (func $~lib/array/Array#get:length (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $std/array-literal/RefWithCtor#constructor (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array-literal/Ref#constructor (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -1792,11 +1801,122 @@ end local.get $0 ) - (func $~lib/array/Array#get:length (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array~iterate (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $std/array-literal/Ref~iterate + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/array/Array#get:length (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $start:std/array-literal (; 22 ;) (type $FUNCSIG$v) + (func $std/array-literal/RefWithCtor~iterate (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $std/array-literal/RefWithCtor#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + call $~lib/runtime/allocate + i32.const 10 + call $~lib/runtime/register + local.set $0 + end + local.get $0 + ) + (func $~lib/array/Array~iterate (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $std/array-literal/RefWithCtor~iterate + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/array/Array#get:length (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $start:std/array-literal (; 30 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -2028,7 +2148,7 @@ global.set $std/array-literal/i block (result i32) i32.const 3 - i32.const 4 + i32.const 5 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -2119,7 +2239,7 @@ end block (result i32) i32.const 3 - i32.const 6 + i32.const 8 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -2178,7 +2298,7 @@ end block (result i32) i32.const 3 - i32.const 8 + i32.const 11 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -2236,9 +2356,9 @@ unreachable end ) - (func $start (; 23 ;) (type $FUNCSIG$v) + (func $start (; 31 ;) (type $FUNCSIG$v) call $start:std/array-literal ) - (func $null (; 24 ;) (type $FUNCSIG$v) + (func $null (; 32 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 5ce64865..02b007bf 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -2,10 +2,10 @@ (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$fiii (func (param i32 i32 i32) (result f32))) (type $FUNCSIG$fii (func (param i32 i32) (result f32))) @@ -36,7 +36,7 @@ (data (i32.const 152) "s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 176) "\02\00\00\00\05") (data (i32.const 192) "\01\02\03\04\05") - (data (i32.const 200) "\07\00\00\00\10") + (data (i32.const 200) "\08\00\00\00\10") (data (i32.const 216) "\c0\00\00\00\c0\00\00\00\05\00\00\00\05") (data (i32.const 232) "\02\00\00\00\05") (data (i32.const 248) "\01\01\01\04\05") @@ -51,7 +51,7 @@ (data (i32.const 392) "\01\01\00\02\02") (data (i32.const 400) "\02\00\00\00\14") (data (i32.const 416) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 440) "\08\00\00\00\10") + (data (i32.const 440) "\n\00\00\00\10") (data (i32.const 456) "\a0\01\00\00\a0\01\00\00\14\00\00\00\05") (data (i32.const 472) "\02\00\00\00\14") (data (i32.const 488) "\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") @@ -194,14 +194,14 @@ (data (i32.const 3032) "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 3208) "\02\00\00\00 ") (data (i32.const 3226) "\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 3256) "\t\00\00\00\10") + (data (i32.const 3256) "\"\00\00\00\10") (data (i32.const 3272) "\98\0c\00\00\98\0c\00\00 \00\00\00\08") (data (i32.const 3288) "\02\00\00\00 ") (data (i32.const 3306) "\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 3336) "\02\00\00\00@") (data (i32.const 3358) "\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 3398) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 3416) "\n\00\00\00\10") + (data (i32.const 3416) ":\00\00\00\10") (data (i32.const 3432) "\18\0d\00\00\18\0d\00\00@\00\00\00\08") (data (i32.const 3448) "\02\00\00\00@") (data (i32.const 3470) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") @@ -214,7 +214,7 @@ (data (i32.const 3616) "\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") (data (i32.const 3640) "\02\00\00\00\14") (data (i32.const 3656) "\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 3680) "\08\00\00\00\10") + (data (i32.const 3680) "\n\00\00\00\10") (data (i32.const 3696) "H\0e\00\00H\0e\00\00\14\00\00\00\05") (data (i32.const 3712) "\02\00\00\00\14") (data (i32.const 3732) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") @@ -252,11 +252,11 @@ (data (i32.const 4184) "\01") (data (i32.const 4200) "\02\00\00\00\1c") (data (i32.const 4216) "\08\10\00\00 \10\00\00\08\10\00\008\10\00\00P\10\00\00h\10") - (data (i32.const 4248) "\0e\00\00\00\10") + (data (i32.const 4248) "K\00\00\00\10") (data (i32.const 4264) "x\10\00\00x\10\00\00\1c\00\00\00\07") (data (i32.const 4280) "\02\00\00\00\1c") (data (i32.const 4296) "h\10\00\00\08\10\00\00\08\10\00\008\10\00\00 \10\00\00P\10") - (data (i32.const 4328) "\0e\00\00\00\10") + (data (i32.const 4328) "K\00\00\00\10") (data (i32.const 4344) "\c8\10\00\00\c8\10\00\00\1c\00\00\00\07") (data (i32.const 4360) "\01\00\00\00\1c") (data (i32.const 4376) "~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") @@ -280,7 +280,7 @@ (data (i32.const 4648) "0") (data (i32.const 4656) "\02\00\00\00\90\01") (data (i32.const 4672) "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 5072) "\08\00\00\00\10") + (data (i32.const 5072) "\n\00\00\00\10") (data (i32.const 5088) "@\12\00\00@\12\00\00\90\01\00\00d") (data (i32.const 5104) "\02\00\00\00\0c") (data (i32.const 5120) "\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") @@ -314,15 +314,15 @@ (data (i32.const 5584) "I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 5600) "\02\00\00\00\b8\02") (data (i32.const 5616) "\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) + (table $0 102 funcref) + (elem (i32.const 0) $null $~lib/string/String~iterate $~lib/string/String~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/string/String~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $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 $~lib/array/Array~iterate $~lib/array/Array~iterate $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/array/Array~iterate $~lib/array/Array~iterate $~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 $~lib/array/Array<~lib/array/Array>~iterate $~lib/array/Array<~lib/array/Array>~iterate $start:std/array~anonymous|47 $~lib/array/Array>~iterate $~lib/string/String~iterate $~lib/array/Array>~iterate $start:std/array~anonymous|48 $~lib/array/Array<~lib/string/String | null>~iterate $~lib/array/Array<~lib/string/String | null>~iterate $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 $~lib/array/Array>~iterate $~lib/array/Array>~iterate $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/string/String~iterate $~lib/array/Array<~lib/string/String | null>~iterate $~lib/array/Array<~lib/string/String | null>~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array<~lib/array/Array>~iterate $~lib/array/Array<~lib/array/Array>~iterate $~lib/array/Array<~lib/array/Array>~iterate $~lib/array/Array<~lib/array/Array>~iterate $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~iterate $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~iterate) (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 $std/array/arr (mut i32) (i32.const 0)) (global $std/array/Null (mut i32) (i32.const 0)) (global $std/array/arr8 (mut i32) (i32.const 216)) @@ -417,7 +418,6 @@ (global $std/array/cwArr (mut i32) (i32.const 0)) (global $std/array/includes (mut i32) (i32.const 0)) (global $std/array/sarr (mut i32) (i32.const 1752)) - (global $~lib/argc (mut i32) (i32.const 0)) (global $std/array/every (mut i32) (i32.const 0)) (global $std/array/some (mut i32) (i32.const 0)) (global $std/array/newArr (mut i32) (i32.const 0)) @@ -465,7 +465,10 @@ (export "table" (table $0)) (export "main" (func $std/array/main)) (export ".capabilities" (global $~lib/capabilities)) - (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -527,7 +530,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -554,7 +557,7 @@ i32.const 16 i32.add ) - (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i64) block $~lib/util/memory/memset|inlined.0 @@ -779,7 +782,7 @@ end end ) - (func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.const 8060 @@ -812,7 +815,7 @@ i32.store local.get $0 ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 1073741808 @@ -835,7 +838,17 @@ i32.const 2 call $~lib/runtime/register ) - (func $~lib/runtime/ArrayBufferView#constructor (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/ArrayBufferView~iterate (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + local.get $1 + call_indirect (type $FUNCSIG$vi) + end + ) + (func $~lib/runtime/ArrayBufferView#constructor (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1073741808 local.get $2 @@ -887,7 +900,15 @@ i32.store offset=8 local.get $0 ) - (func $~lib/array/Array#constructor (; 8 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array~iterate (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#constructor (; 11 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 call $~lib/runtime/allocate @@ -904,7 +925,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array#fill (; 9 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/array/Array#fill (; 12 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) local.get $0 @@ -969,7 +990,7 @@ call $~lib/memory/memory.fill end ) - (func $~lib/util/memory/memcpy (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1816,7 +1837,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) block $~lib/util/memory/memmove|inlined.0 @@ -2010,7 +2031,7 @@ end end ) - (func $~lib/runtime/makeArray (; 12 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/makeArray (; 15 ;) (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 @@ -2051,7 +2072,7 @@ end local.get $1 ) - (func $~lib/array/Array#__get (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2070,7 +2091,7 @@ i32.add i32.load8_u ) - (func $std/array/isArraysEqual (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2117,7 +2138,7 @@ end i32.const 1 ) - (func $~lib/array/Array#fill (; 15 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/array/Array#fill (; 18 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i32.load offset=4 @@ -2189,7 +2210,7 @@ end end ) - (func $~lib/array/Array#__get (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2212,7 +2233,7 @@ i32.add i32.load ) - (func $std/array/isArraysEqual (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -2262,7 +2283,7 @@ end i32.const 1 ) - (func $~lib/runtime/reallocate (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/reallocate (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2366,7 +2387,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureCapacity (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureCapacity (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -2415,7 +2436,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#push (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#push (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2438,7 +2459,7 @@ local.get $3 i32.store offset=12 ) - (func $~lib/array/Array#pop (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#pop (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2470,7 +2491,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array#concat (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2510,7 +2531,7 @@ call $~lib/memory/memory.copy local.get $4 ) - (func $~lib/array/Array#copyWithin (; 23 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#copyWithin (; 26 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) local.get $0 @@ -2675,7 +2696,7 @@ end local.get $0 ) - (func $~lib/array/Array#unshift (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#unshift (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2704,7 +2725,7 @@ local.get $2 i32.store offset=12 ) - (func $~lib/array/Array#shift (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#shift (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2749,7 +2770,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array#reverse (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/array/Array#reverse (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -2796,7 +2817,7 @@ end end ) - (func $~lib/array/Array#indexOf (; 27 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#indexOf (; 30 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -2860,7 +2881,7 @@ end i32.const -1 ) - (func $~lib/array/Array#includes (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#includes (; 31 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $1 local.get $2 @@ -2868,7 +2889,7 @@ i32.const 0 i32.ge_s ) - (func $~lib/array/Array#splice (; 29 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#splice (; 32 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2960,7 +2981,7 @@ i32.store offset=12 local.get $4 ) - (func $~lib/array/Array#__set (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -2989,11 +3010,11 @@ i32.store offset=12 end ) - (func $start:std/array~anonymous|0 (; 31 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|0 (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.eqz ) - (func $~lib/array/Array#findIndex (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3041,17 +3062,17 @@ end i32.const -1 ) - (func $start:std/array~anonymous|1 (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|1 (; 36 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 1 i32.eq ) - (func $start:std/array~anonymous|2 (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|2 (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 100 i32.eq ) - (func $start:std/array~anonymous|3 (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|3 (; 38 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3059,7 +3080,7 @@ i32.const 100 i32.eq ) - (func $start:std/array~anonymous|5 (; 36 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|5 (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3067,12 +3088,12 @@ i32.const 100 i32.eq ) - (func $start:std/array~anonymous|6 (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|6 (; 40 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.ge_s ) - (func $~lib/array/Array#every (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#every (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3120,12 +3141,12 @@ end i32.const 1 ) - (func $start:std/array~anonymous|7 (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|7 (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.le_s ) - (func $start:std/array~anonymous|8 (; 40 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|8 (; 43 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3133,12 +3154,12 @@ i32.const 10 i32.lt_s ) - (func $start:std/array~anonymous|9 (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|9 (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 10 i32.lt_s ) - (func $start:std/array~anonymous|10 (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|10 (; 45 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3146,12 +3167,12 @@ i32.const 3 i32.lt_s ) - (func $start:std/array~anonymous|11 (; 43 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|11 (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 3 i32.ge_s ) - (func $~lib/array/Array#some (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#some (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3199,12 +3220,12 @@ end i32.const 0 ) - (func $start:std/array~anonymous|12 (; 45 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|12 (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const -1 i32.le_s ) - (func $start:std/array~anonymous|13 (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|13 (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3212,12 +3233,12 @@ i32.const 10 i32.gt_s ) - (func $start:std/array~anonymous|14 (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|14 (; 50 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 10 i32.gt_s ) - (func $start:std/array~anonymous|15 (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|15 (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3225,13 +3246,13 @@ i32.const 3 i32.gt_s ) - (func $start:std/array~anonymous|16 (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|16 (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) global.get $std/array/i local.get $0 i32.add global.set $std/array/i ) - (func $~lib/array/Array#forEach (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#forEach (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3274,7 +3295,7 @@ unreachable end ) - (func $start:std/array~anonymous|17 (; 51 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|17 (; 54 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3283,7 +3304,7 @@ i32.add global.set $std/array/i ) - (func $start:std/array~anonymous|19 (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|19 (; 55 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/array/Array#pop drop @@ -3292,7 +3313,7 @@ i32.add global.set $std/array/i ) - (func $start:std/array~anonymous|20 (; 53 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|20 (; 56 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $1 i32.eqz @@ -3389,11 +3410,11 @@ end end ) - (func $start:std/array~anonymous|21 (; 54 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $start:std/array~anonymous|21 (; 57 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) local.get $0 f32.convert_i32_s ) - (func $~lib/array/Array#map (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#map (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3403,7 +3424,7 @@ local.get $0 i32.load offset=12 local.tee $3 - i32.const 9 + i32.const 34 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -3439,7 +3460,7 @@ local.get $6 local.get $1 local.get $0 - i32.const 22 + i32.const 33 call_indirect (type $FUNCSIG$fiii) f32.store local.get $1 @@ -3451,7 +3472,7 @@ end local.get $4 ) - (func $~lib/array/Array#__get (; 56 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__get (; 59 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -3474,7 +3495,7 @@ i32.add f32.load ) - (func $start:std/array~anonymous|22 (; 57 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|22 (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3484,7 +3505,7 @@ global.set $std/array/i local.get $0 ) - (func $~lib/array/Array#map (; 58 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#map (; 61 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3539,14 +3560,14 @@ end end ) - (func $start:std/array~anonymous|23 (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|23 (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $std/array/i local.get $0 i32.add global.set $std/array/i local.get $0 ) - (func $start:std/array~anonymous|24 (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|24 (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3556,12 +3577,12 @@ global.set $std/array/i local.get $0 ) - (func $start:std/array~anonymous|25 (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|25 (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.ge_s ) - (func $~lib/array/Array#filter (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#filter (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3617,7 +3638,7 @@ end local.get $4 ) - (func $start:std/array~anonymous|26 (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|26 (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3629,7 +3650,7 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|27 (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|27 (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $std/array/i local.get $0 i32.add @@ -3638,7 +3659,7 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|28 (; 65 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|28 (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3650,12 +3671,12 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|29 (; 66 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|29 (; 69 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/array/Array#reduce (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3699,7 +3720,7 @@ end local.get $2 ) - (func $start:std/array~anonymous|31 (; 68 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|31 (; 71 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.eqz if @@ -3710,7 +3731,7 @@ end local.get $0 ) - (func $start:std/array~anonymous|32 (; 69 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|32 (; 72 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.eqz if @@ -3721,7 +3742,7 @@ end local.get $0 ) - (func $start:std/array~anonymous|33 (; 70 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|33 (; 73 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 i32.const 1 call $~lib/array/Array#push @@ -3729,7 +3750,7 @@ local.get $1 i32.add ) - (func $start:std/array~anonymous|35 (; 71 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|35 (; 74 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/array/Array#pop drop @@ -3737,7 +3758,7 @@ local.get $1 i32.add ) - (func $~lib/array/Array#reduceRight (; 72 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 75 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -3774,7 +3795,7 @@ end local.get $2 ) - (func $~lib/math/splitMix32 (; 73 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 76 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -3806,7 +3827,7 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 74 ;) (type $FUNCSIG$vj) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 77 ;) (type $FUNCSIG$vj) (param $0 i64) (local $1 i64) local.get $0 i64.eqz @@ -3871,7 +3892,7 @@ call $~lib/math/splitMix32 global.set $~lib/math/random_state1_32 ) - (func $~lib/util/sort/insertionSort (; 75 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 78 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f32) @@ -3953,7 +3974,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 76 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 79 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f32) @@ -4209,7 +4230,7 @@ local.get $5 f32.store ) - (func $~lib/array/Array#sort (; 77 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#sort (; 80 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 f32) (local $4 f32) @@ -4277,7 +4298,7 @@ call $~lib/util/sort/weakHeapSort end ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 78 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 81 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4306,7 +4327,7 @@ i32.lt_s i32.sub ) - (func $std/array/isArraysEqual (; 79 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 82 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 f32) (local $4 i32) @@ -4367,7 +4388,7 @@ end i32.const 1 ) - (func $~lib/util/sort/insertionSort (; 80 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 83 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f64) @@ -4449,7 +4470,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 81 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 84 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f64) @@ -4705,7 +4726,7 @@ local.get $5 f64.store ) - (func $~lib/array/Array#sort (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#sort (; 85 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 f64) (local $4 f64) @@ -4773,7 +4794,7 @@ call $~lib/util/sort/weakHeapSort end ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 83 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 86 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -4802,7 +4823,7 @@ i64.lt_s i32.sub ) - (func $~lib/array/Array#__get (; 84 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__get (; 87 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -4825,7 +4846,7 @@ i32.add f64.load ) - (func $std/array/isArraysEqual (; 85 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 88 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 f64) (local $4 i32) @@ -4886,7 +4907,7 @@ end i32.const 1 ) - (func $~lib/util/sort/insertionSort (; 86 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 89 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4968,7 +4989,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 87 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 90 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5224,7 +5245,7 @@ local.get $1 i32.store ) - (func $~lib/array/Array#sort (; 88 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 91 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5295,12 +5316,12 @@ end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 89 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 92 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 90 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 93 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.gt_u @@ -5309,7 +5330,7 @@ i32.lt_u i32.sub ) - (func $~lib/array/Array.create (; 91 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.create (; 94 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 268435452 i32.gt_u @@ -5337,7 +5358,7 @@ i32.store offset=12 local.get $0 ) - (func $std/array/createReverseOrderedArray (; 92 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedArray (; 95 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -5366,7 +5387,7 @@ end local.get $2 ) - (func $~lib/math/NativeMath.random (; 93 ;) (type $FUNCSIG$d) (result f64) + (func $~lib/math/NativeMath.random (; 96 ;) (type $FUNCSIG$d) (result f64) (local $0 i64) (local $1 i64) global.get $~lib/math/random_seeded @@ -5413,7 +5434,7 @@ f64.const 1 f64.sub ) - (func $std/array/createRandomOrderedArray (; 94 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomOrderedArray (; 97 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -5442,7 +5463,7 @@ end local.get $2 ) - (func $std/array/isSorted (; 95 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 98 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) i32.const 1 @@ -5484,7 +5505,7 @@ end i32.const 1 ) - (func $std/array/assertSorted (; 96 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 99 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array#sort @@ -5500,20 +5521,63 @@ unreachable end ) - (func $std/array/assertSortedDefault (; 97 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/array/assertSortedDefault (; 100 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 48 + i32.const 63 call $std/array/assertSorted ) - (func $start:std/array~anonymous|44 (; 98 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|44 (; 101 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $~lib/array/Array.create<~lib/array/Array> (; 99 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array<~lib/array/Array>~iterate (; 102 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.tee $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + local.get $2 + i32.load + local.set $0 + i32.const 1 + global.set $~lib/argc + local.get $0 + local.get $1 + call_indirect (type $FUNCSIG$vi) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $continue|0 + end + end + ) + (func $~lib/array/Array.create<~lib/array/Array> (; 103 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 512 - i32.const 11 + i32.const 68 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -5528,7 +5592,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array<~lib/array/Array>#__set (; 100 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/array/Array>#__set (; 104 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -5575,7 +5639,7 @@ i32.store offset=12 end ) - (func $std/array/createReverseOrderedNestedArray (; 101 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createReverseOrderedNestedArray (; 105 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -5607,7 +5671,7 @@ end local.get $1 ) - (func $start:std/array~anonymous|47 (; 102 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|47 (; 106 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -5616,7 +5680,7 @@ call $~lib/array/Array#__get i32.sub ) - (func $~lib/array/Array<~lib/array/Array>#sort (; 103 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#sort (; 107 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5677,7 +5741,7 @@ call $~lib/util/sort/insertionSort local.get $0 ) - (func $~lib/array/Array<~lib/array/Array>#__get (; 104 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__get (; 108 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 @@ -5712,7 +5776,7 @@ i32.add i32.load ) - (func $std/array/isSorted<~lib/array/Array> (; 105 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/array/Array> (; 109 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) i32.const 1 @@ -5754,7 +5818,7 @@ end i32.const 1 ) - (func $std/array/assertSorted<~lib/array/Array> (; 106 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/array/Array> (; 110 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#sort @@ -5770,10 +5834,47 @@ unreachable end ) - (func $~lib/array/Array.create> (; 107 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array>~iterate (; 111 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.tee $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $0 + loop $continue|0 + local.get $2 + local.get $0 + i32.lt_u + if + local.get $2 + i32.load + local.set $3 + i32.const 1 + global.set $~lib/argc + local.get $3 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $continue|0 + end + end + ) + (func $~lib/array/Array.create> (; 112 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 512 - i32.const 12 + i32.const 71 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -5788,7 +5889,7 @@ i32.store offset=12 local.get $0 ) - (func $std/array/createReverseOrderedElementsArray (; 108 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createReverseOrderedElementsArray (; 113 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -5801,7 +5902,7 @@ if i32.const 4 call $~lib/runtime/allocate - i32.const 13 + i32.const 72 call $~lib/runtime/register local.tee $2 i32.const 511 @@ -5821,14 +5922,53 @@ end local.get $1 ) - (func $start:std/array~anonymous|48 (; 109 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|48 (; 114 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load local.get $1 i32.load i32.sub ) - (func $~lib/util/string/compareImpl (; 110 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>~iterate (; 115 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.tee $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $0 + loop $continue|0 + local.get $2 + local.get $0 + i32.lt_u + if + local.get $2 + i32.load + local.tee $3 + if + i32.const 1 + global.set $~lib/argc + local.get $3 + local.get $1 + call_indirect (type $FUNCSIG$vi) + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $continue|0 + end + end + ) + (func $~lib/util/string/compareImpl (; 116 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) loop $continue|0 local.get $2 @@ -5861,7 +6001,7 @@ end local.get $3 ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 (; 111 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 (; 117 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5937,7 +6077,7 @@ select call $~lib/util/string/compareImpl ) - (func $std/array/assertSorted<~lib/string/String | null>|trampoline (; 112 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/array/assertSorted<~lib/string/String | null>|trampoline (; 118 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) block $1of1 block $0of1 @@ -5949,7 +6089,7 @@ end unreachable end - i32.const 55 + i32.const 77 local.set $1 end local.get $0 @@ -5967,7 +6107,7 @@ unreachable end ) - (func $~lib/string/String.__eq (; 113 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 119 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -6013,7 +6153,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $std/array/isArraysEqual<~lib/string/String | null> (; 114 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual<~lib/string/String | null> (; 120 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -6060,10 +6200,10 @@ end i32.const 1 ) - (func $~lib/array/Array.create<~lib/string/String> (; 115 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array.create<~lib/string/String> (; 121 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 400 - i32.const 15 + i32.const 78 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -6078,7 +6218,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/string/String#charAt (; 116 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#charAt (; 122 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 3020 @@ -6104,7 +6244,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/string/String#concat (; 117 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 123 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6153,7 +6293,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/string/String.__concat (; 118 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 124 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 4424 local.get $0 @@ -6161,7 +6301,7 @@ local.get $1 call $~lib/string/String#concat ) - (func $std/array/createRandomString (; 119 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomString (; 125 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 4200 @@ -6193,7 +6333,7 @@ end local.get $1 ) - (func $std/array/createRandomStringArray (; 120 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createRandomStringArray (; 126 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) call $~lib/array/Array.create<~lib/string/String> @@ -6220,7 +6360,7 @@ end local.get $1 ) - (func $~lib/string/String#substring (; 121 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#substring (; 127 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6316,7 +6456,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/runtime/discard (; 122 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/discard (; 128 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.const 8060 i32.le_u @@ -6343,7 +6483,7 @@ unreachable end ) - (func $~lib/array/Array#join_bool (; 123 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_bool (; 129 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6495,7 +6635,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/decimalCount32 (; 124 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 130 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 100000 i32.lt_u @@ -6549,7 +6689,7 @@ end end ) - (func $~lib/util/number/utoa32_lut (; 125 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 131 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) i32.const 5092 @@ -6659,7 +6799,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 126 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 132 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6701,7 +6841,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/itoa_stream (; 127 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 133 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -6745,7 +6885,7 @@ end local.get $2 ) - (func $~lib/array/Array#join_int (; 128 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 134 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6863,12 +7003,12 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/array/Array#join (; 129 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 135 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int ) - (func $~lib/util/number/utoa32 (; 130 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 136 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -6891,7 +7031,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/itoa_stream (; 131 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 137 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -6915,7 +7055,7 @@ call $~lib/util/number/utoa32_lut local.get $0 ) - (func $~lib/array/Array#join_int (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 138 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7033,12 +7173,12 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/array/Array#join (; 133 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int ) - (func $~lib/util/number/genDigits (; 134 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 140 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i32) (local $9 i64) @@ -7453,7 +7593,7 @@ local.get $6 end ) - (func $~lib/util/number/prettify (; 135 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 141 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $2 @@ -7712,7 +7852,7 @@ end end ) - (func $~lib/util/number/dtoa_core (; 136 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 142 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i64) (local $3 i32) (local $4 i64) @@ -8000,7 +8140,7 @@ local.get $10 i32.add ) - (func $~lib/util/number/dtoa (; 137 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 143 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -8045,7 +8185,7 @@ call $~lib/runtime/discard local.get $1 ) - (func $~lib/util/number/dtoa_stream (; 138 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/util/number/dtoa_stream (; 144 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) (local $3 i32) local.get $1 i32.const 1 @@ -8116,7 +8256,7 @@ local.get $2 call $~lib/util/number/dtoa_core ) - (func $~lib/array/Array#join_flt (; 139 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_flt (; 145 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8232,7 +8372,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/array/Array<~lib/string/String>#join_str (; 140 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#join_str (; 146 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8402,18 +8542,18 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/array/Array<~lib/string/String>#join (; 141 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#join (; 147 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#join_str ) - (func $std/array/Ref#constructor (; 142 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/Ref#constructor (; 148 ;) (type $FUNCSIG$i) (result i32) i32.const 0 call $~lib/runtime/allocate - i32.const 19 + i32.const 87 call $~lib/runtime/register ) - (func $~lib/array/Array#join_ref (; 143 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_ref (; 149 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8546,12 +8686,12 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/array/Array#toString (; 144 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 150 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa_stream (; 145 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 151 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $1 i32.const 1 @@ -8606,7 +8746,7 @@ end local.get $2 ) - (func $~lib/array/Array#join_int (; 146 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 152 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8718,7 +8858,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/itoa_stream (; 147 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 153 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -8748,7 +8888,7 @@ call $~lib/util/number/utoa32_lut local.get $1 ) - (func $~lib/array/Array#join_int (; 148 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 154 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8864,7 +9004,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/decimalCount64 (; 149 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 155 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 i64.const 1000000000000000 i64.lt_u @@ -8918,7 +9058,7 @@ end end ) - (func $~lib/util/number/utoa64_lut (; 150 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 156 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9015,7 +9155,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 151 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 157 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9057,7 +9197,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/itoa_stream (; 152 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 158 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) local.get $1 i32.const 1 @@ -9097,7 +9237,7 @@ end local.get $1 ) - (func $~lib/array/Array#join_int (; 153 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 159 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9213,7 +9353,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/itoa64 (; 154 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 160 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9278,7 +9418,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/itoa_stream (; 155 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 161 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) local.get $1 @@ -9341,7 +9481,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 156 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 162 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9457,12 +9597,12 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/array/Array<~lib/string/String | null>#toString (; 157 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#toString (; 163 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array<~lib/string/String>#join ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 158 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 164 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9557,7 +9697,7 @@ local.get $1 end ) - (func $~lib/util/number/itoa_stream (; 159 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 165 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1 i32.shl @@ -9587,7 +9727,7 @@ call $~lib/util/number/utoa32_lut local.get $1 ) - (func $~lib/array/Array#join_int (; 160 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join_int (; 166 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9699,7 +9839,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 161 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 167 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9791,7 +9931,47 @@ local.get $1 end ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 162 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~iterate (; 168 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.tee $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + local.get $2 + i32.load + local.set $0 + i32.const 1 + global.set $~lib/argc + local.get $0 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>~iterate + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $continue|0 + end + end + ) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 169 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9886,7 +10066,7 @@ local.get $1 end ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr (; 163 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr (; 170 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9978,7 +10158,7 @@ local.get $1 end ) - (func $start:std/array (; 164 ;) (type $FUNCSIG$v) + (func $start:std/array (; 171 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10012,12 +10192,12 @@ end i32.const 0 call $~lib/runtime/allocate - i32.const 5 + i32.const 6 call $~lib/runtime/register drop i32.const 12 call $~lib/runtime/allocate - i32.const 6 + i32.const 7 call $~lib/runtime/register i32.const 1 i32.const 0 @@ -10030,7 +10210,7 @@ call $~lib/array/Array#fill global.get $std/array/arr8 i32.const 5 - i32.const 7 + i32.const 8 i32.const 0 i32.const 248 call $~lib/runtime/makeArray @@ -10051,7 +10231,7 @@ call $~lib/array/Array#fill global.get $std/array/arr8 i32.const 5 - i32.const 7 + i32.const 8 i32.const 0 i32.const 320 call $~lib/runtime/makeArray @@ -10072,7 +10252,7 @@ call $~lib/array/Array#fill global.get $std/array/arr8 i32.const 5 - i32.const 7 + i32.const 8 i32.const 0 i32.const 344 call $~lib/runtime/makeArray @@ -10093,7 +10273,7 @@ call $~lib/array/Array#fill global.get $std/array/arr8 i32.const 5 - i32.const 7 + i32.const 8 i32.const 0 i32.const 368 call $~lib/runtime/makeArray @@ -10114,7 +10294,7 @@ call $~lib/array/Array#fill global.get $std/array/arr8 i32.const 5 - i32.const 7 + i32.const 8 i32.const 0 i32.const 392 call $~lib/runtime/makeArray @@ -10135,7 +10315,7 @@ call $~lib/array/Array#fill global.get $std/array/arr32 i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 488 call $~lib/runtime/makeArray @@ -10157,7 +10337,7 @@ call $~lib/array/Array#fill global.get $std/array/arr32 i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 528 call $~lib/runtime/makeArray @@ -10179,7 +10359,7 @@ call $~lib/array/Array#fill global.get $std/array/arr32 i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 568 call $~lib/runtime/makeArray @@ -10201,7 +10381,7 @@ call $~lib/array/Array#fill global.get $std/array/arr32 i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 608 call $~lib/runtime/makeArray @@ -10223,7 +10403,7 @@ call $~lib/array/Array#fill global.get $std/array/arr32 i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 648 call $~lib/runtime/makeArray @@ -12532,7 +12712,7 @@ i32.const 3 call $~lib/array/Array#__set global.get $std/array/arr - i32.const 1 + i32.const 12 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -12545,7 +12725,7 @@ unreachable end global.get $std/array/arr - i32.const 2 + i32.const 13 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -12560,7 +12740,7 @@ unreachable end global.get $std/array/arr - i32.const 3 + i32.const 14 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -12575,7 +12755,7 @@ unreachable end global.get $std/array/arr - i32.const 4 + i32.const 15 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -12602,7 +12782,7 @@ unreachable end global.get $std/array/arr - i32.const 5 + i32.const 16 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -12629,7 +12809,7 @@ call $~lib/array/Array#pop drop global.get $std/array/arr - i32.const 6 + i32.const 17 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -12662,7 +12842,7 @@ i32.const 3 call $~lib/array/Array#push global.get $std/array/arr - i32.const 7 + i32.const 18 call $~lib/array/Array#every global.set $std/array/every global.get $std/array/every @@ -12677,7 +12857,7 @@ unreachable end global.get $std/array/arr - i32.const 8 + i32.const 19 call $~lib/array/Array#every global.set $std/array/every global.get $std/array/every @@ -12690,7 +12870,7 @@ unreachable end global.get $std/array/arr - i32.const 9 + i32.const 20 call $~lib/array/Array#every global.set $std/array/every global.get $std/array/every @@ -12717,7 +12897,7 @@ unreachable end global.get $std/array/arr - i32.const 10 + i32.const 21 call $~lib/array/Array#every global.set $std/array/every global.get $std/array/every @@ -12742,7 +12922,7 @@ call $~lib/array/Array#pop drop global.get $std/array/arr - i32.const 11 + i32.const 22 call $~lib/array/Array#every global.set $std/array/every global.get $std/array/every @@ -12775,7 +12955,7 @@ i32.const 3 call $~lib/array/Array#push global.get $std/array/arr - i32.const 12 + i32.const 23 call $~lib/array/Array#some global.set $std/array/some global.get $std/array/some @@ -12790,7 +12970,7 @@ unreachable end global.get $std/array/arr - i32.const 13 + i32.const 24 call $~lib/array/Array#some global.set $std/array/some global.get $std/array/some @@ -12803,7 +12983,7 @@ unreachable end global.get $std/array/arr - i32.const 14 + i32.const 25 call $~lib/array/Array#some global.set $std/array/some global.get $std/array/some @@ -12828,7 +13008,7 @@ unreachable end global.get $std/array/arr - i32.const 15 + i32.const 26 call $~lib/array/Array#some global.set $std/array/some global.get $std/array/some @@ -12855,7 +13035,7 @@ call $~lib/array/Array#pop drop global.get $std/array/arr - i32.const 16 + i32.const 27 call $~lib/array/Array#some global.set $std/array/some global.get $std/array/some @@ -12888,7 +13068,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 17 + i32.const 28 call $~lib/array/Array#forEach global.get $std/array/i i32.const 6 @@ -12904,7 +13084,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 18 + i32.const 29 call $~lib/array/Array#forEach global.get $std/array/i i32.const 6 @@ -12932,7 +13112,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 19 + i32.const 30 call $~lib/array/Array#forEach global.get $std/array/i i32.const 406 @@ -12960,7 +13140,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 20 + i32.const 31 call $~lib/array/Array#forEach global.get $std/array/i i32.const 1 @@ -12992,7 +13172,7 @@ i32.const 3 call $~lib/array/Array#push global.get $std/array/arr - i32.const 21 + i32.const 32 call $~lib/array/Array#forEach global.get $std/array/arr i32.load offset=12 @@ -13067,7 +13247,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 23 + i32.const 36 call $~lib/array/Array#map global.get $std/array/i i32.const 6 @@ -13095,7 +13275,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 24 + i32.const 37 call $~lib/array/Array#map global.get $std/array/i i32.const 406 @@ -13123,7 +13303,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 25 + i32.const 38 call $~lib/array/Array#map global.get $std/array/i i32.const 1 @@ -13155,7 +13335,7 @@ i32.const 3 call $~lib/array/Array#push global.get $std/array/arr - i32.const 26 + i32.const 39 call $~lib/array/Array#filter global.set $std/array/filteredArr global.get $std/array/filteredArr @@ -13173,7 +13353,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 27 + i32.const 40 call $~lib/array/Array#filter drop global.get $std/array/i @@ -13202,7 +13382,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 28 + i32.const 41 call $~lib/array/Array#filter drop global.get $std/array/i @@ -13231,7 +13411,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 29 + i32.const 42 call $~lib/array/Array#filter drop global.get $std/array/i @@ -13264,7 +13444,7 @@ i32.const 3 call $~lib/array/Array#push global.get $std/array/arr - i32.const 30 + i32.const 43 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -13280,7 +13460,7 @@ unreachable end global.get $std/array/arr - i32.const 31 + i32.const 44 i32.const 4 call $~lib/array/Array#reduce global.set $std/array/i @@ -13296,7 +13476,7 @@ unreachable end global.get $std/array/arr - i32.const 32 + i32.const 45 i32.const 0 call $~lib/array/Array#reduce i32.const 0 @@ -13314,7 +13494,7 @@ unreachable end global.get $std/array/arr - i32.const 33 + i32.const 46 i32.const 0 call $~lib/array/Array#reduce i32.const 0 @@ -13330,7 +13510,7 @@ unreachable end global.get $std/array/arr - i32.const 34 + i32.const 47 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -13358,7 +13538,7 @@ unreachable end global.get $std/array/arr - i32.const 35 + i32.const 48 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -13386,7 +13566,7 @@ call $~lib/array/Array#pop drop global.get $std/array/arr - i32.const 36 + i32.const 49 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -13420,7 +13600,7 @@ i32.const 3 call $~lib/array/Array#push global.get $std/array/arr - i32.const 37 + i32.const 50 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -13436,7 +13616,7 @@ unreachable end global.get $std/array/arr - i32.const 38 + i32.const 51 i32.const 4 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -13452,7 +13632,7 @@ unreachable end global.get $std/array/arr - i32.const 39 + i32.const 52 i32.const 0 call $~lib/array/Array#reduceRight i32.const 0 @@ -13470,7 +13650,7 @@ unreachable end global.get $std/array/arr - i32.const 40 + i32.const 53 i32.const 0 call $~lib/array/Array#reduceRight i32.const 0 @@ -13486,7 +13666,7 @@ unreachable end global.get $std/array/arr - i32.const 41 + i32.const 54 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -13514,7 +13694,7 @@ unreachable end global.get $std/array/arr - i32.const 42 + i32.const 55 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -13542,7 +13722,7 @@ call $~lib/array/Array#pop drop global.get $std/array/arr - i32.const 43 + i32.const 56 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -13596,7 +13776,7 @@ end unreachable end - i32.const 44 + i32.const 57 local.set $0 end local.get $1 @@ -13604,7 +13784,7 @@ call $~lib/array/Array#sort global.get $std/array/f32ArrayTyped i32.const 8 - i32.const 9 + i32.const 34 i32.const 2 i32.const 3304 call $~lib/runtime/makeArray @@ -13632,7 +13812,7 @@ end unreachable end - i32.const 45 + i32.const 60 local.set $0 end local.get $1 @@ -13640,7 +13820,7 @@ call $~lib/array/Array#sort global.get $std/array/f64ArrayTyped i32.const 8 - i32.const 10 + i32.const 58 i32.const 3 i32.const 3464 call $~lib/runtime/makeArray @@ -13668,7 +13848,7 @@ end unreachable end - i32.const 46 + i32.const 61 local.set $0 end local.get $1 @@ -13706,7 +13886,7 @@ end unreachable end - i32.const 47 + i32.const 62 local.set $0 end local.get $1 @@ -13715,7 +13895,7 @@ drop global.get $std/array/u32ArrayTyped i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 3728 call $~lib/runtime/makeArray @@ -13869,26 +14049,26 @@ call $std/array/createRandomOrderedArray global.set $std/array/randomized257 global.get $std/array/randomized64 - i32.const 49 + i32.const 64 call $std/array/assertSorted global.get $std/array/randomized64 - i32.const 50 + i32.const 65 call $std/array/assertSorted global.get $std/array/randomized257 - i32.const 51 + i32.const 66 call $std/array/assertSorted global.get $std/array/randomized257 - i32.const 52 + i32.const 67 call $std/array/assertSorted call $std/array/createReverseOrderedNestedArray global.set $std/array/reversedNested512 global.get $std/array/reversedNested512 - i32.const 53 + i32.const 70 call $std/array/assertSorted<~lib/array/Array> call $std/array/createReverseOrderedElementsArray global.set $std/array/reversedElements512 global.get $std/array/reversedElements512 - i32.const 54 + i32.const 74 call $std/array/assertSorted<~lib/array/Array> i32.const 1 global.set $~lib/argc @@ -13924,14 +14104,14 @@ end unreachable end - i32.const 56 + i32.const 80 local.set $0 end local.get $1 local.get $0 call $std/array/assertSorted<~lib/array/Array> i32.const 2 - i32.const 16 + i32.const 81 i32.const 0 i32.const 4552 call $~lib/runtime/makeArray @@ -13966,7 +14146,7 @@ unreachable end i32.const 3 - i32.const 8 + i32.const 10 i32.const 2 i32.const 5240 call $~lib/runtime/makeArray @@ -14002,7 +14182,7 @@ unreachable end i32.const 6 - i32.const 10 + i32.const 58 i32.const 3 i32.const 6672 call $~lib/runtime/makeArray @@ -14019,7 +14199,7 @@ unreachable end i32.const 3 - i32.const 15 + i32.const 78 i32.const 2 i32.const 6888 call $~lib/runtime/makeArray @@ -14037,7 +14217,7 @@ unreachable end i32.const 3 - i32.const 20 + i32.const 88 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -14120,7 +14300,7 @@ unreachable end i32.const 3 - i32.const 21 + i32.const 90 i32.const 0 i32.const 7128 call $~lib/runtime/makeArray @@ -14137,7 +14317,7 @@ unreachable end i32.const 3 - i32.const 22 + i32.const 92 i32.const 1 i32.const 7208 call $~lib/runtime/makeArray @@ -14154,7 +14334,7 @@ unreachable end i32.const 3 - i32.const 17 + i32.const 83 i32.const 3 i32.const 7312 call $~lib/runtime/makeArray @@ -14171,7 +14351,7 @@ unreachable end i32.const 4 - i32.const 23 + i32.const 94 i32.const 3 i32.const 7464 call $~lib/runtime/makeArray @@ -14201,7 +14381,7 @@ unreachable end i32.const 4 - i32.const 15 + i32.const 78 i32.const 2 i32.const 7744 call $~lib/runtime/makeArray @@ -14218,7 +14398,7 @@ unreachable end i32.const 2 - i32.const 11 + i32.const 68 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -14254,7 +14434,7 @@ unreachable end i32.const 2 - i32.const 24 + i32.const 96 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -14262,14 +14442,14 @@ i32.load offset=4 local.tee $1 i32.const 2 - i32.const 7 + i32.const 8 i32.const 0 i32.const 7936 call $~lib/runtime/makeArray i32.store local.get $1 i32.const 2 - i32.const 7 + i32.const 8 i32.const 0 i32.const 7960 call $~lib/runtime/makeArray @@ -14290,7 +14470,7 @@ unreachable end i32.const 1 - i32.const 26 + i32.const 100 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -14298,14 +14478,14 @@ i32.load offset=4 local.set $1 i32.const 1 - i32.const 25 + i32.const 98 i32.const 2 i32.const 0 call $~lib/runtime/makeArray local.tee $2 i32.load offset=4 i32.const 1 - i32.const 8 + i32.const 10 i32.const 2 i32.const 8056 call $~lib/runtime/makeArray @@ -14329,7 +14509,7 @@ unreachable end ) - (func $std/array/main (; 165 ;) (type $FUNCSIG$v) + (func $std/array/main (; 172 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -14338,7 +14518,7 @@ global.set $~lib/started end ) - (func $null (; 166 ;) (type $FUNCSIG$v) + (func $null (; 173 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 6c0bc573..4d57ccbc 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -2,10 +2,10 @@ (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$fiii (func (param i32 i32 i32) (result f32))) (type $FUNCSIG$fii (func (param i32 i32) (result f32))) @@ -34,7 +34,7 @@ (data (i32.const 112) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00") (data (i32.const 136) "\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 176) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\02\03\04\05") - (data (i32.const 200) "\07\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c0\00\00\00\c0\00\00\00\05\00\00\00\05\00\00\00") + (data (i32.const 200) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c0\00\00\00\c0\00\00\00\05\00\00\00\05\00\00\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") @@ -42,7 +42,7 @@ (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\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 440) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\01\00\00\a0\01\00\00\14\00\00\00\05\00\00\00") + (data (i32.const 440) "\n\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\01\00\00\a0\01\00\00\14\00\00\00\05\00\00\00") (data (i32.const 472) "\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 512) "\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 552) "\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") @@ -118,16 +118,16 @@ (data (i32.const 2976) "\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 3016) "\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 3208) "\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 3256) "\t\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\98\0c\00\00\98\0c\00\00 \00\00\00\08\00\00\00") + (data (i32.const 3256) "\"\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\98\0c\00\00\98\0c\00\00 \00\00\00\08\00\00\00") (data (i32.const 3288) "\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 3336) "\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 3416) "\n\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\18\0d\00\00\18\0d\00\00@\00\00\00\08\00\00\00") + (data (i32.const 3416) ":\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\18\0d\00\00\18\0d\00\00@\00\00\00\08\00\00\00") (data (i32.const 3448) "\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 3528) "\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 3568) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\d8\0d\00\00\d8\0d\00\00\14\00\00\00\05\00\00\00") (data (i32.const 3600) "\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 3640) "\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 3680) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00H\0e\00\00H\0e\00\00\14\00\00\00\05\00\00\00") + (data (i32.const 3680) "\n\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00H\0e\00\00H\0e\00\00\14\00\00\00\05\00\00\00") (data (i32.const 3712) "\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 3752) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 3768) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b8\0e\00\00\b8\0e\00\00\00\00\00\00\00\00\00\00") @@ -147,9 +147,9 @@ (data (i32.const 4160) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00b\00a\00") (data (i32.const 4184) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 4200) "\02\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00\08\10\00\00 \10\00\00\08\10\00\008\10\00\00P\10\00\00h\10\00\00\00\00\00\00") - (data (i32.const 4248) "\0e\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00x\10\00\00x\10\00\00\1c\00\00\00\07\00\00\00") + (data (i32.const 4248) "K\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00x\10\00\00x\10\00\00\1c\00\00\00\07\00\00\00") (data (i32.const 4280) "\02\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00h\10\00\00\08\10\00\00\08\10\00\008\10\00\00 \10\00\00P\10\00\00\00\00\00\00") - (data (i32.const 4328) "\0e\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c8\10\00\00\c8\10\00\00\1c\00\00\00\07\00\00\00") + (data (i32.const 4328) "K\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c8\10\00\00\c8\10\00\00\1c\00\00\00\07\00\00\00") (data (i32.const 4360) "\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 4408) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00n\00u\00l\00l\00") (data (i32.const 4432) "\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") @@ -161,7 +161,7 @@ (data (i32.const 4600) "\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 4632) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\000\00") (data (i32.const 4656) "\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 5072) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00@\12\00\00@\12\00\00\90\01\00\00d\00\00\00") + (data (i32.const 5072) "\n\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00@\12\00\00@\12\00\00\90\01\00\00d\00\00\00") (data (i32.const 5104) "\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 5136) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\001\00-\002\00-\003\00") (data (i32.const 5168) "\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") @@ -178,11 +178,11 @@ (data (i32.const 5528) "\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 5568) "\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 5600) "\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~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) + (table $0 102 funcref) + (elem (i32.const 0) $null $~lib/string/String~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $std/array/P~iterate $~lib/typedarray/Uint8Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|4 $start:std/array~anonymous|5 $start:std/array~anonymous|6 $start:std/array~anonymous|7 $start:std/array~anonymous|8 $start:std/array~anonymous|9 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|18 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $~lib/array/Array~iterate $~lib/array/Array~iterate $start:std/array~anonymous|22 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|30 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|35 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|39 $start:std/array~anonymous|40 $start:std/array~anonymous|41 $start:std/array~anonymous|42 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/array/Array~iterate $~lib/array/Array~iterate $~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 $~lib/array/Array<~lib/array/Array>~iterate $~lib/array/Array<~lib/array/Array>~iterate $start:std/array~anonymous|47 $~lib/array/Array>~iterate $std/array/Proxy~iterate $~lib/array/Array>~iterate $start:std/array~anonymous|48 $~lib/array/Array<~lib/string/String | null>~iterate $~lib/array/Array<~lib/string/String | null>~iterate $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 $~lib/array/Array<~lib/string/String>~iterate $~lib/array/Array<~lib/string/String>~iterate $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $std/array/Ref~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array<~lib/array/Array>~iterate $~lib/array/Array<~lib/array/Array>~iterate $~lib/array/Array<~lib/array/Array>~iterate $~lib/array/Array<~lib/array/Array>~iterate $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~iterate $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~iterate) (global $~lib/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) + (global $~lib/argc (mut i32) (i32.const 0)) (global $std/array/arr (mut i32) (i32.const 0)) (global $std/array/num (mut i32) (i32.const 1)) (global $std/array/Null (mut i32) (i32.const 0)) @@ -243,7 +244,6 @@ (global $std/array/cwArr (mut i32) (i32.const 0)) (global $std/array/includes (mut i32) (i32.const 0)) (global $std/array/sarr (mut i32) (i32.const 1752)) - (global $~lib/argc (mut i32) (i32.const 0)) (global $std/array/every (mut i32) (i32.const 0)) (global $std/array/some (mut i32) (i32.const 0)) (global $std/array/newArr (mut i32) (i32.const 0)) @@ -297,7 +297,10 @@ (export "table" (table $0)) (export "main" (func $std/array/main)) (export ".capabilities" (global $~lib/capabilities)) - (func $~lib/runtime/ADJUSTOBLOCK (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/runtime/ADJUSTOBLOCK (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -309,7 +312,7 @@ i32.sub i32.shl ) - (func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/arena/__mem_allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -388,12 +391,12 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/memory/memory.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (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/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/runtime/ADJUSTOBLOCK @@ -415,7 +418,7 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -672,10 +675,13 @@ end end ) - (func $~lib/collector/dummy/__ref_register (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/arraybuffer/ArrayBuffer~iterate (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/collector/dummy/__ref_register (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/register (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -713,7 +719,7 @@ call $~lib/collector/dummy/__ref_register local.get $0 ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -746,13 +752,27 @@ call $~lib/runtime/register end ) - (func $~lib/collector/dummy/__ref_link (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/runtime/ArrayBufferView~iterate (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $2 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer~iterate + end + ) + (func $~lib/collector/dummy/__ref_link (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/collector/dummy/__ref_unlink (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/dummy/__ref_unlink (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/runtime/ArrayBufferView#constructor (; 12 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/ArrayBufferView#constructor (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -828,7 +848,15 @@ i32.store offset=8 local.get $0 ) - (func $~lib/array/Array#constructor (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array~iterate (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#constructor (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -850,7 +878,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array.isArray<~lib/array/Array | null> (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/array/Array | null> (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 if (result i32) local.get $0 @@ -860,7 +888,7 @@ i32.const 1 end ) - (func $~lib/array/Array.isArray<~lib/array/Array> (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/array/Array> (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 if (result i32) local.get $0 @@ -870,19 +898,21 @@ i32.const 1 end ) - (func $std/array/P#constructor (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/P~iterate (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + ) + (func $std/array/P#constructor (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 call $~lib/runtime/allocate - i32.const 5 + i32.const 6 call $~lib/runtime/register local.set $0 end local.get $0 ) - (func $~lib/array/Array.isArray (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 if (result i32) local.get $0 @@ -892,14 +922,20 @@ i32.const 0 end ) - (func $~lib/typedarray/Uint8Array#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array~iterate (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Uint8Array#constructor (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 else i32.const 12 call $~lib/runtime/allocate - i32.const 6 + i32.const 7 call $~lib/runtime/register end local.get $1 @@ -908,7 +944,7 @@ local.set $0 local.get $0 ) - (func $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 if (result i32) local.get $0 @@ -918,7 +954,7 @@ i32.const 0 end ) - (func $~lib/array/Array.isArray (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 if (result i32) local.get $0 @@ -928,7 +964,7 @@ i32.const 0 end ) - (func $~lib/array/Array.isArray<~lib/string/String> (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/string/String> (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 if (result i32) local.get $0 @@ -938,7 +974,15 @@ i32.const 0 end ) - (func $~lib/array/Array#fill (; 22 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array~iterate (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#fill (; 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) @@ -1014,7 +1058,7 @@ end local.get $0 ) - (func $~lib/util/memory/memcpy (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2215,7 +2259,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2446,7 +2490,7 @@ end end ) - (func $~lib/runtime/makeArray (; 25 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/makeArray (; 32 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -2510,11 +2554,11 @@ end local.get $4 ) - (func $~lib/array/Array#get:length (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -2523,7 +2567,7 @@ i32.add i32.load8_u ) - (func $~lib/array/Array#__get (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2542,7 +2586,7 @@ local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $std/array/isArraysEqual (; 29 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 36 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -2597,7 +2641,15 @@ end i32.const 1 ) - (func $~lib/array/Array#fill (; 30 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array~iterate (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#fill (; 38 ;) (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) @@ -2683,11 +2735,11 @@ end local.get $0 ) - (func $~lib/array/Array#get:length (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -2696,7 +2748,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2715,7 +2767,7 @@ local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $std/array/isArraysEqual (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -2770,17 +2822,17 @@ end i32.const 1 ) - (func $~lib/array/Array#get:length (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 global.get $~lib/runtime/HEADER_SIZE i32.sub i32.load offset=4 ) - (func $std/array/internalCapacity (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/internalCapacity (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -2790,14 +2842,14 @@ i32.const 2 i32.shr_s ) - (func $~lib/allocator/arena/__mem_free (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/allocator/arena/__mem_free (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/memory/memory.free (; 39 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/memory/memory.free (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/allocator/arena/__mem_free ) - (func $~lib/runtime/reallocate (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/reallocate (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2901,7 +2953,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureCapacity (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureCapacity (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2981,7 +3033,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#push (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#push (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3008,7 +3060,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array#__unchecked_get (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -3017,7 +3069,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -3036,7 +3088,7 @@ local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/array/Array#pop (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#pop (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -3069,7 +3121,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array#concat (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#concat (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3125,7 +3177,7 @@ call $~lib/memory/memory.copy local.get $6 ) - (func $~lib/array/Array#copyWithin (; 47 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#copyWithin (; 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) @@ -3315,7 +3367,7 @@ end local.get $0 ) - (func $std/array/isArraysEqual (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -3370,7 +3422,7 @@ end i32.const 1 ) - (func $~lib/array/Array#unshift (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#unshift (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3403,7 +3455,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array#shift (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#shift (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3452,7 +3504,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array#reverse (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#reverse (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3507,7 +3559,7 @@ end local.get $0 ) - (func $~lib/array/Array#indexOf (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#indexOf (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3579,7 +3631,7 @@ end i32.const -1 ) - (func $~lib/array/Array#includes (; 53 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#includes (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $1 local.get $2 @@ -3587,7 +3639,7 @@ i32.const 0 i32.ge_s ) - (func $~lib/array/Array#splice (; 54 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#splice (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3701,7 +3753,7 @@ i32.store offset=12 local.get $6 ) - (func $~lib/array/Array#__unchecked_set (; 55 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__unchecked_set (; 63 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.load offset=4 local.get $1 @@ -3711,7 +3763,7 @@ local.get $2 i32.store ) - (func $~lib/array/Array#__set (; 56 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 64 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -3737,12 +3789,12 @@ i32.store offset=12 end ) - (func $start:std/array~anonymous|0 (; 57 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|0 (; 65 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.eq ) - (func $~lib/array/Array#findIndex (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3801,17 +3853,17 @@ end i32.const -1 ) - (func $start:std/array~anonymous|1 (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|1 (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 1 i32.eq ) - (func $start:std/array~anonymous|2 (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|2 (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 100 i32.eq ) - (func $start:std/array~anonymous|3 (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|3 (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3820,12 +3872,12 @@ i32.const 100 i32.eq ) - (func $start:std/array~anonymous|4 (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|4 (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 100 i32.eq ) - (func $start:std/array~anonymous|5 (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|5 (; 71 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3833,12 +3885,12 @@ i32.const 100 i32.eq ) - (func $start:std/array~anonymous|6 (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|6 (; 72 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.ge_s ) - (func $~lib/array/Array#every (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#every (; 73 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3898,12 +3950,12 @@ end i32.const 1 ) - (func $start:std/array~anonymous|7 (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|7 (; 74 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.le_s ) - (func $start:std/array~anonymous|8 (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|8 (; 75 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -3912,12 +3964,12 @@ i32.const 10 i32.lt_s ) - (func $start:std/array~anonymous|9 (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|9 (; 76 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 10 i32.lt_s ) - (func $start:std/array~anonymous|10 (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|10 (; 77 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -3925,12 +3977,12 @@ i32.const 3 i32.lt_s ) - (func $start:std/array~anonymous|11 (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|11 (; 78 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 3 i32.ge_s ) - (func $~lib/array/Array#some (; 71 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#some (; 79 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3989,12 +4041,12 @@ end i32.const 0 ) - (func $start:std/array~anonymous|12 (; 72 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|12 (; 80 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const -1 i32.le_s ) - (func $start:std/array~anonymous|13 (; 73 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|13 (; 81 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -4003,12 +4055,12 @@ i32.const 10 i32.gt_s ) - (func $start:std/array~anonymous|14 (; 74 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|14 (; 82 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 10 i32.gt_s ) - (func $start:std/array~anonymous|15 (; 75 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|15 (; 83 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -4016,13 +4068,13 @@ i32.const 3 i32.gt_s ) - (func $start:std/array~anonymous|16 (; 76 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|16 (; 84 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) global.get $std/array/i local.get $0 i32.add global.set $std/array/i ) - (func $~lib/array/Array#forEach (; 77 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#forEach (; 85 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4074,7 +4126,7 @@ unreachable end ) - (func $start:std/array~anonymous|17 (; 78 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|17 (; 86 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -4084,13 +4136,13 @@ i32.add global.set $std/array/i ) - (func $start:std/array~anonymous|18 (; 79 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|18 (; 87 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) global.get $std/array/i local.get $0 i32.add global.set $std/array/i ) - (func $start:std/array~anonymous|19 (; 80 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|19 (; 88 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/array/Array#pop drop @@ -4099,7 +4151,7 @@ i32.add global.set $std/array/i ) - (func $start:std/array~anonymous|20 (; 81 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|20 (; 89 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $1 i32.const 0 @@ -4214,11 +4266,19 @@ end end ) - (func $start:std/array~anonymous|21 (; 82 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $start:std/array~anonymous|21 (; 90 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) local.get $0 f32.convert_i32_s ) - (func $~lib/array/Array#map (; 83 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array~iterate (; 91 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#map (; 92 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4234,7 +4294,7 @@ i32.const 0 local.set $3 local.get $4 - i32.const 9 + i32.const 34 i32.const 2 local.get $3 call $~lib/runtime/makeArray @@ -4296,11 +4356,11 @@ end local.get $5 ) - (func $~lib/array/Array#get:length (; 84 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 93 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 85 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__unchecked_get (; 94 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $0 i32.load offset=4 local.get $1 @@ -4309,7 +4369,7 @@ i32.add f32.load ) - (func $~lib/array/Array#__get (; 86 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__get (; 95 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -4328,7 +4388,7 @@ local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $start:std/array~anonymous|22 (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|22 (; 96 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -4339,7 +4399,7 @@ global.set $std/array/i local.get $0 ) - (func $~lib/array/Array#map (; 88 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 97 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4417,14 +4477,14 @@ end local.get $5 ) - (func $start:std/array~anonymous|23 (; 89 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|23 (; 98 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $std/array/i local.get $0 i32.add global.set $std/array/i local.get $0 ) - (func $start:std/array~anonymous|24 (; 90 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|24 (; 99 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -4434,12 +4494,12 @@ global.set $std/array/i local.get $0 ) - (func $start:std/array~anonymous|25 (; 91 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|25 (; 100 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.ge_s ) - (func $~lib/array/Array#filter (; 92 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#filter (; 101 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4517,7 +4577,7 @@ end local.get $4 ) - (func $start:std/array~anonymous|26 (; 93 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|26 (; 102 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 i32.const 100 call $~lib/array/Array#push @@ -4530,7 +4590,7 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|27 (; 94 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|27 (; 103 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $std/array/i local.get $0 i32.add @@ -4539,7 +4599,7 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|28 (; 95 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|28 (; 104 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 call $~lib/array/Array#pop drop @@ -4551,12 +4611,12 @@ i32.const 2 i32.ge_s ) - (func $start:std/array~anonymous|29 (; 96 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|29 (; 105 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/array/Array#reduce (; 97 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 106 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4614,12 +4674,12 @@ end local.get $3 ) - (func $start:std/array~anonymous|30 (; 98 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|30 (; 107 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $start:std/array~anonymous|31 (; 99 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|31 (; 108 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -4631,7 +4691,7 @@ i32.gt_s end ) - (func $~lib/array/Array#reduce (; 100 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 109 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4689,7 +4749,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|32 (; 101 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|32 (; 110 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -4701,7 +4761,7 @@ i32.gt_s end ) - (func $start:std/array~anonymous|33 (; 102 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|33 (; 111 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 i32.const 1 call $~lib/array/Array#push @@ -4710,12 +4770,12 @@ local.get $1 i32.add ) - (func $start:std/array~anonymous|34 (; 103 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|34 (; 112 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $start:std/array~anonymous|35 (; 104 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|35 (; 113 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/array/Array#pop drop @@ -4723,12 +4783,12 @@ local.get $1 i32.add ) - (func $start:std/array~anonymous|36 (; 105 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|36 (; 114 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/array/Array#reduceRight (; 106 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 115 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $2 @@ -4773,12 +4833,12 @@ end local.get $3 ) - (func $start:std/array~anonymous|37 (; 107 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|37 (; 116 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $start:std/array~anonymous|38 (; 108 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|38 (; 117 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -4790,7 +4850,7 @@ i32.gt_s end ) - (func $~lib/array/Array#reduceRight (; 109 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 118 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $2 @@ -4835,7 +4895,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|39 (; 110 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|39 (; 119 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -4847,7 +4907,7 @@ i32.gt_s end ) - (func $start:std/array~anonymous|40 (; 111 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|40 (; 120 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 i32.const 1 call $~lib/array/Array#push @@ -4856,12 +4916,12 @@ local.get $1 i32.add ) - (func $start:std/array~anonymous|41 (; 112 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|41 (; 121 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $start:std/array~anonymous|42 (; 113 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|42 (; 122 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $3 call $~lib/array/Array#pop drop @@ -4869,7 +4929,7 @@ local.get $1 i32.add ) - (func $~lib/math/murmurHash3 (; 114 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) + (func $~lib/math/murmurHash3 (; 123 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -4898,7 +4958,7 @@ local.set $0 local.get $0 ) - (func $~lib/math/splitMix32 (; 115 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 124 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -4933,7 +4993,7 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 116 ;) (type $FUNCSIG$vj) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 125 ;) (type $FUNCSIG$vj) (param $0 i64) local.get $0 i64.eqz if @@ -4962,7 +5022,7 @@ call $~lib/math/splitMix32 global.set $~lib/math/random_state1_32 ) - (func $~lib/util/sort/insertionSort (; 117 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 126 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f32) (local $5 i32) @@ -5058,7 +5118,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 118 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 127 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5358,7 +5418,7 @@ local.get $10 f32.store ) - (func $~lib/array/Array#sort (; 119 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 128 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f32) @@ -5444,7 +5504,7 @@ end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 120 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 129 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -5477,7 +5537,7 @@ i32.lt_s i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 121 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 130 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -5487,7 +5547,7 @@ unreachable end block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 44 + i32.const 57 br $~lib/util/sort/COMPARATOR|inlined.0 end local.set $1 @@ -5496,12 +5556,12 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/builtins/isNaN (; 122 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/builtins/isNaN (; 131 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne ) - (func $std/array/isArraysEqual (; 123 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 132 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -5572,7 +5632,15 @@ end i32.const 1 ) - (func $~lib/util/sort/insertionSort (; 124 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array~iterate (; 133 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/util/sort/insertionSort (; 134 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -5668,7 +5736,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 125 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 135 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5968,7 +6036,7 @@ local.get $10 f64.store ) - (func $~lib/array/Array#sort (; 126 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 136 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f64) @@ -6054,7 +6122,7 @@ end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 127 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 137 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -6087,7 +6155,7 @@ i64.lt_s i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 128 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 138 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -6097,7 +6165,7 @@ unreachable end block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 45 + i32.const 60 br $~lib/util/sort/COMPARATOR|inlined.0 end local.set $1 @@ -6106,11 +6174,11 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/array/Array#get:length (; 129 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 139 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 130 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__unchecked_get (; 140 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $0 i32.load offset=4 local.get $1 @@ -6119,7 +6187,7 @@ i32.add f64.load ) - (func $~lib/array/Array#__get (; 131 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__get (; 141 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -6138,12 +6206,12 @@ local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $~lib/builtins/isNaN (; 132 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isNaN (; 142 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $std/array/isArraysEqual (; 133 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 143 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -6214,7 +6282,7 @@ end i32.const 1 ) - (func $~lib/util/sort/insertionSort (; 134 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 144 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6310,7 +6378,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 135 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 145 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6610,7 +6678,7 @@ local.get $10 i32.store ) - (func $~lib/array/Array#sort (; 136 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 146 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6694,12 +6762,12 @@ end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 137 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 147 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 138 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 148 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -6709,7 +6777,7 @@ unreachable end block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 46 + i32.const 61 br $~lib/util/sort/COMPARATOR|inlined.0 end local.set $1 @@ -6718,7 +6786,7 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/util/sort/insertionSort (; 139 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 149 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6814,7 +6882,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 140 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 150 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7114,7 +7182,7 @@ local.get $10 i32.store ) - (func $~lib/array/Array#sort (; 141 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 151 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7198,7 +7266,7 @@ end local.get $0 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 142 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 152 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.gt_u @@ -7207,7 +7275,7 @@ i32.lt_u i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 143 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 153 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -7217,7 +7285,7 @@ unreachable end block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 47 + i32.const 62 br $~lib/util/sort/COMPARATOR|inlined.0 end local.set $1 @@ -7226,7 +7294,7 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/array/Array.create (; 144 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.create (; 154 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7266,7 +7334,7 @@ i32.store offset=12 local.get $3 ) - (func $std/array/createReverseOrderedArray (; 145 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedArray (; 155 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -7300,7 +7368,7 @@ end local.get $1 ) - (func $~lib/math/NativeMath.random (; 146 ;) (type $FUNCSIG$d) (result f64) + (func $~lib/math/NativeMath.random (; 156 ;) (type $FUNCSIG$d) (result f64) (local $0 i64) (local $1 i64) (local $2 i64) @@ -7357,7 +7425,7 @@ f64.const 1 f64.sub ) - (func $std/array/createRandomOrderedArray (; 147 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomOrderedArray (; 157 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -7391,12 +7459,12 @@ end local.get $1 ) - (func $~lib/util/sort/COMPARATOR~anonymous|1 (; 148 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|1 (; 158 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $std/array/isSorted (; 149 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 159 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -7444,7 +7512,7 @@ end i32.const 1 ) - (func $std/array/assertSorted (; 150 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 160 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array#sort @@ -7460,35 +7528,81 @@ unreachable end ) - (func $std/array/assertSortedDefault (; 151 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/array/assertSortedDefault (; 161 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 block $~lib/util/sort/COMPARATOR|inlined.1 (result i32) - i32.const 48 + i32.const 63 br $~lib/util/sort/COMPARATOR|inlined.1 end call $std/array/assertSorted ) - (func $start:std/array~anonymous|43 (; 152 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|43 (; 162 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $start:std/array~anonymous|44 (; 153 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|44 (; 163 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $start:std/array~anonymous|45 (; 154 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|45 (; 164 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $start:std/array~anonymous|46 (; 155 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|46 (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $~lib/array/Array.create<~lib/array/Array> (; 156 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>~iterate (; 166 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $~lib/array/Array~iterate + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/array/Array.create<~lib/array/Array> (; 167 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7511,7 +7625,7 @@ i32.const 0 local.set $1 local.get $2 - i32.const 11 + i32.const 68 i32.const 2 local.get $1 call $~lib/runtime/makeArray @@ -7528,7 +7642,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array<~lib/array/Array>#__unchecked_set (; 157 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/array/Array>#__unchecked_set (; 168 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $0 @@ -7561,7 +7675,7 @@ call $~lib/collector/dummy/__ref_link end ) - (func $~lib/array/Array<~lib/array/Array>#__set (; 158 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/array/Array>#__set (; 169 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -7598,7 +7712,7 @@ i32.store offset=12 end ) - (func $std/array/createReverseOrderedNestedArray (; 159 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedNestedArray (; 170 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7642,7 +7756,7 @@ end local.get $1 ) - (func $start:std/array~anonymous|47 (; 160 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|47 (; 171 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -7651,7 +7765,7 @@ call $~lib/array/Array#__get i32.sub ) - (func $~lib/util/sort/insertionSort<~lib/array/Array> (; 161 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort<~lib/array/Array> (; 172 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7747,7 +7861,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/array/Array>#sort (; 162 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#sort (; 173 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7821,11 +7935,11 @@ end local.get $0 ) - (func $~lib/array/Array<~lib/array/Array>#get:length (; 163 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#get:length (; 174 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 164 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -7834,7 +7948,7 @@ i32.add i32.load ) - (func $~lib/array/Array<~lib/array/Array>#__get (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__get (; 176 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 @@ -7865,7 +7979,7 @@ local.get $1 call $~lib/array/Array<~lib/array/Array>#__unchecked_get ) - (func $std/array/isSorted<~lib/array/Array> (; 166 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/array/Array> (; 177 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -7913,7 +8027,7 @@ end i32.const 1 ) - (func $std/array/assertSorted<~lib/array/Array> (; 167 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/array/Array> (; 178 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#sort @@ -7929,7 +8043,56 @@ unreachable end ) - (func $~lib/array/Array.create> (; 168 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/Proxy~iterate (; 179 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/array/Array>~iterate (; 180 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $std/array/Proxy~iterate + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/array/Array.create> (; 181 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7952,7 +8115,7 @@ i32.const 0 local.set $1 local.get $2 - i32.const 12 + i32.const 71 i32.const 2 local.get $1 call $~lib/runtime/makeArray @@ -7969,13 +8132,13 @@ i32.store offset=12 local.get $3 ) - (func $std/array/Proxy#constructor (; 169 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/Proxy#constructor (; 182 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.eqz if i32.const 4 call $~lib/runtime/allocate - i32.const 13 + i32.const 72 call $~lib/runtime/register local.set $0 end @@ -7984,7 +8147,7 @@ i32.store local.get $0 ) - (func $~lib/array/Array>#__unchecked_set (; 170 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array>#__unchecked_set (; 183 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $0 @@ -8017,7 +8180,7 @@ call $~lib/collector/dummy/__ref_link end ) - (func $~lib/array/Array>#__set (; 171 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array>#__set (; 184 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -8054,7 +8217,7 @@ i32.store offset=12 end ) - (func $std/array/createReverseOrderedElementsArray (; 172 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedElementsArray (; 185 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -8090,14 +8253,14 @@ end local.get $1 ) - (func $start:std/array~anonymous|48 (; 173 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|48 (; 186 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load local.get $1 i32.load i32.sub ) - (func $~lib/util/sort/insertionSort> (; 174 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort> (; 187 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8193,7 +8356,7 @@ unreachable end ) - (func $~lib/array/Array>#sort (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#sort (; 188 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8267,11 +8430,11 @@ end local.get $0 ) - (func $~lib/array/Array>#get:length (; 176 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#get:length (; 189 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array>#__unchecked_get (; 177 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__unchecked_get (; 190 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -8280,7 +8443,7 @@ i32.add i32.load ) - (func $~lib/array/Array>#__get (; 178 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__get (; 191 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 @@ -8311,7 +8474,7 @@ local.get $1 call $~lib/array/Array>#__unchecked_get ) - (func $std/array/isSorted> (; 179 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted> (; 192 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -8359,7 +8522,7 @@ end i32.const 1 ) - (func $std/array/assertSorted> (; 180 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted> (; 193 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array>#sort @@ -8375,7 +8538,56 @@ unreachable end ) - (func $~lib/util/sort/insertionSort<~lib/string/String | null> (; 181 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/string/String | null>~iterate (; 194 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + local.get $4 + if + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $~lib/string/String~iterate + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/util/sort/insertionSort<~lib/string/String | null> (; 195 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8471,7 +8683,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/string/String | null>#sort (; 182 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#sort (; 196 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8545,11 +8757,11 @@ end local.get $0 ) - (func $~lib/array/Array<~lib/string/String | null>#get:length (; 183 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#get:length (; 197 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String | null>#__unchecked_get (; 184 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#__unchecked_get (; 198 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -8558,7 +8770,7 @@ i32.add i32.load ) - (func $~lib/array/Array<~lib/string/String | null>#__get (; 185 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#__get (; 199 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -8577,7 +8789,7 @@ local.get $1 call $~lib/array/Array<~lib/string/String | null>#__unchecked_get ) - (func $std/array/isSorted<~lib/string/String | null> (; 186 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/string/String | null> (; 200 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -8625,7 +8837,7 @@ end i32.const 1 ) - (func $std/array/assertSorted<~lib/string/String | null> (; 187 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String | null> (; 201 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String | null>#sort @@ -8641,7 +8853,7 @@ unreachable end ) - (func $~lib/string/String#get:length (; 188 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 202 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 global.get $~lib/runtime/HEADER_SIZE i32.sub @@ -8649,7 +8861,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/util/string/compareImpl (; 189 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/string/compareImpl (; 203 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -8702,7 +8914,7 @@ end local.get $5 ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 (; 190 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 (; 204 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8775,7 +8987,7 @@ select call $~lib/util/string/compareImpl ) - (func $std/array/assertSorted<~lib/string/String | null>|trampoline (; 191 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String | null>|trampoline (; 205 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) block $1of1 block $0of1 block $outOfRange @@ -8787,7 +8999,7 @@ unreachable end block $~lib/util/sort/COMPARATOR<~lib/string/String | null>|inlined.0 (result i32) - i32.const 55 + i32.const 77 br $~lib/util/sort/COMPARATOR<~lib/string/String | null>|inlined.0 end local.set $1 @@ -8796,7 +9008,7 @@ local.get $1 call $std/array/assertSorted<~lib/string/String | null> ) - (func $~lib/string/String.__eq (; 192 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 206 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -8840,13 +9052,13 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String.__ne (; 193 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 207 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/string/String.__eq i32.eqz ) - (func $std/array/isArraysEqual<~lib/string/String | null> (; 194 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual<~lib/string/String | null> (; 208 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -8901,7 +9113,53 @@ end i32.const 1 ) - (func $~lib/array/Array.create<~lib/string/String> (; 195 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>~iterate (; 209 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $~lib/string/String~iterate + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/array/Array.create<~lib/string/String> (; 210 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8924,7 +9182,7 @@ i32.const 0 local.set $1 local.get $2 - i32.const 15 + i32.const 78 i32.const 2 local.get $1 call $~lib/runtime/makeArray @@ -8941,7 +9199,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/string/String#charAt (; 196 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#charAt (; 211 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -8987,7 +9245,7 @@ call $~lib/runtime/register end ) - (func $~lib/string/String#concat (; 197 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 212 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9046,7 +9304,7 @@ call $~lib/runtime/register end ) - (func $~lib/string/String.__concat (; 198 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 213 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 4424 local.get $0 @@ -9056,7 +9314,7 @@ local.get $1 call $~lib/string/String#concat ) - (func $std/array/createRandomString (; 199 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomString (; 214 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -9098,7 +9356,7 @@ end local.get $1 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 200 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 215 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $0 @@ -9131,7 +9389,7 @@ call $~lib/collector/dummy/__ref_link end ) - (func $~lib/array/Array<~lib/string/String>#__set (; 201 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/string/String>#__set (; 216 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $0 i32.load offset=12 @@ -9168,7 +9426,7 @@ i32.store offset=12 end ) - (func $std/array/createRandomStringArray (; 202 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/createRandomStringArray (; 217 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -9202,7 +9460,7 @@ end local.get $1 ) - (func $~lib/util/sort/insertionSort<~lib/string/String> (; 203 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort<~lib/string/String> (; 218 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9298,7 +9556,7 @@ unreachable end ) - (func $~lib/array/Array<~lib/string/String>#sort (; 204 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#sort (; 219 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9372,11 +9630,11 @@ end local.get $0 ) - (func $~lib/array/Array<~lib/string/String>#get:length (; 205 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:length (; 220 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 206 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 221 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -9385,7 +9643,7 @@ i32.add i32.load ) - (func $~lib/array/Array<~lib/string/String>#__get (; 207 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 222 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 @@ -9416,7 +9674,7 @@ local.get $1 call $~lib/array/Array<~lib/string/String>#__unchecked_get ) - (func $std/array/isSorted<~lib/string/String> (; 208 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/string/String> (; 223 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -9464,7 +9722,7 @@ end i32.const 1 ) - (func $std/array/assertSorted<~lib/string/String> (; 209 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String> (; 224 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#sort @@ -9480,7 +9738,7 @@ unreachable end ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (; 210 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (; 225 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9553,7 +9811,7 @@ select call $~lib/util/string/compareImpl ) - (func $std/array/assertSorted<~lib/string/String>|trampoline (; 211 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String>|trampoline (; 226 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) block $1of1 block $0of1 block $outOfRange @@ -9565,7 +9823,7 @@ unreachable end block $~lib/util/sort/COMPARATOR<~lib/string/String>|inlined.0 (result i32) - i32.const 56 + i32.const 80 br $~lib/util/sort/COMPARATOR<~lib/string/String>|inlined.0 end local.set $1 @@ -9574,7 +9832,15 @@ local.get $1 call $std/array/assertSorted<~lib/string/String> ) - (func $~lib/string/String#substring (; 212 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array~iterate (; 227 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/string/String#substring (; 228 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9700,7 +9966,7 @@ call $~lib/runtime/register end ) - (func $~lib/runtime/discard (; 213 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/discard (; 229 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -9734,7 +10000,7 @@ local.get $1 call $~lib/memory/memory.free ) - (func $~lib/array/Array#join_bool (; 214 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_bool (; 230 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9921,13 +10187,13 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array#join (; 215 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 231 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_bool return ) - (func $~lib/util/number/decimalCount32 (; 216 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 232 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -9996,7 +10262,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa32_lut (; 217 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 233 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10139,7 +10405,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 218 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 234 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10203,12 +10469,12 @@ call $~lib/runtime/register end ) - (func $~lib/util/number/itoa (; 219 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 235 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/util/number/itoa32 return ) - (func $~lib/util/number/itoa_stream (; 220 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 236 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10267,7 +10533,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 221 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 237 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10413,13 +10679,13 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array#join (; 222 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 238 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/util/number/utoa32 (; 223 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 239 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10463,12 +10729,12 @@ call $~lib/runtime/register end ) - (func $~lib/util/number/itoa (; 224 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 240 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 225 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 241 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10507,7 +10773,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 242 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10653,20 +10919,28 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array#join (; 227 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 243 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/builtins/isFinite (; 228 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isFinite (; 244 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub f64.const 0 f64.eq ) - (func $~lib/array/Array#__unchecked_get (; 229 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array~iterate (; 245 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#__unchecked_get (; 246 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $0 i32.load offset=4 local.get $1 @@ -10675,7 +10949,15 @@ i32.add i64.load ) - (func $~lib/array/Array#__unchecked_get (; 230 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array~iterate (; 247 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#__unchecked_get (; 248 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -10684,7 +10966,7 @@ i32.add i32.load16_s ) - (func $~lib/util/number/genDigits (; 231 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 249 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -11255,7 +11537,7 @@ end local.get $15 ) - (func $~lib/util/number/prettify (; 232 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 250 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -11588,7 +11870,7 @@ unreachable unreachable ) - (func $~lib/util/number/dtoa_core (; 233 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 251 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 f64) (local $4 i32) @@ -12026,7 +12308,7 @@ local.get $2 i32.add ) - (func $~lib/util/number/dtoa (; 234 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 252 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12082,7 +12364,7 @@ end local.get $4 ) - (func $~lib/util/number/dtoa_stream (; 235 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/util/number/dtoa_stream (; 253 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12156,7 +12438,7 @@ local.get $2 call $~lib/util/number/dtoa_core ) - (func $~lib/array/Array#join_flt (; 236 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_flt (; 254 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12302,13 +12584,13 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array#join (; 237 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 255 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_flt return ) - (func $~lib/array/Array<~lib/string/String>#join_str (; 238 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#join_str (; 256 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12500,25 +12782,77 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array<~lib/string/String>#join (; 239 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#join (; 257 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#join_str return ) - (func $std/array/Ref#constructor (; 240 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/Ref~iterate (; 258 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $std/array/Ref#constructor (; 259 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 call $~lib/runtime/allocate - i32.const 19 + i32.const 87 call $~lib/runtime/register local.set $0 end local.get $0 ) - (func $~lib/array/Array#join_ref (; 241 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array~iterate (; 260 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + local.get $4 + if + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $std/array/Ref~iterate + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/array/Array#join_ref (; 261 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12680,18 +13014,26 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array#join (; 242 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 262 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_ref return ) - (func $~lib/array/Array#toString (; 243 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 263 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa (; 244 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array~iterate (; 264 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/util/number/itoa (; 265 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -12700,7 +13042,7 @@ call $~lib/util/number/itoa32 return ) - (func $~lib/util/number/itoa_stream (; 245 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 266 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12775,7 +13117,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 246 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 267 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12921,25 +13263,33 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array#join (; 247 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 268 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/array/Array#toString (; 248 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 269 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa (; 249 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array~iterate (; 270 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/util/number/itoa (; 271 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 65535 i32.and call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 250 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 272 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12984,7 +13334,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 251 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 273 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13130,18 +13480,18 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array#join (; 252 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 274 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/array/Array#toString (; 253 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 275 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/util/number/decimalCount64 (; 254 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 276 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -13210,7 +13560,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa64_lut (; 255 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 277 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -13338,7 +13688,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 256 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 278 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13418,12 +13768,12 @@ call $~lib/runtime/register end ) - (func $~lib/util/number/itoa (; 257 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 279 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 call $~lib/util/number/utoa64 return ) - (func $~lib/util/number/itoa_stream (; 258 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 280 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -13489,7 +13839,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 259 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 281 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13635,18 +13985,26 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array#join (; 260 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 282 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/array/Array#toString (; 261 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 283 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa64 (; 262 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/array/Array~iterate (; 284 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/util/number/itoa64 (; 285 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13748,12 +14106,12 @@ call $~lib/runtime/register end ) - (func $~lib/util/number/itoa (; 263 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 286 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 call $~lib/util/number/itoa64 return ) - (func $~lib/util/number/itoa_stream (; 264 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 287 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -13841,7 +14199,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 265 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 288 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13987,18 +14345,18 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array#join (; 266 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 289 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/array/Array#toString (; 267 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 290 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array#join ) - (func $~lib/array/Array<~lib/string/String | null>#join_str (; 268 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#join_str (; 291 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14190,23 +14548,23 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array<~lib/string/String | null>#join (; 269 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#join (; 292 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String | null>#join_str return ) - (func $~lib/array/Array<~lib/string/String | null>#toString (; 270 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#toString (; 293 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array<~lib/string/String | null>#join ) - (func $~lib/array/Array<~lib/string/String>#toString (; 271 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#toString (; 294 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array<~lib/string/String>#join ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 272 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 295 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14310,25 +14668,71 @@ end local.get $3 ) - (func $~lib/array/Array<~lib/array/Array>#join (; 273 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join (; 296 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#join_arr return ) - (func $~lib/array/Array<~lib/array/Array>#toString (; 274 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#toString (; 297 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array<~lib/array/Array>#join ) - (func $~lib/util/number/itoa (; 275 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>~iterate (; 298 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $~lib/array/Array~iterate + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/util/number/itoa (; 299 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 276 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 300 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14373,7 +14777,7 @@ end local.get $3 ) - (func $~lib/array/Array#join_int (; 277 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join_int (; 301 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14519,13 +14923,13 @@ call $~lib/runtime/register end ) - (func $~lib/array/Array#join (; 278 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 302 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array#join_int return ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 279 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 303 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14629,18 +15033,110 @@ end local.get $3 ) - (func $~lib/array/Array<~lib/array/Array>#join (; 280 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join (; 304 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#join_arr return ) - (func $~lib/array/Array<~lib/array/Array>#toString (; 281 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#toString (; 305 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array<~lib/array/Array>#join ) - (func $~lib/array/Array<~lib/array/Array>#join_arr (; 282 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>~iterate (; 306 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $~lib/array/Array~iterate + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~iterate (; 307 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $~lib/array/Array<~lib/array/Array>~iterate + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/array/Array<~lib/array/Array>#join_arr (; 308 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14744,13 +15240,13 @@ end local.get $3 ) - (func $~lib/array/Array<~lib/array/Array>#join (; 283 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join (; 309 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array>#join_arr return ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr (; 284 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr (; 310 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14854,18 +15350,18 @@ end local.get $3 ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join (; 285 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join (; 311 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr return ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (; 286 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (; 312 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 4528 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join ) - (func $start:std/array (; 287 ;) (type $FUNCSIG$v) + (func $start:std/array (; 313 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14974,7 +15470,7 @@ drop global.get $std/array/arr8 i32.const 5 - i32.const 7 + i32.const 8 i32.const 0 i32.const 248 call $~lib/runtime/makeArray @@ -14997,7 +15493,7 @@ drop global.get $std/array/arr8 i32.const 5 - i32.const 7 + i32.const 8 i32.const 0 i32.const 320 call $~lib/runtime/makeArray @@ -15020,7 +15516,7 @@ drop global.get $std/array/arr8 i32.const 5 - i32.const 7 + i32.const 8 i32.const 0 i32.const 344 call $~lib/runtime/makeArray @@ -15043,7 +15539,7 @@ drop global.get $std/array/arr8 i32.const 5 - i32.const 7 + i32.const 8 i32.const 0 i32.const 368 call $~lib/runtime/makeArray @@ -15066,7 +15562,7 @@ drop global.get $std/array/arr8 i32.const 5 - i32.const 7 + i32.const 8 i32.const 0 i32.const 392 call $~lib/runtime/makeArray @@ -15089,7 +15585,7 @@ drop global.get $std/array/arr32 i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 488 call $~lib/runtime/makeArray @@ -15112,7 +15608,7 @@ drop global.get $std/array/arr32 i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 528 call $~lib/runtime/makeArray @@ -15135,7 +15631,7 @@ drop global.get $std/array/arr32 i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 568 call $~lib/runtime/makeArray @@ -15158,7 +15654,7 @@ drop global.get $std/array/arr32 i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 608 call $~lib/runtime/makeArray @@ -15181,7 +15677,7 @@ drop global.get $std/array/arr32 i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 648 call $~lib/runtime/makeArray @@ -17540,7 +18036,7 @@ i32.const 3 call $~lib/array/Array#__set global.get $std/array/arr - i32.const 1 + i32.const 12 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -17556,7 +18052,7 @@ unreachable end global.get $std/array/arr - i32.const 2 + i32.const 13 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -17572,7 +18068,7 @@ unreachable end global.get $std/array/arr - i32.const 3 + i32.const 14 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -17588,7 +18084,7 @@ unreachable end global.get $std/array/arr - i32.const 4 + i32.const 15 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -17617,7 +18113,7 @@ unreachable end global.get $std/array/arr - i32.const 5 + i32.const 16 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -17645,7 +18141,7 @@ call $~lib/array/Array#pop drop global.get $std/array/arr - i32.const 6 + i32.const 17 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -17682,7 +18178,7 @@ call $~lib/array/Array#push drop global.get $std/array/arr - i32.const 7 + i32.const 18 call $~lib/array/Array#every global.set $std/array/every global.get $std/array/every @@ -17698,7 +18194,7 @@ unreachable end global.get $std/array/arr - i32.const 8 + i32.const 19 call $~lib/array/Array#every global.set $std/array/every global.get $std/array/every @@ -17714,7 +18210,7 @@ unreachable end global.get $std/array/arr - i32.const 9 + i32.const 20 call $~lib/array/Array#every global.set $std/array/every global.get $std/array/every @@ -17743,7 +18239,7 @@ unreachable end global.get $std/array/arr - i32.const 10 + i32.const 21 call $~lib/array/Array#every global.set $std/array/every global.get $std/array/every @@ -17771,7 +18267,7 @@ call $~lib/array/Array#pop drop global.get $std/array/arr - i32.const 11 + i32.const 22 call $~lib/array/Array#every global.set $std/array/every global.get $std/array/every @@ -17808,7 +18304,7 @@ call $~lib/array/Array#push drop global.get $std/array/arr - i32.const 12 + i32.const 23 call $~lib/array/Array#some global.set $std/array/some global.get $std/array/some @@ -17824,7 +18320,7 @@ unreachable end global.get $std/array/arr - i32.const 13 + i32.const 24 call $~lib/array/Array#some global.set $std/array/some global.get $std/array/some @@ -17840,7 +18336,7 @@ unreachable end global.get $std/array/arr - i32.const 14 + i32.const 25 call $~lib/array/Array#some global.set $std/array/some global.get $std/array/some @@ -17869,7 +18365,7 @@ unreachable end global.get $std/array/arr - i32.const 15 + i32.const 26 call $~lib/array/Array#some global.set $std/array/some global.get $std/array/some @@ -17897,7 +18393,7 @@ call $~lib/array/Array#pop drop global.get $std/array/arr - i32.const 16 + i32.const 27 call $~lib/array/Array#some global.set $std/array/some global.get $std/array/some @@ -17936,7 +18432,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 17 + i32.const 28 call $~lib/array/Array#forEach global.get $std/array/i i32.const 6 @@ -17953,7 +18449,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 18 + i32.const 29 call $~lib/array/Array#forEach global.get $std/array/i i32.const 6 @@ -17983,7 +18479,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 19 + i32.const 30 call $~lib/array/Array#forEach global.get $std/array/i i32.const 406 @@ -18012,7 +18508,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 20 + i32.const 31 call $~lib/array/Array#forEach global.get $std/array/i i32.const 1 @@ -18048,7 +18544,7 @@ call $~lib/array/Array#push drop global.get $std/array/arr - i32.const 21 + i32.const 32 call $~lib/array/Array#forEach global.get $std/array/arr call $~lib/array/Array#get:length @@ -18101,7 +18597,7 @@ call $~lib/array/Array#push drop global.get $std/array/arr - i32.const 22 + i32.const 33 call $~lib/array/Array#map global.set $std/array/newArr global.get $std/array/newArr @@ -18137,7 +18633,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 23 + i32.const 36 call $~lib/array/Array#map drop global.get $std/array/i @@ -18168,7 +18664,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 24 + i32.const 37 call $~lib/array/Array#map drop global.get $std/array/i @@ -18198,7 +18694,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 25 + i32.const 38 call $~lib/array/Array#map drop global.get $std/array/i @@ -18235,7 +18731,7 @@ call $~lib/array/Array#push drop global.get $std/array/arr - i32.const 26 + i32.const 39 call $~lib/array/Array#filter global.set $std/array/filteredArr global.get $std/array/filteredArr @@ -18254,7 +18750,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 27 + i32.const 40 call $~lib/array/Array#filter drop global.get $std/array/i @@ -18285,7 +18781,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 28 + i32.const 41 call $~lib/array/Array#filter drop global.get $std/array/i @@ -18315,7 +18811,7 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - i32.const 29 + i32.const 42 call $~lib/array/Array#filter drop global.get $std/array/i @@ -18352,7 +18848,7 @@ call $~lib/array/Array#push drop global.get $std/array/arr - i32.const 30 + i32.const 43 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -18369,7 +18865,7 @@ unreachable end global.get $std/array/arr - i32.const 31 + i32.const 44 i32.const 4 call $~lib/array/Array#reduce global.set $std/array/i @@ -18386,7 +18882,7 @@ unreachable end global.get $std/array/arr - i32.const 32 + i32.const 45 i32.const 0 call $~lib/array/Array#reduce i32.const 0 @@ -18405,7 +18901,7 @@ unreachable end global.get $std/array/arr - i32.const 33 + i32.const 46 i32.const 0 call $~lib/array/Array#reduce i32.const 0 @@ -18424,7 +18920,7 @@ unreachable end global.get $std/array/arr - i32.const 34 + i32.const 47 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -18454,7 +18950,7 @@ unreachable end global.get $std/array/arr - i32.const 35 + i32.const 48 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -18483,7 +18979,7 @@ call $~lib/array/Array#pop drop global.get $std/array/arr - i32.const 36 + i32.const 49 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -18521,7 +19017,7 @@ call $~lib/array/Array#push drop global.get $std/array/arr - i32.const 37 + i32.const 50 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -18538,7 +19034,7 @@ unreachable end global.get $std/array/arr - i32.const 38 + i32.const 51 i32.const 4 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -18555,7 +19051,7 @@ unreachable end global.get $std/array/arr - i32.const 39 + i32.const 52 i32.const 0 call $~lib/array/Array#reduceRight i32.const 0 @@ -18574,7 +19070,7 @@ unreachable end global.get $std/array/arr - i32.const 40 + i32.const 53 i32.const 0 call $~lib/array/Array#reduceRight i32.const 0 @@ -18593,7 +19089,7 @@ unreachable end global.get $std/array/arr - i32.const 41 + i32.const 54 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -18623,7 +19119,7 @@ unreachable end global.get $std/array/arr - i32.const 42 + i32.const 55 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -18652,7 +19148,7 @@ call $~lib/array/Array#pop drop global.get $std/array/arr - i32.const 43 + i32.const 56 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -18710,7 +19206,7 @@ drop global.get $std/array/f32ArrayTyped i32.const 8 - i32.const 9 + i32.const 34 i32.const 2 i32.const 3304 call $~lib/runtime/makeArray @@ -18735,7 +19231,7 @@ drop global.get $std/array/f64ArrayTyped i32.const 8 - i32.const 10 + i32.const 58 i32.const 3 i32.const 3464 call $~lib/runtime/makeArray @@ -18785,7 +19281,7 @@ drop global.get $std/array/u32ArrayTyped i32.const 5 - i32.const 8 + i32.const 10 i32.const 2 i32.const 3728 call $~lib/runtime/makeArray @@ -18939,28 +19435,28 @@ call $std/array/createRandomOrderedArray global.set $std/array/randomized257 global.get $std/array/randomized64 - i32.const 49 + i32.const 64 call $std/array/assertSorted global.get $std/array/randomized64 - i32.const 50 + i32.const 65 call $std/array/assertSorted global.get $std/array/randomized257 - i32.const 51 + i32.const 66 call $std/array/assertSorted global.get $std/array/randomized257 - i32.const 52 + i32.const 67 call $std/array/assertSorted i32.const 512 call $std/array/createReverseOrderedNestedArray global.set $std/array/reversedNested512 global.get $std/array/reversedNested512 - i32.const 53 + i32.const 70 call $std/array/assertSorted<~lib/array/Array> i32.const 512 call $std/array/createReverseOrderedElementsArray global.set $std/array/reversedElements512 global.get $std/array/reversedElements512 - i32.const 54 + i32.const 74 call $std/array/assertSorted> block i32.const 1 @@ -18993,7 +19489,7 @@ call $std/array/assertSorted<~lib/string/String>|trampoline end i32.const 2 - i32.const 16 + i32.const 81 i32.const 0 i32.const 4552 call $~lib/runtime/makeArray @@ -19029,7 +19525,7 @@ unreachable end i32.const 3 - i32.const 8 + i32.const 10 i32.const 2 i32.const 5240 call $~lib/runtime/makeArray @@ -19065,7 +19561,7 @@ unreachable end i32.const 6 - i32.const 10 + i32.const 58 i32.const 3 i32.const 6672 call $~lib/runtime/makeArray @@ -19083,7 +19579,7 @@ unreachable end i32.const 3 - i32.const 15 + i32.const 78 i32.const 2 i32.const 6888 call $~lib/runtime/makeArray @@ -19102,7 +19598,7 @@ end block (result i32) i32.const 3 - i32.const 20 + i32.const 88 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -19221,7 +19717,7 @@ unreachable end i32.const 3 - i32.const 21 + i32.const 90 i32.const 0 i32.const 7128 call $~lib/runtime/makeArray @@ -19238,7 +19734,7 @@ unreachable end i32.const 3 - i32.const 22 + i32.const 92 i32.const 1 i32.const 7208 call $~lib/runtime/makeArray @@ -19255,7 +19751,7 @@ unreachable end i32.const 3 - i32.const 17 + i32.const 83 i32.const 3 i32.const 7312 call $~lib/runtime/makeArray @@ -19272,7 +19768,7 @@ unreachable end i32.const 4 - i32.const 23 + i32.const 94 i32.const 3 i32.const 7464 call $~lib/runtime/makeArray @@ -19302,7 +19798,7 @@ unreachable end i32.const 4 - i32.const 15 + i32.const 78 i32.const 2 i32.const 7744 call $~lib/runtime/makeArray @@ -19320,7 +19816,7 @@ end block (result i32) i32.const 2 - i32.const 11 + i32.const 68 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -19374,7 +19870,7 @@ end block (result i32) i32.const 2 - i32.const 24 + i32.const 96 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -19385,7 +19881,7 @@ local.get $1 block (result i32) i32.const 2 - i32.const 7 + i32.const 8 i32.const 0 i32.const 7936 call $~lib/runtime/makeArray @@ -19399,7 +19895,7 @@ local.get $1 block (result i32) i32.const 2 - i32.const 7 + i32.const 8 i32.const 0 i32.const 7960 call $~lib/runtime/makeArray @@ -19428,7 +19924,7 @@ end block (result i32) i32.const 1 - i32.const 26 + i32.const 100 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -19440,7 +19936,7 @@ block (result i32) block (result i32) i32.const 1 - i32.const 25 + i32.const 98 i32.const 2 i32.const 0 call $~lib/runtime/makeArray @@ -19451,7 +19947,7 @@ local.get $3 block (result i32) i32.const 1 - i32.const 8 + i32.const 10 i32.const 2 i32.const 8056 call $~lib/runtime/makeArray @@ -19488,7 +19984,7 @@ unreachable end ) - (func $std/array/main (; 288 ;) (type $FUNCSIG$v) + (func $std/array/main (; 314 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -19497,9 +19993,9 @@ global.set $~lib/started end ) - (func $start (; 289 ;) (type $FUNCSIG$v) + (func $start (; 315 ;) (type $FUNCSIG$v) call $start:std/array ) - (func $null (; 290 ;) (type $FUNCSIG$v) + (func $null (; 316 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/map.optimized.wat b/tests/compiler/std/map.optimized.wat index 0a1d8a1f..f026b941 100644 --- a/tests/compiler/std/map.optimized.wat +++ b/tests/compiler/std/map.optimized.wat @@ -1,11 +1,11 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iij (func (param i32 i64) (result i32))) (type $FUNCSIG$ij (func (param i64) (result i32))) @@ -23,16 +23,17 @@ (type $FUNCSIG$vid (func (param i32 f64))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00\1e") + (data (i32.const 8) "\03\00\00\00\1e") (data (i32.const 24) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 56) "\02\00\00\00&") + (data (i32.const 56) "\03\00\00\00&") (data (i32.const 72) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 112) "\02\00\00\00\14") + (data (i32.const 112) "\03\00\00\00\14") (data (i32.const 128) "s\00t\00d\00/\00m\00a\00p\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (table $0 23 funcref) + (elem (i32.const 0) $null $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/string/String~iterate $~lib/string/String~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate) (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 $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) @@ -127,7 +128,26 @@ i32.const 16 i32.add ) - (func $~lib/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map~iterate (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $0 + i32.const 1 + global.set $~lib/argc + local.get $0 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/string/String~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.const 148 @@ -160,7 +180,7 @@ i32.store local.get $0 ) - (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -371,7 +391,7 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 1073741808 @@ -390,10 +410,10 @@ local.get $0 call $~lib/memory/memory.fill local.get $1 - i32.const 3 + i32.const 4 call $~lib/runtime/register ) - (func $~lib/map/Map#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor @@ -428,7 +448,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 9 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate @@ -456,7 +476,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#find (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -501,7 +521,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -517,7 +537,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -627,7 +647,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -726,7 +746,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -747,7 +767,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -814,7 +834,7 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 14 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 16 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor @@ -1158,11 +1178,11 @@ unreachable end ) - (func $~lib/map/Map#constructor (; 15 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 17 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 4 + i32.const 5 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -1186,7 +1206,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#has (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1200,7 +1220,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1310,7 +1330,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1407,7 +1427,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1426,7 +1446,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -1491,7 +1511,7 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 21 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 23 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor @@ -1821,11 +1841,11 @@ unreachable end ) - (func $~lib/map/Map#constructor (; 22 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 24 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 5 + i32.const 7 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -1849,7 +1869,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#find (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 25 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -1894,7 +1914,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1919,7 +1939,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2038,7 +2058,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2146,7 +2166,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -2176,7 +2196,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -2252,7 +2272,7 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 29 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 31 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor @@ -2596,11 +2616,11 @@ unreachable end ) - (func $~lib/map/Map#constructor (; 30 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 32 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 6 + i32.const 9 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -2624,7 +2644,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#has (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -2647,7 +2667,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2766,7 +2786,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2872,7 +2892,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -2900,7 +2920,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -2974,7 +2994,7 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 36 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 38 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor @@ -3304,11 +3324,11 @@ unreachable end ) - (func $~lib/map/Map#constructor (; 37 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 39 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 7 + i32.const 11 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -3332,7 +3352,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/util/hash/hash32 (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -3363,7 +3383,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/map/Map#find (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -3406,7 +3426,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -3415,7 +3435,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 43 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3522,7 +3542,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 44 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3612,7 +3632,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -3626,7 +3646,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (; 46 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -3686,7 +3706,7 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 45 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 47 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor @@ -4002,11 +4022,11 @@ unreachable end ) - (func $~lib/map/Map#constructor (; 46 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 48 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 8 + i32.const 13 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -4030,7 +4050,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $std/map/testNumeric (; 47 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 49 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/map/Map#constructor @@ -4346,7 +4366,7 @@ unreachable end ) - (func $~lib/map/Map#clear (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor @@ -4381,11 +4401,11 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 49 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 51 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 9 + i32.const 15 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -4409,7 +4429,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/util/hash/hash64 (; 50 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/hash/hash64 (; 52 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i32.wrap_i64 @@ -4475,7 +4495,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/map/Map#find (; 51 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 53 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -4518,7 +4538,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 52 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#has (; 54 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) local.get $0 local.get $1 local.get $1 @@ -4527,7 +4547,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4634,7 +4654,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 54 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/map/Map#set (; 56 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4724,7 +4744,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 55 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#get (; 57 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) local.get $0 local.get $1 local.get $1 @@ -4738,7 +4758,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 56 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) + (func $~lib/map/Map#delete (; 58 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) local.get $0 @@ -4799,7 +4819,7 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 57 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 59 ;) (type $FUNCSIG$v) (local $0 i64) (local $1 i32) call $~lib/map/Map#constructor @@ -5122,11 +5142,11 @@ unreachable end ) - (func $~lib/map/Map#constructor (; 58 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 60 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 10 + i32.const 17 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -5150,7 +5170,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $std/map/testNumeric (; 59 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 61 ;) (type $FUNCSIG$v) (local $0 i64) (local $1 i32) call $~lib/map/Map#constructor @@ -5473,11 +5493,11 @@ unreachable end ) - (func $~lib/map/Map#constructor (; 60 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 62 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 11 + i32.const 19 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -5501,7 +5521,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#find (; 61 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 63 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -5544,7 +5564,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 62 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/map/Map#has (; 64 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) local.get $0 local.get $1 local.get $1 @@ -5554,7 +5574,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 65 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5662,7 +5682,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 64 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32) + (func $~lib/map/Map#set (; 66 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5753,7 +5773,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 65 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/map/Map#get (; 67 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) local.get $0 local.get $1 local.get $1 @@ -5768,7 +5788,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 66 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) + (func $~lib/map/Map#delete (; 68 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) local.get $0 @@ -5830,7 +5850,7 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 67 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 69 ;) (type $FUNCSIG$v) (local $0 f32) (local $1 i32) call $~lib/map/Map#constructor @@ -6153,11 +6173,11 @@ unreachable end ) - (func $~lib/map/Map#constructor (; 68 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/map/Map#constructor (; 70 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 12 + i32.const 21 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -6181,7 +6201,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#find (; 69 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 71 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -6224,7 +6244,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 70 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#has (; 72 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) local.get $0 local.get $1 local.get $1 @@ -6234,7 +6254,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 71 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 73 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6342,7 +6362,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 72 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32) + (func $~lib/map/Map#set (; 74 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6433,7 +6453,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 73 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#get (; 75 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) local.get $0 local.get $1 local.get $1 @@ -6448,7 +6468,7 @@ unreachable end ) - (func $~lib/map/Map#delete (; 74 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) + (func $~lib/map/Map#delete (; 76 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (local $2 i32) (local $3 i32) local.get $0 @@ -6510,7 +6530,7 @@ call $~lib/map/Map#rehash end ) - (func $std/map/testNumeric (; 75 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 77 ;) (type $FUNCSIG$v) (local $0 f64) (local $1 i32) call $~lib/map/Map#constructor @@ -6833,7 +6853,7 @@ unreachable end ) - (func $start (; 76 ;) (type $FUNCSIG$v) + (func $start (; 78 ;) (type $FUNCSIG$v) i32.const 152 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset @@ -6849,7 +6869,7 @@ call $std/map/testNumeric call $std/map/testNumeric ) - (func $null (; 77 ;) (type $FUNCSIG$v) + (func $null (; 79 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/map.untouched.wat b/tests/compiler/std/map.untouched.wat index 27b1c61e..2aa29238 100644 --- a/tests/compiler/std/map.untouched.wat +++ b/tests/compiler/std/map.untouched.wat @@ -1,11 +1,11 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iij (func (param i32 i64) (result i32))) (type $FUNCSIG$ij (func (param i64) (result i32))) @@ -19,15 +19,16 @@ (type $FUNCSIG$vidi (func (param i32 f64 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\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\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 112) "\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") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\03\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 56) "\03\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 112) "\03\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") + (table $0 23 funcref) + (elem (i32.const 0) $null $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/string/String~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate $~lib/map/Map~iterate) (global $~lib/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (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 $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) (global $~lib/memory/HEAP_BASE i32 (i32.const 148)) @@ -154,10 +155,30 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $~lib/collector/dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map~iterate (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/string/String~iterate (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/collector/dummy/__ref_register (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -195,7 +216,7 @@ call $~lib/collector/dummy/__ref_register local.get $0 ) - (func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -452,7 +473,10 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer~iterate (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -481,17 +505,17 @@ local.get $3 local.set $2 local.get $2 - i32.const 3 + i32.const 4 call $~lib/runtime/register end ) - (func $~lib/collector/dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/dummy/__ref_link (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/collector/dummy/__ref_unlink (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/dummy/__ref_unlink (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/map/Map#clear (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map#clear (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -560,7 +584,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz @@ -594,14 +618,14 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/util/hash/hash8 (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash8 (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const -2128831035 local.get $0 i32.xor i32.const 16777619 i32.mul ) - (func $~lib/map/Map#find (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -656,7 +680,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -675,7 +699,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -849,7 +873,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -957,7 +981,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -983,11 +1007,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1064,7 +1088,7 @@ end i32.const 1 ) - (func $std/map/testNumeric (; 21 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 24 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -1448,7 +1472,24 @@ unreachable end ) - (func $~lib/map/Map#clear (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map~iterate (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/map/Map#clear (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1517,14 +1558,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 4 + i32.const 5 call $~lib/runtime/register local.set $0 end @@ -1551,7 +1592,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#find (; 24 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -1604,7 +1645,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -1621,7 +1662,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1795,7 +1836,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1901,7 +1942,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -1925,11 +1966,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2004,7 +2045,7 @@ end i32.const 1 ) - (func $std/map/testNumeric (; 31 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 35 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -2374,7 +2415,24 @@ unreachable end ) - (func $~lib/map/Map#clear (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map~iterate (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/map/Map#clear (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2443,14 +2501,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 5 + i32.const 7 call $~lib/runtime/register local.set $0 end @@ -2477,7 +2535,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/util/hash/hash16 (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash16 (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -2499,7 +2557,7 @@ local.set $1 local.get $1 ) - (func $~lib/map/Map#find (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 40 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -2554,7 +2612,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -2573,7 +2631,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 42 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2747,7 +2805,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 38 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 43 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2855,7 +2913,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2881,11 +2939,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2962,7 +3020,7 @@ end i32.const 1 ) - (func $std/map/testNumeric (; 42 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 47 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -3346,7 +3404,24 @@ unreachable end ) - (func $~lib/map/Map#clear (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map~iterate (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/map/Map#clear (; 49 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3415,14 +3490,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 6 + i32.const 9 call $~lib/runtime/register local.set $0 end @@ -3449,7 +3524,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#find (; 45 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -3502,7 +3577,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -3519,7 +3594,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 47 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3693,7 +3768,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 48 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 54 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3799,7 +3874,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3823,11 +3898,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 56 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3902,7 +3977,7 @@ end i32.const 1 ) - (func $std/map/testNumeric (; 52 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 58 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4272,7 +4347,24 @@ unreachable end ) - (func $~lib/map/Map#clear (; 53 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map~iterate (; 59 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/map/Map#clear (; 60 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4341,14 +4433,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 54 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 7 + i32.const 11 call $~lib/runtime/register local.set $0 end @@ -4375,7 +4467,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/util/hash/hash32 (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 62 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -4417,7 +4509,7 @@ local.set $1 local.get $1 ) - (func $~lib/map/Map#find (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -4468,7 +4560,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 64 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -4483,7 +4575,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 58 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 65 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4657,7 +4749,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 59 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 66 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4761,7 +4853,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 67 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4783,11 +4875,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 68 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 69 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4860,7 +4952,7 @@ end i32.const 1 ) - (func $std/map/testNumeric (; 63 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 70 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -5216,7 +5308,24 @@ unreachable end ) - (func $~lib/map/Map#clear (; 64 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map~iterate (; 71 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/map/Map#clear (; 72 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5285,14 +5394,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 65 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 73 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 8 + i32.const 13 call $~lib/runtime/register local.set $0 end @@ -5319,7 +5428,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#find (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 74 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -5370,7 +5479,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 67 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#has (; 75 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -5385,7 +5494,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 68 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 76 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5559,7 +5668,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 69 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (; 77 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5663,7 +5772,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (; 78 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -5685,11 +5794,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 71 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 79 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 72 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#delete (; 80 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5762,7 +5871,7 @@ end i32.const 1 ) - (func $std/map/testNumeric (; 73 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 81 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6118,7 +6227,24 @@ unreachable end ) - (func $~lib/map/Map#clear (; 74 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map~iterate (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/map/Map#clear (; 83 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6187,14 +6313,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 75 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 84 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 9 + i32.const 15 call $~lib/runtime/register local.set $0 end @@ -6221,7 +6347,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/util/hash/hash64 (; 76 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/hash/hash64 (; 85 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6309,7 +6435,7 @@ local.set $3 local.get $3 ) - (func $~lib/map/Map#find (; 77 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 86 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -6360,7 +6486,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 78 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#has (; 87 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) local.get $0 local.get $1 @@ -6375,7 +6501,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 79 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 88 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6550,7 +6676,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 80 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/map/Map#set (; 89 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i64) (local $4 i32) (local $5 i32) @@ -6655,7 +6781,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 81 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#get (; 90 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) local.get $0 @@ -6677,11 +6803,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 82 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 91 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 83 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#delete (; 92 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) (local $4 i32) @@ -6755,7 +6881,7 @@ end i32.const 1 ) - (func $std/map/testNumeric (; 84 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 93 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -7118,7 +7244,24 @@ unreachable end ) - (func $~lib/map/Map#clear (; 85 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map~iterate (; 94 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/map/Map#clear (; 95 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7187,14 +7330,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 86 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 96 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 10 + i32.const 17 call $~lib/runtime/register local.set $0 end @@ -7221,7 +7364,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#find (; 87 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 97 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -7272,7 +7415,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 88 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#has (; 98 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) local.get $0 local.get $1 @@ -7287,7 +7430,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 89 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 99 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7462,7 +7605,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 90 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/map/Map#set (; 100 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i64) (local $4 i32) (local $5 i32) @@ -7567,7 +7710,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 91 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#get (; 101 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) local.get $0 @@ -7589,11 +7732,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 92 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 102 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 93 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#delete (; 103 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) (local $4 i32) @@ -7667,7 +7810,7 @@ end i32.const 1 ) - (func $std/map/testNumeric (; 94 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 104 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -8030,7 +8173,24 @@ unreachable end ) - (func $~lib/map/Map#clear (; 95 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map~iterate (; 105 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/map/Map#clear (; 106 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8099,14 +8259,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 96 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 107 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 11 + i32.const 19 call $~lib/runtime/register local.set $0 end @@ -8133,7 +8293,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#find (; 97 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 108 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -8184,7 +8344,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 98 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/map/Map#has (; 109 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (local $2 f32) local.get $0 local.get $1 @@ -8200,7 +8360,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 99 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 110 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8376,7 +8536,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 100 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32) + (func $~lib/map/Map#set (; 111 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32) (local $3 f32) (local $4 i32) (local $5 i32) @@ -8482,7 +8642,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 101 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/map/Map#get (; 112 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (local $2 f32) (local $3 i32) local.get $0 @@ -8505,11 +8665,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 102 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 113 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 103 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/map/Map#delete (; 114 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (local $2 f32) (local $3 i32) (local $4 i32) @@ -8584,7 +8744,7 @@ end i32.const 1 ) - (func $std/map/testNumeric (; 104 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 115 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f32) i32.const 0 @@ -8947,7 +9107,24 @@ unreachable end ) - (func $~lib/map/Map#clear (; 105 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/map/Map~iterate (; 116 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/map/Map#clear (; 117 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9016,14 +9193,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/map/Map#constructor (; 106 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (; 118 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 12 + i32.const 21 call $~lib/runtime/register local.set $0 end @@ -9050,7 +9227,7 @@ call $~lib/map/Map#clear local.get $0 ) - (func $~lib/map/Map#find (; 107 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (; 119 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -9101,7 +9278,7 @@ end i32.const 0 ) - (func $~lib/map/Map#has (; 108 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#has (; 120 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 f64) local.get $0 local.get $1 @@ -9117,7 +9294,7 @@ i32.const 0 i32.ne ) - (func $~lib/map/Map#rehash (; 109 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (; 121 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9293,7 +9470,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/map/Map#set (; 110 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32) + (func $~lib/map/Map#set (; 122 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32) (local $3 f64) (local $4 i32) (local $5 i32) @@ -9399,7 +9576,7 @@ i32.store end ) - (func $~lib/map/Map#get (; 111 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#get (; 123 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 f64) (local $3 i32) local.get $0 @@ -9422,11 +9599,11 @@ unreachable end ) - (func $~lib/map/Map#get:size (; 112 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (; 124 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#delete (; 113 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#delete (; 125 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 f64) (local $3 i32) (local $4 i32) @@ -9501,7 +9678,7 @@ end i32.const 1 ) - (func $std/map/testNumeric (; 114 ;) (type $FUNCSIG$v) + (func $std/map/testNumeric (; 126 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f64) i32.const 0 @@ -9864,7 +10041,7 @@ unreachable end ) - (func $start:std/map (; 115 ;) (type $FUNCSIG$v) + (func $start:std/map (; 127 ;) (type $FUNCSIG$v) global.get $~lib/memory/HEAP_BASE i32.const 7 i32.add @@ -9886,9 +10063,9 @@ call $std/map/testNumeric call $std/map/testNumeric ) - (func $start (; 116 ;) (type $FUNCSIG$v) + (func $start (; 128 ;) (type $FUNCSIG$v) call $start:std/map ) - (func $null (; 117 ;) (type $FUNCSIG$v) + (func $null (; 129 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/runtime.optimized.wat b/tests/compiler/std/runtime.optimized.wat index 9d6c7ed6..edd65d22 100644 --- a/tests/compiler/std/runtime.optimized.wat +++ b/tests/compiler/std/runtime.optimized.wat @@ -1,9 +1,9 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) - (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$iii (func (param i32 i32) (result i32))) @@ -23,8 +23,8 @@ (data (i32.const 200) "b\00a\00r\00r\00i\00e\00r\003") (data (i32.const 216) "\01\00\00\00\1e") (data (i32.const 232) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (table $0 4 funcref) + (elem (i32.const 0) $null $~lib/string/String~iterate $~lib/string/String~iterate $~lib/string/String~iterate) (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) (global $std/runtime/register_ref (mut i32) (i32.const 0)) (global $std/runtime/barrier1 (mut i32) (i32.const 0)) @@ -44,7 +44,10 @@ (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) + (func $~lib/string/String~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (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 @@ -64,7 +67,7 @@ local.get $2 i32.store offset=4 ) - (func $~lib/allocator/tlsf/Root#setHead (; 3 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (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 @@ -99,7 +102,7 @@ local.get $3 i32.store offset=96 ) - (func $~lib/allocator/tlsf/Block#get:right (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:right (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load i32.const -4 @@ -133,7 +136,7 @@ end local.get $0 ) - (func $~lib/allocator/tlsf/fls (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/fls (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -149,7 +152,7 @@ i32.clz i32.sub ) - (func $~lib/allocator/tlsf/Root#getHead (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (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 @@ -183,7 +186,7 @@ i32.add i32.load offset=96 ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (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 @@ -202,7 +205,7 @@ i32.add i32.load offset=4 ) - (func $~lib/allocator/tlsf/Root#remove (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (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) @@ -331,7 +334,7 @@ end end ) - (func $~lib/allocator/tlsf/Block#get:left (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:left (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load i32.const 2 @@ -361,7 +364,7 @@ end local.get $0 ) - (func $~lib/allocator/tlsf/Root#setJump (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#setJump (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i32.load i32.const 1 @@ -406,7 +409,7 @@ local.get $0 i32.store ) - (func $~lib/allocator/tlsf/Root#insert (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (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) @@ -636,7 +639,7 @@ i32.or call $~lib/allocator/tlsf/Root#setSLMap ) - (func $~lib/allocator/tlsf/Root#addMemory (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (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 @@ -759,7 +762,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#insert ) - (func $~lib/allocator/tlsf/ffs (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -773,7 +776,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/Root#search (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (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 @@ -885,7 +888,7 @@ end end ) - (func $~lib/allocator/tlsf/Root#use (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (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 @@ -996,7 +999,7 @@ i32.const 8 i32.add ) - (func $~lib/allocator/tlsf/__mem_allocate (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/__mem_allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1166,7 +1169,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/runtime/allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -1193,7 +1196,7 @@ i32.const 16 i32.add ) - (func $~lib/util/memory/memcpy (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2040,7 +2043,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) block $~lib/util/memory/memmove|inlined.0 @@ -2234,7 +2237,7 @@ end end ) - (func $~lib/memory/memory.fill (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -2445,7 +2448,7 @@ end end ) - (func $~lib/allocator/tlsf/__mem_free (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/allocator/tlsf/__mem_free (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2483,7 +2486,7 @@ end end ) - (func $~lib/runtime/reallocate (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/reallocate (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2590,7 +2593,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/runtime/discard (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/discard (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.const 264 i32.le_u @@ -2620,7 +2623,7 @@ local.get $0 call $~lib/allocator/tlsf/__mem_free ) - (func $~lib/runtime/register (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/register (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.const 264 @@ -2654,7 +2657,7 @@ local.get $0 global.set $std/runtime/register_ref ) - (func $start:std/runtime (; 25 ;) (type $FUNCSIG$v) + (func $start:std/runtime (; 26 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -2973,7 +2976,7 @@ unreachable end ) - (func $std/runtime/main (; 26 ;) (type $FUNCSIG$v) + (func $std/runtime/main (; 27 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -2982,7 +2985,7 @@ global.set $~lib/started end ) - (func $null (; 27 ;) (type $FUNCSIG$v) + (func $null (; 28 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/runtime.untouched.wat b/tests/compiler/std/runtime.untouched.wat index 883c0dae..7f2f7fa6 100644 --- a/tests/compiler/std/runtime.untouched.wat +++ b/tests/compiler/std/runtime.untouched.wat @@ -1,9 +1,9 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) - (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$iii (func (param i32 i32) (result i32))) @@ -17,8 +17,8 @@ (data (i32.const 152) "\01\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 184) "\01\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 216) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (table $0 4 funcref) + (elem (i32.const 0) $null $~lib/string/String~iterate $std/runtime/A~iterate $std/runtime/B~iterate) (global $~lib/allocator/tlsf/SL_BITS i32 (i32.const 5)) (global $~lib/allocator/tlsf/SL_SIZE i32 (i32.const 32)) (global $~lib/allocator/tlsf/SB_BITS i32 (i32.const 8)) @@ -60,7 +60,10 @@ (export "table" (table $0)) (export "main" (func $std/runtime/main)) (export ".capabilities" (global $~lib/capabilities)) - (func $start:~lib/allocator/tlsf (; 2 ;) (type $FUNCSIG$v) + (func $~lib/string/String~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $start:~lib/allocator/tlsf (; 3 ;) (type $FUNCSIG$v) i32.const 1 global.get $~lib/allocator/tlsf/SL_BITS i32.shl @@ -76,7 +79,11 @@ unreachable end ) - (func $~lib/runtime/ADJUSTOBLOCK (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/runtime/A~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + ) + (func $std/runtime/B~iterate (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + ) + (func $~lib/runtime/ADJUSTOBLOCK (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -88,7 +95,7 @@ i32.sub i32.shl ) - (func $std/runtime/isPowerOf2 (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/runtime/isPowerOf2 (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 0 @@ -106,12 +113,12 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/Root#set:tailRef (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#set:tailRef (; 8 ;) (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) + (func $~lib/allocator/tlsf/Root#setSLMap (; 9 ;) (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 @@ -132,7 +139,7 @@ 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) + (func $~lib/allocator/tlsf/Root#setHead (; 10 ;) (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 @@ -169,11 +176,11 @@ local.get $3 i32.store offset=96 ) - (func $~lib/allocator/tlsf/Root#get:tailRef (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Root#get:tailRef (; 11 ;) (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) + (func $~lib/allocator/tlsf/Block#get:right (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -213,7 +220,7 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/fls (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/fls (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -231,7 +238,7 @@ 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) + (func $~lib/allocator/tlsf/Root#getHead (; 14 ;) (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 @@ -267,7 +274,7 @@ i32.add i32.load offset=96 ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getSLMap (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -287,7 +294,7 @@ i32.add i32.load offset=4 ) - (func $~lib/allocator/tlsf/Root#remove (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#remove (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -432,7 +439,7 @@ end end ) - (func $~lib/allocator/tlsf/Block#get:left (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:left (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -464,7 +471,7 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/Root#setJump (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#setJump (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.load global.get $~lib/allocator/tlsf/FREE @@ -510,7 +517,7 @@ local.get $1 i32.store ) - (func $~lib/allocator/tlsf/Root#insert (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#insert (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -776,7 +783,7 @@ 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) + (func $~lib/allocator/tlsf/Root#addMemory (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -929,7 +936,7 @@ call $~lib/allocator/tlsf/Root#insert i32.const 1 ) - (func $~lib/allocator/tlsf/ffs (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -945,7 +952,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/ffs (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -961,7 +968,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/Root#search (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#search (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1102,7 +1109,7 @@ 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) + (func $~lib/allocator/tlsf/Root#use (; 24 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1230,7 +1237,7 @@ global.get $~lib/allocator/tlsf/Block.INFO i32.add ) - (func $~lib/allocator/tlsf/__mem_allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/__mem_allocate (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1466,12 +1473,12 @@ local.get $0 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/memory/memory.allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/tlsf/__mem_allocate return ) - (func $~lib/runtime/allocate (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/runtime/ADJUSTOBLOCK @@ -1493,7 +1500,7 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $~lib/util/memory/memcpy (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2694,7 +2701,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 29 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2925,7 +2932,7 @@ end end ) - (func $~lib/memory/memory.fill (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3182,7 +3189,7 @@ end end ) - (func $~lib/allocator/tlsf/__mem_free (; 28 ;) (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) @@ -3225,15 +3232,15 @@ end end ) - (func $~lib/memory/memory.free (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/memory/memory.free (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/allocator/tlsf/__mem_free ) - (func $std/runtime/__ref_register (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/runtime/__ref_register (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $std/runtime/register_ref ) - (func $~lib/runtime/reallocate (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/reallocate (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3337,7 +3344,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/runtime/discard (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/discard (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -3371,7 +3378,7 @@ local.get $1 call $~lib/memory/memory.free ) - (func $~lib/runtime/register (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/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 @@ -3409,13 +3416,13 @@ call $std/runtime/__ref_register local.get $0 ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 global.get $~lib/runtime/HEADER_SIZE i32.sub i32.load offset=4 ) - (func $~lib/string/String#get:length (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 global.get $~lib/runtime/HEADER_SIZE i32.sub @@ -3423,7 +3430,7 @@ i32.const 1 i32.shr_u ) - (func $start:std/runtime (; 36 ;) (type $FUNCSIG$v) + (func $start:std/runtime (; 39 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $start:~lib/allocator/tlsf @@ -3781,7 +3788,7 @@ unreachable end ) - (func $std/runtime/main (; 37 ;) (type $FUNCSIG$v) + (func $std/runtime/main (; 40 ;) (type $FUNCSIG$v) global.get $~lib/started i32.eqz if @@ -3790,9 +3797,9 @@ global.set $~lib/started end ) - (func $start (; 38 ;) (type $FUNCSIG$v) + (func $start (; 41 ;) (type $FUNCSIG$v) call $start:std/runtime ) - (func $null (; 39 ;) (type $FUNCSIG$v) + (func $null (; 42 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/set.optimized.wat b/tests/compiler/std/set.optimized.wat index 76865ab4..1fca9dc6 100644 --- a/tests/compiler/std/set.optimized.wat +++ b/tests/compiler/std/set.optimized.wat @@ -1,10 +1,10 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iij (func (param i32 i64) (result i32))) (type $FUNCSIG$ij (func (param i64) (result i32))) @@ -19,16 +19,17 @@ (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00\1e") + (data (i32.const 8) "\03\00\00\00\1e") (data (i32.const 24) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 56) "\02\00\00\00&") + (data (i32.const 56) "\03\00\00\00&") (data (i32.const 72) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 112) "\02\00\00\00\14") + (data (i32.const 112) "\03\00\00\00\14") (data (i32.const 128) "s\00t\00d\00/\00s\00e\00t\00.\00t\00s") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (table $0 23 funcref) + (elem (i32.const 0) $null $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/string/String~iterate $~lib/string/String~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate) (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 $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) @@ -123,7 +124,26 @@ i32.const 16 i32.add ) - (func $~lib/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set~iterate (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $0 + i32.const 1 + global.set $~lib/argc + local.get $0 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/string/String~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.const 148 @@ -156,7 +176,7 @@ i32.store local.get $0 ) - (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -367,7 +387,7 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 1073741808 @@ -386,10 +406,10 @@ local.get $0 call $~lib/memory/memory.fill local.get $1 - i32.const 3 + i32.const 4 call $~lib/runtime/register ) - (func $~lib/set/Set#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor @@ -424,7 +444,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 9 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate @@ -452,7 +472,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#find (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -497,7 +517,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -513,7 +533,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -619,7 +639,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -711,7 +731,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -778,7 +798,7 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 13 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 15 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor @@ -1023,11 +1043,11 @@ unreachable end ) - (func $~lib/set/Set#constructor (; 14 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 16 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 4 + i32.const 5 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -1051,7 +1071,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#has (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1065,7 +1085,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1171,7 +1191,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1261,7 +1281,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -1326,7 +1346,7 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 19 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 21 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor @@ -1571,11 +1591,11 @@ unreachable end ) - (func $~lib/set/Set#constructor (; 20 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 22 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 5 + i32.const 7 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -1599,7 +1619,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#find (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -1644,7 +1664,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -1669,7 +1689,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1784,7 +1804,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1885,7 +1905,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -1961,7 +1981,7 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 26 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 28 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor @@ -2206,11 +2226,11 @@ unreachable end ) - (func $~lib/set/Set#constructor (; 27 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 29 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 6 + i32.const 9 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -2234,7 +2254,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#has (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -2257,7 +2277,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2372,7 +2392,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2471,7 +2491,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -2545,7 +2565,7 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 32 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 34 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor @@ -2790,11 +2810,11 @@ unreachable end ) - (func $~lib/set/Set#constructor (; 33 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 35 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 7 + i32.const 11 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -2818,7 +2838,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/util/hash/hash32 (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -2849,7 +2869,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/set/Set#find (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -2892,7 +2912,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -2901,7 +2921,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3004,7 +3024,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3087,7 +3107,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 local.get $1 @@ -3147,7 +3167,7 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 40 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 42 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor @@ -3392,11 +3412,11 @@ unreachable end ) - (func $~lib/set/Set#constructor (; 41 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 43 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 8 + i32.const 13 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -3420,7 +3440,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $std/set/testNumeric (; 42 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 44 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/set/Set#constructor @@ -3665,7 +3685,7 @@ unreachable end ) - (func $~lib/set/Set#clear (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor @@ -3700,11 +3720,11 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 44 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 46 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 9 + i32.const 15 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -3728,7 +3748,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/util/hash/hash64 (; 45 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/hash/hash64 (; 47 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i32.wrap_i64 @@ -3794,7 +3814,7 @@ i32.const 16777619 i32.mul ) - (func $~lib/set/Set#find (; 46 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 48 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -3837,7 +3857,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 47 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#has (; 49 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) local.get $0 local.get $1 local.get $1 @@ -3846,7 +3866,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3949,7 +3969,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 49 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#add (; 51 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4032,7 +4052,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 50 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#delete (; 52 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) local.get $0 @@ -4093,7 +4113,7 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 51 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 53 ;) (type $FUNCSIG$v) (local $0 i64) (local $1 i32) call $~lib/set/Set#constructor @@ -4338,11 +4358,11 @@ unreachable end ) - (func $~lib/set/Set#constructor (; 52 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 54 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 10 + i32.const 17 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -4366,7 +4386,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $std/set/testNumeric (; 53 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 55 ;) (type $FUNCSIG$v) (local $0 i64) (local $1 i32) call $~lib/set/Set#constructor @@ -4611,11 +4631,11 @@ unreachable end ) - (func $~lib/set/Set#constructor (; 54 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 56 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 11 + i32.const 19 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -4639,7 +4659,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#find (; 55 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 57 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -4682,7 +4702,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 56 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/set/Set#has (; 58 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) local.get $0 local.get $1 local.get $1 @@ -4692,7 +4712,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 57 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 59 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4796,7 +4816,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 58 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) + (func $~lib/set/Set#add (; 60 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4880,7 +4900,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 59 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) + (func $~lib/set/Set#delete (; 61 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) local.get $0 @@ -4942,7 +4962,7 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 60 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 62 ;) (type $FUNCSIG$v) (local $0 f32) (local $1 i32) call $~lib/set/Set#constructor @@ -5187,11 +5207,11 @@ unreachable end ) - (func $~lib/set/Set#constructor (; 61 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/set/Set#constructor (; 63 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 call $~lib/runtime/allocate - i32.const 12 + i32.const 21 call $~lib/runtime/register local.tee $0 i32.const 0 @@ -5215,7 +5235,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#find (; 62 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 64 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) local.get $0 i32.load local.get $0 @@ -5258,7 +5278,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 63 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/set/Set#has (; 65 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) local.get $0 local.get $1 local.get $1 @@ -5268,7 +5288,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 66 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5372,7 +5392,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 65 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) + (func $~lib/set/Set#add (; 67 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5456,7 +5476,7 @@ i32.store end ) - (func $~lib/set/Set#delete (; 66 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) + (func $~lib/set/Set#delete (; 68 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (local $2 i32) (local $3 i32) local.get $0 @@ -5518,7 +5538,7 @@ call $~lib/set/Set#rehash end ) - (func $std/set/testNumeric (; 67 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 69 ;) (type $FUNCSIG$v) (local $0 f64) (local $1 i32) call $~lib/set/Set#constructor @@ -5763,7 +5783,7 @@ unreachable end ) - (func $start (; 68 ;) (type $FUNCSIG$v) + (func $start (; 70 ;) (type $FUNCSIG$v) i32.const 152 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset @@ -5779,7 +5799,7 @@ call $std/set/testNumeric call $std/set/testNumeric ) - (func $null (; 69 ;) (type $FUNCSIG$v) + (func $null (; 71 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/set.untouched.wat b/tests/compiler/std/set.untouched.wat index 9678cc4e..b2445bfd 100644 --- a/tests/compiler/std/set.untouched.wat +++ b/tests/compiler/std/set.untouched.wat @@ -1,11 +1,11 @@ (module (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iij (func (param i32 i64) (result i32))) (type $FUNCSIG$ij (func (param i64) (result i32))) @@ -19,15 +19,16 @@ (type $FUNCSIG$vid (func (param i32 f64))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 8) "\02\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\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\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 112) "\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") - (table $0 1 funcref) - (elem (i32.const 0) $null) + (data (i32.const 8) "\03\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 56) "\03\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 112) "\03\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") + (table $0 23 funcref) + (elem (i32.const 0) $null $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/string/String~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate $~lib/set/Set~iterate) (global $~lib/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (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 $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) (global $~lib/memory/HEAP_BASE i32 (i32.const 148)) @@ -154,10 +155,30 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $~lib/collector/dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set~iterate (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/string/String~iterate (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/collector/dummy/__ref_register (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -195,7 +216,7 @@ call $~lib/collector/dummy/__ref_register local.get $0 ) - (func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -452,7 +473,10 @@ end end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer~iterate (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -481,17 +505,17 @@ local.get $3 local.set $2 local.get $2 - i32.const 3 + i32.const 4 call $~lib/runtime/register end ) - (func $~lib/collector/dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/dummy/__ref_link (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/collector/dummy/__ref_unlink (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/dummy/__ref_unlink (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/set/Set#clear (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set#clear (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -560,7 +584,7 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz @@ -594,14 +618,14 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/util/hash/hash8 (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash8 (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const -2128831035 local.get $0 i32.xor i32.const 16777619 i32.mul ) - (func $~lib/set/Set#find (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -656,7 +680,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -675,7 +699,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -845,7 +869,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -947,11 +971,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1028,7 +1052,7 @@ end i32.const 1 ) - (func $std/set/testNumeric (; 20 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 23 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -1311,7 +1335,24 @@ unreachable end ) - (func $~lib/set/Set#clear (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set~iterate (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/set/Set#clear (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1380,14 +1421,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 4 + i32.const 5 call $~lib/runtime/register local.set $0 end @@ -1414,7 +1455,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#find (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 27 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -1467,7 +1508,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -1484,7 +1525,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1654,7 +1695,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1754,11 +1795,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1833,7 +1874,7 @@ end i32.const 1 ) - (func $std/set/testNumeric (; 29 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 33 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -2116,7 +2157,24 @@ unreachable end ) - (func $~lib/set/Set#clear (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set~iterate (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/set/Set#clear (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2185,14 +2243,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 5 + i32.const 7 call $~lib/runtime/register local.set $0 end @@ -2219,7 +2277,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/util/hash/hash16 (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash16 (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -2241,7 +2299,7 @@ local.set $1 local.get $1 ) - (func $~lib/set/Set#find (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 38 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -2296,7 +2354,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -2315,7 +2373,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2485,7 +2543,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2587,11 +2645,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2668,7 +2726,7 @@ end i32.const 1 ) - (func $std/set/testNumeric (; 39 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 44 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -2951,7 +3009,24 @@ unreachable end ) - (func $~lib/set/Set#clear (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set~iterate (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/set/Set#clear (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3020,14 +3095,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 6 + i32.const 9 call $~lib/runtime/register local.set $0 end @@ -3054,7 +3129,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#find (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -3107,7 +3182,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -3124,7 +3199,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3294,7 +3369,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 51 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3394,11 +3469,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3473,7 +3548,7 @@ end i32.const 1 ) - (func $std/set/testNumeric (; 48 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 54 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -3756,7 +3831,24 @@ unreachable end ) - (func $~lib/set/Set#clear (; 49 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set~iterate (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/set/Set#clear (; 56 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3825,14 +3917,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 57 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 7 + i32.const 11 call $~lib/runtime/register local.set $0 end @@ -3859,7 +3951,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/util/hash/hash32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/hash/hash32 (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const -2128831035 local.set $1 @@ -3901,7 +3993,7 @@ local.set $1 local.get $1 ) - (func $~lib/set/Set#find (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -3952,7 +4044,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -3967,7 +4059,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 61 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4137,7 +4229,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4235,11 +4327,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 56 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 63 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 64 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4312,7 +4404,7 @@ end i32.const 1 ) - (func $std/set/testNumeric (; 58 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 65 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4595,7 +4687,24 @@ unreachable end ) - (func $~lib/set/Set#clear (; 59 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set~iterate (; 66 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/set/Set#clear (; 67 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4664,14 +4773,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 68 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 8 + i32.const 13 call $~lib/runtime/register local.set $0 end @@ -4698,7 +4807,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#find (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -4749,7 +4858,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#has (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -4764,7 +4873,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 71 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4934,7 +5043,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (; 72 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5032,11 +5141,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 65 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 73 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (; 74 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5109,7 +5218,7 @@ end i32.const 1 ) - (func $std/set/testNumeric (; 67 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 75 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -5392,7 +5501,24 @@ unreachable end ) - (func $~lib/set/Set#clear (; 68 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set~iterate (; 76 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/set/Set#clear (; 77 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5461,14 +5587,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 78 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 9 + i32.const 15 call $~lib/runtime/register local.set $0 end @@ -5495,7 +5621,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/util/hash/hash64 (; 70 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/hash/hash64 (; 79 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5583,7 +5709,7 @@ local.set $3 local.get $3 ) - (func $~lib/set/Set#find (; 71 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 80 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -5634,7 +5760,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 72 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#has (; 81 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) local.get $0 local.get $1 @@ -5649,7 +5775,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 73 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5820,7 +5946,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 74 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#add (; 83 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -5919,11 +6045,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 75 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 84 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 76 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#delete (; 85 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) (local $4 i32) @@ -5997,7 +6123,7 @@ end i32.const 1 ) - (func $std/set/testNumeric (; 77 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 86 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -6280,7 +6406,24 @@ unreachable end ) - (func $~lib/set/Set#clear (; 78 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set~iterate (; 87 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/set/Set#clear (; 88 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6349,14 +6492,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 79 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 89 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 10 + i32.const 17 call $~lib/runtime/register local.set $0 end @@ -6383,7 +6526,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#find (; 80 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 90 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -6434,7 +6577,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 81 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#has (; 91 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) local.get $0 local.get $1 @@ -6449,7 +6592,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 92 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6620,7 +6763,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 83 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#add (; 93 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -6719,11 +6862,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 84 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 94 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 85 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#delete (; 95 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (local $2 i64) (local $3 i32) (local $4 i32) @@ -6797,7 +6940,7 @@ end i32.const 1 ) - (func $std/set/testNumeric (; 86 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 96 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -7080,7 +7223,24 @@ unreachable end ) - (func $~lib/set/Set#clear (; 87 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set~iterate (; 97 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/set/Set#clear (; 98 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7149,14 +7309,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 88 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 99 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 11 + i32.const 19 call $~lib/runtime/register local.set $0 end @@ -7183,7 +7343,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#find (; 89 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 100 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -7234,7 +7394,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 90 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/set/Set#has (; 101 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (local $2 f32) local.get $0 local.get $1 @@ -7250,7 +7410,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 91 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 102 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7422,7 +7582,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 92 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) + (func $~lib/set/Set#add (; 103 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (local $2 f32) (local $3 i32) (local $4 i32) @@ -7522,11 +7682,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 93 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 104 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 94 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) + (func $~lib/set/Set#delete (; 105 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (local $2 f32) (local $3 i32) (local $4 i32) @@ -7601,7 +7761,7 @@ end i32.const 1 ) - (func $std/set/testNumeric (; 95 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 106 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f32) i32.const 0 @@ -7884,7 +8044,24 @@ unreachable end ) - (func $~lib/set/Set#clear (; 96 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/set/Set~iterate (; 107 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + global.set $~lib/argc + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/set/Set#clear (; 108 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7953,14 +8130,14 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/set/Set#constructor (; 97 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#constructor (; 109 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) block (result i32) local.get $0 i32.eqz if i32.const 24 call $~lib/runtime/allocate - i32.const 12 + i32.const 21 call $~lib/runtime/register local.set $0 end @@ -7987,7 +8164,7 @@ call $~lib/set/Set#clear local.get $0 ) - (func $~lib/set/Set#find (; 98 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (; 110 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -8038,7 +8215,7 @@ end i32.const 0 ) - (func $~lib/set/Set#has (; 99 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/set/Set#has (; 111 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 f64) local.get $0 local.get $1 @@ -8054,7 +8231,7 @@ i32.const 0 i32.ne ) - (func $~lib/set/Set#rehash (; 100 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (; 112 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8226,7 +8403,7 @@ i32.load offset=20 i32.store offset=16 ) - (func $~lib/set/Set#add (; 101 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) + (func $~lib/set/Set#add (; 113 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (local $2 f64) (local $3 i32) (local $4 i32) @@ -8326,11 +8503,11 @@ i32.store end ) - (func $~lib/set/Set#get:size (; 102 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/set/Set#get:size (; 114 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/set/Set#delete (; 103 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/set/Set#delete (; 115 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 f64) (local $3 i32) (local $4 i32) @@ -8405,7 +8582,7 @@ end i32.const 1 ) - (func $std/set/testNumeric (; 104 ;) (type $FUNCSIG$v) + (func $std/set/testNumeric (; 116 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f64) i32.const 0 @@ -8688,7 +8865,7 @@ unreachable end ) - (func $start:std/set (; 105 ;) (type $FUNCSIG$v) + (func $start:std/set (; 117 ;) (type $FUNCSIG$v) global.get $~lib/memory/HEAP_BASE i32.const 7 i32.add @@ -8710,9 +8887,9 @@ call $std/set/testNumeric call $std/set/testNumeric ) - (func $start (; 106 ;) (type $FUNCSIG$v) + (func $start (; 118 ;) (type $FUNCSIG$v) call $start:std/set ) - (func $null (; 107 ;) (type $FUNCSIG$v) + (func $null (; 119 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index c7226e25..bb72370a 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -1,4 +1,5 @@ (module + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) @@ -14,7 +15,6 @@ (type $FUNCSIG$v (func)) (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))) (memory $0 1) (data (i32.const 8) "\01\00\00\00 ") @@ -161,9 +161,9 @@ (data (i32.const 2128) ",\00a\00,\00b\00,\00c") (data (i32.const 2144) "\01\00\00\00\0c") (data (i32.const 2160) "a\00,\00b\00,\00c\00,") - (data (i32.const 2176) "\03\00\00\00\90\01") + (data (i32.const 2176) "\04\00\00\00\90\01") (data (i32.const 2192) "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 2592) "\04\00\00\00\10") + (data (i32.const 2592) "\05\00\00\00\10") (data (i32.const 2608) "\90\08\00\00\90\08\00\00\90\01\00\00d") (data (i32.const 2624) "\01\00\00\00\02") (data (i32.const 2640) "8") @@ -233,17 +233,17 @@ (data (i32.const 3880) "-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 3904) "\01\00\00\00\10") (data (i32.const 3920) "I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3936) "\03\00\00\00\b8\02") + (data (i32.const 3936) "\04\00\00\00\b8\02") (data (i32.const 3952) "\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~iterate $~lib/array/Array<~lib/string/String>~iterate $~lib/string/String~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate) (global $std/string/str (mut i32) (i32.const 24)) (global $std/string/nullStr (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -335,6 +335,7 @@ (global $std/string/a (mut i32) (i32.const 0)) (global $std/string/b (mut i32) (i32.const 0)) (global $std/string/sa (mut i32) (i32.const 0)) + (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_plus (mut i64) (i64.const 0)) (global $~lib/util/number/_frc_minus (mut i64) (i64.const 0)) (global $~lib/util/number/_exp (mut i32) (i32.const 0)) @@ -347,7 +348,10 @@ (export "getString" (func $std/string/getString)) (export ".capabilities" (global $~lib/capabilities)) (start $start) - (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String~iterate (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -409,7 +413,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -436,7 +440,7 @@ i32.const 16 i32.add ) - (func $~lib/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.const 6736 @@ -469,7 +473,7 @@ i32.store local.get $0 ) - (func $~lib/string/String.fromCharCode (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.fromCharCode (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 2 call $~lib/runtime/allocate @@ -480,7 +484,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/string/compareImpl (; 5 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/string/compareImpl (; 6 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $1 i32.const 1 @@ -519,7 +523,7 @@ end local.get $4 ) - (func $~lib/string/String.__eq (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 local.get $1 @@ -566,7 +570,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String.fromCodePoint (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.fromCodePoint (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -621,7 +625,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/string/String#startsWith (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#startsWith (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -669,7 +673,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String#endsWith (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#endsWith (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -717,7 +721,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String#indexOf (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#indexOf (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -801,7 +805,7 @@ end i32.const -1 ) - (func $~lib/util/memory/memcpy (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1648,7 +1652,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) block $~lib/util/memory/memmove|inlined.0 @@ -1842,7 +1846,7 @@ end end ) - (func $~lib/memory/memory.repeat (; 13 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/memory/memory.repeat (; 14 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $2 local.get $3 @@ -1867,7 +1871,7 @@ end end ) - (func $~lib/string/String#padStart (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padStart (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1963,7 +1967,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/string/String#padEnd (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padEnd (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2060,7 +2064,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/string/String#lastIndexOf (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#lastIndexOf (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -2143,7 +2147,7 @@ end i32.const -1 ) - (func $~lib/util/string/parse (; 17 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/util/string/parse (; 18 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2379,7 +2383,7 @@ local.get $5 f64.mul ) - (func $~lib/string/parseFloat (; 18 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseFloat (; 19 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 f64) @@ -2549,7 +2553,7 @@ local.get $3 f64.mul ) - (func $~lib/string/String#concat (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2598,7 +2602,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/string/String.__concat (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 312 local.get $0 @@ -2606,13 +2610,13 @@ local.get $1 call $~lib/string/String#concat ) - (func $~lib/string/String.__ne (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/string/String.__eq i32.eqz ) - (func $~lib/string/String.__gt (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block (result i32) @@ -2677,7 +2681,7 @@ i32.const 0 i32.gt_s ) - (func $~lib/string/String.__lt (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block (result i32) @@ -2742,19 +2746,19 @@ i32.const 0 i32.lt_s ) - (func $~lib/string/String.__gte (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gte (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/string/String.__lt i32.eqz ) - (func $~lib/string/String.__lte (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.__lte (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 416 local.get $0 call $~lib/string/String.__gt i32.eqz ) - (func $~lib/string/String#repeat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#repeat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -2834,7 +2838,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/string/String#slice (; 27 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 i32.const 16 @@ -2912,7 +2916,44 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/runtime/makeArray (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>~iterate (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.tee $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $0 + loop $continue|0 + local.get $2 + local.get $0 + i32.lt_u + if + local.get $2 + i32.load + local.set $3 + i32.const 1 + global.set $~lib/argc + local.get $3 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $continue|0 + end + end + ) + (func $~lib/runtime/makeArray (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2927,7 +2968,7 @@ i32.shl local.tee $2 call $~lib/runtime/allocate - i32.const 3 + i32.const 4 call $~lib/runtime/register local.tee $3 local.set $4 @@ -2948,7 +2989,7 @@ i32.store offset=12 local.get $1 ) - (func $~lib/memory/memory.fill (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/memory/memory.fill (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $~lib/util/memory/memset|inlined.0 local.get $1 @@ -3159,7 +3200,7 @@ end end ) - (func $~lib/runtime/reallocate (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/reallocate (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3261,7 +3302,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureCapacity (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/ensureCapacity (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -3310,7 +3351,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array<~lib/string/String>#push (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#push (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3340,7 +3381,7 @@ local.get $3 i32.store offset=12 ) - (func $~lib/string/String#split (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#split (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3579,7 +3620,7 @@ i32.const 0 call $~lib/runtime/makeArray ) - (func $~lib/array/Array<~lib/string/String>#__get (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 @@ -3614,7 +3655,7 @@ i32.add i32.load ) - (func $~lib/util/number/decimalCount32 (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 100000 i32.lt_u @@ -3668,7 +3709,15 @@ end end ) - (func $~lib/util/number/utoa32_lut (; 36 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array~iterate (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/util/number/utoa32_lut (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) i32.const 2612 @@ -3778,7 +3827,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3820,7 +3869,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/utoa32 (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -3843,7 +3892,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/decimalCount64 (; 39 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 42 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 i64.const 1000000000000000 i64.lt_u @@ -3897,7 +3946,7 @@ end end ) - (func $~lib/util/number/utoa64_lut (; 40 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 43 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3994,7 +4043,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 41 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 44 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4036,7 +4085,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/itoa64 (; 42 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 45 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4101,7 +4150,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/util/number/genDigits (; 43 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 46 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i32) (local $9 i64) @@ -4516,7 +4565,7 @@ local.get $6 end ) - (func $~lib/util/number/prettify (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $2 @@ -4775,7 +4824,7 @@ end end ) - (func $~lib/util/number/dtoa_core (; 45 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 48 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i64) (local $3 i32) (local $4 i64) @@ -5063,7 +5112,7 @@ local.get $10 i32.add ) - (func $~lib/string/String#substring (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#substring (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5159,7 +5208,7 @@ i32.const 1 call $~lib/runtime/register ) - (func $~lib/runtime/discard (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/discard (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.const 6736 i32.le_u @@ -5186,7 +5235,7 @@ unreachable end ) - (func $~lib/util/number/dtoa (; 48 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 51 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -5231,7 +5280,7 @@ call $~lib/runtime/discard local.get $1 ) - (func $start:std/string (; 49 ;) (type $FUNCSIG$v) + (func $start:std/string (; 52 ;) (type $FUNCSIG$v) (local $0 i32) global.get $std/string/str i32.const 24 @@ -8558,13 +8607,13 @@ unreachable end ) - (func $std/string/getString (; 50 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 53 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str ) - (func $start (; 51 ;) (type $FUNCSIG$v) + (func $start (; 54 ;) (type $FUNCSIG$v) call $start:std/string ) - (func $null (; 52 ;) (type $FUNCSIG$v) + (func $null (; 55 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index e8e9c3aa..8785ede5 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -1,4 +1,5 @@ (module + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) @@ -9,7 +10,6 @@ (type $FUNCSIG$dii (func (param i32 i32) (result f64))) (type $FUNCSIG$di (func (param i32) (result f64))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$ij (func (param i64) (result i32))) (type $FUNCSIG$viji (func (param i32 i64 i32))) (type $FUNCSIG$id (func (param f64) (result i32))) @@ -93,8 +93,8 @@ (data (i32.const 2080) "\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 2112) "\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 2144) "\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 2176) "\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 2592) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\90\08\00\00\90\08\00\00\90\01\00\00d\00\00\00") + (data (i32.const 2176) "\04\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 2592) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\90\08\00\00\90\08\00\00\90\01\00\00d\00\00\00") (data (i32.const 2624) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\008\00") (data (i32.const 2648) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00-\001\000\000\000\00") (data (i32.const 2680) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\001\002\003\004\00") @@ -129,12 +129,12 @@ (data (i32.const 3840) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00") (data (i32.const 3864) "\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 3904) "\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 3936) "\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~iterate $~lib/array/Array<~lib/string/String>~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate) (global $~lib/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $std/string/str (mut i32) (i32.const 24)) @@ -190,6 +190,7 @@ (global $std/string/a (mut i32) (i32.const 0)) (global $std/string/b (mut i32) (i32.const 0)) (global $std/string/sa (mut i32) (i32.const 0)) + (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) @@ -211,7 +212,10 @@ (export "getString" (func $std/string/getString)) (export ".capabilities" (global $~lib/capabilities)) (start $start) - (func $~lib/string/String#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String~iterate (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/string/String#get:length (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 global.get $~lib/runtime/HEADER_SIZE i32.sub @@ -219,7 +223,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/string/String#charCodeAt (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#charCodeAt (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 call $~lib/string/String#get:length @@ -235,7 +239,7 @@ i32.add i32.load16_u ) - (func $~lib/runtime/ADJUSTOBLOCK (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/ADJUSTOBLOCK (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -247,7 +251,7 @@ i32.sub i32.shl ) - (func $~lib/allocator/arena/__mem_allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/arena/__mem_allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -326,12 +330,12 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/memory/memory.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/runtime/ADJUSTOBLOCK @@ -353,10 +357,10 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $~lib/collector/dummy/__ref_register (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/register (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -394,7 +398,7 @@ call $~lib/collector/dummy/__ref_register local.get $0 ) - (func $~lib/string/String.fromCharCode (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.fromCharCode (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) block $~lib/runtime/ALLOCATE|inlined.0 (result i32) @@ -415,7 +419,7 @@ call $~lib/runtime/register end ) - (func $~lib/util/string/compareImpl (; 10 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/string/compareImpl (; 11 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -468,7 +472,7 @@ end local.get $5 ) - (func $~lib/string/String.__eq (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -512,7 +516,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String.fromCodePoint (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String.fromCodePoint (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -583,7 +587,7 @@ call $~lib/runtime/register end ) - (func $~lib/string/String#startsWith (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#startsWith (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -650,7 +654,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String#endsWith (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#endsWith (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -714,7 +718,7 @@ call $~lib/util/string/compareImpl i32.eqz ) - (func $~lib/string/String#indexOf (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#indexOf (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -808,7 +812,7 @@ end i32.const -1 ) - (func $~lib/util/memory/memcpy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2009,7 +2013,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2240,7 +2244,7 @@ end end ) - (func $~lib/memory/memory.repeat (; 18 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/memory/memory.repeat (; 19 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) i32.const 0 @@ -2272,7 +2276,7 @@ end end ) - (func $~lib/string/String#padStart (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padStart (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2381,7 +2385,7 @@ call $~lib/runtime/register end ) - (func $~lib/string/String#padEnd (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padEnd (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2494,7 +2498,7 @@ call $~lib/runtime/register end ) - (func $~lib/string/String#lastIndexOf (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#lastIndexOf (; 22 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2586,7 +2590,7 @@ end i32.const -1 ) - (func $~lib/util/string/parse (; 22 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/util/string/parse (; 23 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2887,12 +2891,12 @@ local.get $7 f64.mul ) - (func $~lib/string/parseInt (; 23 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/string/parseInt (; 24 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $0 local.get $1 call $~lib/util/string/parse ) - (func $~lib/string/parseFloat (; 24 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/string/parseFloat (; 25 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3089,7 +3093,7 @@ local.get $5 f64.mul ) - (func $~lib/string/String#concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3148,7 +3152,7 @@ call $~lib/runtime/register end ) - (func $~lib/string/String.__concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.const 312 local.get $0 @@ -3158,13 +3162,13 @@ local.get $1 call $~lib/string/String#concat ) - (func $~lib/string/String.__ne (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/string/String.__eq i32.eqz ) - (func $~lib/string/String.__gt (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3226,7 +3230,7 @@ i32.const 0 i32.gt_s ) - (func $~lib/string/String.__lt (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3288,19 +3292,19 @@ i32.const 0 i32.lt_s ) - (func $~lib/string/String.__gte (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gte (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/string/String.__lt i32.eqz ) - (func $~lib/string/String.__lte (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lte (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 call $~lib/string/String.__gt i32.eqz ) - (func $~lib/string/String#repeat (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#repeat (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3391,7 +3395,7 @@ call $~lib/runtime/register end ) - (func $~lib/string/String#slice (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#slice (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3489,13 +3493,62 @@ call $~lib/runtime/register end ) - (func $~lib/collector/dummy/__ref_link (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>~iterate (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=8 + i32.add + local.set $3 + block $break|0 + loop $continue|0 + local.get $2 + local.get $3 + i32.lt_u + if + block + local.get $2 + i32.load + local.set $4 + i32.const 1 + global.set $~lib/argc + local.get $4 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $4 + local.get $1 + call $~lib/string/String~iterate + local.get $2 + i32.const 4 + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/arraybuffer/ArrayBuffer~iterate (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/collector/dummy/__ref_link (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/collector/dummy/__ref_unlink (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/dummy/__ref_unlink (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/runtime/makeArray (; 36 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/makeArray (; 39 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3515,7 +3568,7 @@ local.get $2 i32.shl call $~lib/runtime/allocate - i32.const 3 + i32.const 4 call $~lib/runtime/register local.set $6 local.get $4 @@ -3559,7 +3612,7 @@ end local.get $4 ) - (func $~lib/memory/memory.fill (; 37 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3816,14 +3869,14 @@ end end ) - (func $~lib/allocator/arena/__mem_free (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/allocator/arena/__mem_free (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/memory/memory.free (; 39 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/memory/memory.free (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/allocator/arena/__mem_free ) - (func $~lib/runtime/reallocate (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/reallocate (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3927,7 +3980,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/array/ensureCapacity (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureCapacity (; 44 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4007,7 +4060,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array<~lib/string/String>#push (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#push (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4057,7 +4110,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 43 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 46 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $0 @@ -4090,7 +4143,7 @@ call $~lib/collector/dummy/__ref_link end ) - (func $~lib/string/String#split (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#split (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4456,11 +4509,11 @@ end local.get $10 ) - (func $~lib/array/Array<~lib/string/String>#get:length (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:length (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -4469,7 +4522,7 @@ i32.add i32.load ) - (func $~lib/array/Array<~lib/string/String>#__get (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=12 @@ -4500,7 +4553,7 @@ local.get $1 call $~lib/array/Array<~lib/string/String>#__unchecked_get ) - (func $~lib/util/number/decimalCount32 (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -4569,7 +4622,15 @@ unreachable unreachable ) - (func $~lib/util/number/utoa32_lut (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array~iterate (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/util/number/utoa32_lut (; 53 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4712,7 +4773,7 @@ i32.store16 end ) - (func $~lib/util/number/itoa32 (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 54 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4776,7 +4837,7 @@ call $~lib/runtime/register end ) - (func $~lib/util/number/utoa32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4820,7 +4881,7 @@ call $~lib/runtime/register end ) - (func $~lib/util/number/decimalCount64 (; 52 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 56 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -4889,7 +4950,7 @@ unreachable unreachable ) - (func $~lib/util/number/utoa64_lut (; 53 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 57 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -5017,7 +5078,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 54 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 58 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5097,7 +5158,7 @@ call $~lib/runtime/register end ) - (func $~lib/util/number/itoa64 (; 55 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 59 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5199,19 +5260,27 @@ call $~lib/runtime/register end ) - (func $~lib/builtins/isFinite (; 56 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isFinite (; 60 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub f64.const 0 f64.eq ) - (func $~lib/builtins/isNaN (; 57 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isNaN (; 61 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/array/Array#__unchecked_get (; 58 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array~iterate (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#__unchecked_get (; 63 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $0 i32.load offset=4 local.get $1 @@ -5220,7 +5289,15 @@ i32.add i64.load ) - (func $~lib/array/Array#__unchecked_get (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array~iterate (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#__unchecked_get (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -5229,7 +5306,7 @@ i32.add i32.load16_s ) - (func $~lib/util/number/genDigits (; 60 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 66 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -5800,7 +5877,7 @@ end local.get $15 ) - (func $~lib/util/number/prettify (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6133,7 +6210,7 @@ unreachable unreachable ) - (func $~lib/util/number/dtoa_core (; 62 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 68 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 f64) (local $4 i32) @@ -6571,7 +6648,7 @@ local.get $2 i32.add ) - (func $~lib/string/String#substring (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6697,7 +6774,7 @@ call $~lib/runtime/register end ) - (func $~lib/runtime/discard (; 64 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/discard (; 70 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -6731,7 +6808,7 @@ local.get $1 call $~lib/memory/memory.free ) - (func $~lib/util/number/dtoa (; 65 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 71 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6787,7 +6864,7 @@ end local.get $4 ) - (func $start:std/string (; 66 ;) (type $FUNCSIG$v) + (func $start:std/string (; 72 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10179,12 +10256,12 @@ unreachable end ) - (func $std/string/getString (; 67 ;) (type $FUNCSIG$i) (result i32) + (func $std/string/getString (; 73 ;) (type $FUNCSIG$i) (result i32) global.get $std/string/str ) - (func $start (; 68 ;) (type $FUNCSIG$v) + (func $start (; 74 ;) (type $FUNCSIG$v) call $start:std/string ) - (func $null (; 69 ;) (type $FUNCSIG$v) + (func $null (; 75 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/symbol.untouched.wat b/tests/compiler/std/symbol.untouched.wat index 57ee7c1c..a9ecd20a 100644 --- a/tests/compiler/std/symbol.untouched.wat +++ b/tests/compiler/std/symbol.untouched.wat @@ -35,12 +35,12 @@ (data (i32.const 640) "\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") (table $0 1 funcref) (elem (i32.const 0) $null) + (global $~lib/runtime/HEADER_SIZE i32 (i32.const 8)) + (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/symbol/nextId (mut i32) (i32.const 12)) (global $std/symbol/sym1 (mut i32) (i32.const 0)) (global $std/symbol/sym2 (mut i32) (i32.const 0)) (global $~lib/symbol/stringToId (mut i32) (i32.const 0)) - (global $~lib/runtime/HEADER_SIZE i32 (i32.const 8)) - (global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index ff632e80..170cb2a9 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -1,11 +1,11 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viid (func (param i32 i32 f64))) (type $FUNCSIG$idd (func (param f64 f64) (result i32))) (type $FUNCSIG$dii (func (param i32 i32) (result f64))) @@ -74,7 +74,7 @@ (data (i32.const 776) "f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") (data (i32.const 816) "\02\00\00\00\0c") (data (i32.const 832) "\n\00\00\00\0c\00\00\00\0e") - (data (i32.const 848) "\10\00\00\00\10") + (data (i32.const 848) "\12\00\00\00\10") (data (i32.const 864) "@\03\00\00@\03\00\00\0c\00\00\00\03") (data (i32.const 880) "\01\00\00\00,") (data (i32.const 896) "f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") @@ -86,14 +86,14 @@ (data (i32.const 1104) "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 1160) "\02\00\00\00$") (data (i32.const 1176) "\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 1216) "\10\00\00\00\10") + (data (i32.const 1216) "\12\00\00\00\10") (data (i32.const 1232) "\98\04\00\00\98\04\00\00$\00\00\00\t") (data (i32.const 1248) "\01\00\00\00B") (data (i32.const 1264) "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 1336) "\01\00\00\00V") (data (i32.const 1352) "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") - (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) + (table $0 130 funcref) + (elem (i32.const 0) $null $~lib/string/String~iterate $~lib/string/String~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $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)) @@ -117,7 +117,10 @@ (export "table" (table $0)) (export ".capabilities" (global $~lib/capabilities)) (start $start) - (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String~iterate (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -179,7 +182,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -206,7 +209,7 @@ i32.const 16 i32.add ) - (func $~lib/memory/memory.fill (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i64) block $~lib/util/memory/memset|inlined.0 @@ -431,7 +434,7 @@ end end ) - (func $~lib/runtime/register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.const 1440 @@ -464,7 +467,7 @@ i32.store local.get $0 ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 1073741808 @@ -487,7 +490,17 @@ i32.const 2 call $~lib/runtime/register ) - (func $~lib/runtime/ArrayBufferView#constructor (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/ArrayBufferView~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + local.get $1 + call_indirect (type $FUNCSIG$vi) + end + ) + (func $~lib/runtime/ArrayBufferView#constructor (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 1073741808 local.get $2 @@ -539,7 +552,7 @@ i32.store offset=8 local.get $0 ) - (func $~lib/typedarray/Int8Array#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#constructor (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 4 @@ -548,7 +561,7 @@ i32.const 0 call $~lib/runtime/ArrayBufferView#constructor ) - (func $~lib/typedarray/Uint8Array#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 5 @@ -557,7 +570,7 @@ i32.const 0 call $~lib/runtime/ArrayBufferView#constructor ) - (func $~lib/typedarray/Uint8ClampedArray#constructor (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 6 @@ -566,7 +579,7 @@ i32.const 0 call $~lib/runtime/ArrayBufferView#constructor ) - (func $~lib/typedarray/Int16Array#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 7 @@ -575,7 +588,7 @@ i32.const 1 call $~lib/runtime/ArrayBufferView#constructor ) - (func $~lib/typedarray/Uint16Array#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#constructor (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 8 @@ -584,7 +597,7 @@ i32.const 1 call $~lib/runtime/ArrayBufferView#constructor ) - (func $~lib/typedarray/Int32Array#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 9 @@ -593,7 +606,7 @@ i32.const 2 call $~lib/runtime/ArrayBufferView#constructor ) - (func $~lib/typedarray/Uint32Array#constructor (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 10 @@ -602,7 +615,7 @@ i32.const 2 call $~lib/runtime/ArrayBufferView#constructor ) - (func $~lib/typedarray/Int64Array#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#constructor (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 11 @@ -611,7 +624,7 @@ i32.const 3 call $~lib/runtime/ArrayBufferView#constructor ) - (func $~lib/typedarray/Uint64Array#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#constructor (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 12 @@ -620,7 +633,7 @@ i32.const 3 call $~lib/runtime/ArrayBufferView#constructor ) - (func $~lib/typedarray/Float32Array#constructor (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 13 @@ -629,7 +642,7 @@ i32.const 2 call $~lib/runtime/ArrayBufferView#constructor ) - (func $~lib/typedarray/Float64Array#constructor (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#constructor (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 call $~lib/runtime/allocate i32.const 14 @@ -638,7 +651,7 @@ i32.const 3 call $~lib/runtime/ArrayBufferView#constructor ) - (func $std/typedarray/testInstantiate (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/typedarray/testInstantiate (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 call $~lib/typedarray/Int8Array#constructor @@ -1102,7 +1115,7 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#__set (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#__set (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -1126,7 +1139,7 @@ local.get $2 i32.store ) - (func $~lib/typedarray/Int32Array#__get (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#__get (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -1149,7 +1162,7 @@ i32.add i32.load ) - (func $~lib/typedarray/Int32Array#subarray (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#subarray (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -1241,7 +1254,7 @@ i32.store offset=8 local.get $2 ) - (func $~lib/typedarray/Float64Array#__set (; 22 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) + (func $~lib/typedarray/Float64Array#__set (; 24 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) local.get $1 local.get $0 i32.load offset=8 @@ -1265,7 +1278,7 @@ local.get $2 f64.store ) - (func $~lib/typedarray/Float64Array#subarray (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#subarray (; 25 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -1357,7 +1370,7 @@ i32.store offset=8 local.get $2 ) - (func $~lib/util/sort/insertionSort (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f64) @@ -1439,7 +1452,7 @@ unreachable end ) - (func $~lib/util/sort/weakHeapSort (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f64) @@ -1695,7 +1708,7 @@ local.get $5 f64.store ) - (func $~lib/typedarray/Float64Array#sort (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#sort (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 f64) (local $4 f64) @@ -1755,7 +1768,7 @@ end end ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 27 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 29 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -1784,7 +1797,7 @@ i64.lt_s i32.sub ) - (func $~lib/typedarray/Float64Array#__get (; 28 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/typedarray/Float64Array#__get (; 30 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -1807,7 +1820,7 @@ i32.add f64.load ) - (func $~lib/typedarray/Uint8ClampedArray#__set (; 29 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#__set (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -1839,7 +1852,7 @@ i32.and i32.store8 ) - (func $~lib/typedarray/Uint8ClampedArray#__get (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#__get (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -1858,7 +1871,7 @@ i32.add i32.load8_u ) - (func $~lib/typedarray/Int8Array#__set (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#__set (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -1878,7 +1891,7 @@ local.get $2 i32.store8 ) - (func $~lib/typedarray/Int8Array#fill (; 32 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/typedarray/Int8Array#fill (; 34 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) local.get $0 @@ -1943,7 +1956,15 @@ call $~lib/memory/memory.fill end ) - (func $~lib/util/memory/memcpy (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array~iterate (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/util/memory/memcpy (; 36 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2790,7 +2811,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 37 ;) (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 @@ -2984,7 +3005,7 @@ end end ) - (func $~lib/runtime/makeArray (; 35 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/makeArray (; 38 ;) (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 @@ -3025,7 +3046,7 @@ end local.get $1 ) - (func $~lib/typedarray/Int8Array#__get (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#__get (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -3044,7 +3065,7 @@ i32.add i32.load8_s ) - (func $~lib/array/Array#__get (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -3063,7 +3084,7 @@ i32.add i32.load8_s ) - (func $std/typedarray/isInt8ArrayEqual (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt8ArrayEqual (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3105,7 +3126,7 @@ end i32.const 1 ) - (func $~lib/typedarray/Int8Array#subarray (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#subarray (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -3191,7 +3212,7 @@ i32.store offset=8 local.get $2 ) - (func $~lib/typedarray/Int32Array#fill (; 40 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/typedarray/Int32Array#fill (; 43 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) local.get $1 @@ -3268,7 +3289,7 @@ end end ) - (func $~lib/array/Array#__get (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -3291,7 +3312,7 @@ i32.add i32.load ) - (func $std/typedarray/isInt32ArrayEqual (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt32ArrayEqual (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -3337,12 +3358,12 @@ end i32.const 1 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 43 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 46 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int8Array#reduce (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduce (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3367,7 +3388,7 @@ i32.load8_s local.get $1 local.get $0 - i32.const 2 + i32.const 20 call_indirect (type $FUNCSIG$iiiii) local.set $2 local.get $1 @@ -3379,7 +3400,7 @@ end local.get $2 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (; 45 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (; 48 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor @@ -3410,7 +3431,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#__set (; 46 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#__set (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -3430,7 +3451,7 @@ local.get $2 i32.store8 ) - (func $~lib/typedarray/Uint8Array#reduce (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduce (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3467,7 +3488,7 @@ end local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (; 48 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (; 51 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor @@ -3484,7 +3505,7 @@ i32.const 3 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 3 + i32.const 21 call $~lib/typedarray/Uint8Array#reduce i32.const 255 i32.and @@ -3499,7 +3520,7 @@ unreachable end ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (; 49 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (; 52 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor @@ -3516,7 +3537,7 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 4 + i32.const 22 call $~lib/typedarray/Uint8Array#reduce i32.const 255 i32.and @@ -3531,7 +3552,7 @@ unreachable end ) - (func $~lib/typedarray/Int16Array#__set (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#__set (; 53 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -3555,7 +3576,7 @@ local.get $2 i32.store16 ) - (func $~lib/typedarray/Int16Array#reduce (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduce (; 54 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3584,7 +3605,7 @@ i32.load16_s local.get $1 local.get $0 - i32.const 5 + i32.const 23 call_indirect (type $FUNCSIG$iiiii) local.set $2 local.get $1 @@ -3596,7 +3617,7 @@ end local.get $2 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (; 52 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (; 55 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor @@ -3627,7 +3648,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#__set (; 53 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#__set (; 56 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -3651,7 +3672,7 @@ local.get $2 i32.store16 ) - (func $~lib/typedarray/Uint16Array#reduce (; 54 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduce (; 57 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3680,7 +3701,7 @@ i32.load16_u local.get $1 local.get $0 - i32.const 6 + i32.const 24 call_indirect (type $FUNCSIG$iiiii) local.set $2 local.get $1 @@ -3692,7 +3713,7 @@ end local.get $2 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (; 55 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (; 58 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor @@ -3723,7 +3744,7 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#reduce (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduce (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3764,7 +3785,7 @@ end local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (; 57 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (; 60 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor @@ -3781,7 +3802,7 @@ i32.const 3 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 7 + i32.const 25 call $~lib/typedarray/Int32Array#reduce i32.const 6 i32.ne @@ -3794,7 +3815,7 @@ unreachable end ) - (func $~lib/typedarray/Uint32Array#__set (; 58 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#__set (; 61 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -3818,7 +3839,7 @@ local.get $2 i32.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (; 59 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (; 62 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor @@ -3835,7 +3856,7 @@ i32.const 3 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 8 + i32.const 26 call $~lib/typedarray/Int32Array#reduce i32.const 6 i32.ne @@ -3848,7 +3869,7 @@ unreachable end ) - (func $~lib/typedarray/Int64Array#__set (; 60 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/typedarray/Int64Array#__set (; 63 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 local.get $0 i32.load offset=8 @@ -3872,12 +3893,12 @@ local.get $2 i64.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 61 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 64 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $~lib/typedarray/Int64Array#reduce (; 62 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#reduce (; 65 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local $3 i64) (local $4 i32) @@ -3918,7 +3939,7 @@ end local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (; 63 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (; 66 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor @@ -3935,7 +3956,7 @@ i64.const 3 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 9 + i32.const 27 call $~lib/typedarray/Int64Array#reduce i64.const 6 i64.ne @@ -3948,7 +3969,7 @@ unreachable end ) - (func $~lib/typedarray/Uint64Array#__set (; 64 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/typedarray/Uint64Array#__set (; 67 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 local.get $0 i32.load offset=8 @@ -3972,7 +3993,7 @@ local.get $2 i64.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (; 65 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (; 68 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor @@ -3989,7 +4010,7 @@ i64.const 3 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 10 + i32.const 28 call $~lib/typedarray/Int64Array#reduce i64.const 6 i64.ne @@ -4002,7 +4023,7 @@ unreachable end ) - (func $~lib/typedarray/Float32Array#__set (; 66 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) + (func $~lib/typedarray/Float32Array#__set (; 69 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) local.get $1 local.get $0 i32.load offset=8 @@ -4026,12 +4047,12 @@ local.get $2 f32.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 67 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 70 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) local.get $0 local.get $1 f32.add ) - (func $~lib/typedarray/Float32Array#reduce (; 68 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) + (func $~lib/typedarray/Float32Array#reduce (; 71 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) (local $1 i32) (local $2 f32) (local $3 i32) @@ -4060,7 +4081,7 @@ f32.load local.get $1 local.get $0 - i32.const 11 + i32.const 29 call_indirect (type $FUNCSIG$fffii) local.set $2 local.get $1 @@ -4072,7 +4093,7 @@ end local.get $2 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (; 69 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (; 72 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor @@ -4101,12 +4122,12 @@ unreachable end ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 70 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 73 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) local.get $0 local.get $1 f64.add ) - (func $~lib/typedarray/Float64Array#reduce (; 71 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/typedarray/Float64Array#reduce (; 74 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 f64) (local $3 i32) @@ -4135,7 +4156,7 @@ f64.load local.get $1 local.get $0 - i32.const 12 + i32.const 30 call_indirect (type $FUNCSIG$dddii) local.set $2 local.get $1 @@ -4147,7 +4168,7 @@ end local.get $2 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (; 72 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (; 75 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor @@ -4176,7 +4197,7 @@ unreachable end ) - (func $~lib/typedarray/Int8Array#reduceRight (; 73 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduceRight (; 76 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4202,7 +4223,7 @@ i32.load8_s local.get $1 local.get $0 - i32.const 13 + i32.const 31 call_indirect (type $FUNCSIG$iiiii) local.set $2 local.get $1 @@ -4214,7 +4235,7 @@ end local.get $2 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (; 74 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (; 77 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor @@ -4245,7 +4266,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#reduceRight (; 75 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduceRight (; 78 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4283,7 +4304,7 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (; 76 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (; 79 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor @@ -4300,7 +4321,7 @@ i32.const 3 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 14 + i32.const 32 call $~lib/typedarray/Uint8Array#reduceRight i32.const 255 i32.and @@ -4315,7 +4336,7 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (; 77 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (; 80 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor @@ -4332,7 +4353,7 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 15 + i32.const 33 call $~lib/typedarray/Uint8Array#reduceRight i32.const 255 i32.and @@ -4347,7 +4368,7 @@ unreachable end ) - (func $~lib/typedarray/Int16Array#reduceRight (; 78 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduceRight (; 81 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4377,7 +4398,7 @@ i32.load16_s local.get $1 local.get $0 - i32.const 16 + i32.const 34 call_indirect (type $FUNCSIG$iiiii) local.set $2 local.get $1 @@ -4389,7 +4410,7 @@ end local.get $2 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (; 79 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (; 82 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor @@ -4420,7 +4441,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#reduceRight (; 80 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduceRight (; 83 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4450,7 +4471,7 @@ i32.load16_u local.get $1 local.get $0 - i32.const 17 + i32.const 35 call_indirect (type $FUNCSIG$iiiii) local.set $2 local.get $1 @@ -4462,7 +4483,7 @@ end local.get $2 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (; 81 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (; 84 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor @@ -4493,7 +4514,7 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#reduceRight (; 82 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduceRight (; 85 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4535,7 +4556,7 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (; 83 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (; 86 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor @@ -4552,7 +4573,7 @@ i32.const 3 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 18 + i32.const 36 call $~lib/typedarray/Int32Array#reduceRight i32.const 6 i32.ne @@ -4565,7 +4586,7 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (; 84 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (; 87 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor @@ -4582,7 +4603,7 @@ i32.const 3 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 19 + i32.const 37 call $~lib/typedarray/Int32Array#reduceRight i32.const 6 i32.ne @@ -4595,7 +4616,7 @@ unreachable end ) - (func $~lib/typedarray/Int64Array#reduceRight (; 85 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#reduceRight (; 88 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local $3 i64) (local $4 i32) @@ -4637,7 +4658,7 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (; 86 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (; 89 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor @@ -4654,7 +4675,7 @@ i64.const 3 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 20 + i32.const 38 call $~lib/typedarray/Int64Array#reduceRight i64.const 6 i64.ne @@ -4667,7 +4688,7 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (; 87 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (; 90 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor @@ -4684,7 +4705,7 @@ i64.const 3 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 21 + i32.const 39 call $~lib/typedarray/Int64Array#reduceRight i64.const 6 i64.ne @@ -4697,7 +4718,7 @@ unreachable end ) - (func $~lib/typedarray/Float32Array#reduceRight (; 88 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) + (func $~lib/typedarray/Float32Array#reduceRight (; 91 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) (local $1 i32) (local $2 f32) (local $3 i32) @@ -4727,7 +4748,7 @@ f32.load local.get $1 local.get $0 - i32.const 22 + i32.const 40 call_indirect (type $FUNCSIG$fffii) local.set $2 local.get $1 @@ -4739,7 +4760,7 @@ end local.get $2 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (; 89 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (; 92 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor @@ -4768,7 +4789,7 @@ unreachable end ) - (func $~lib/typedarray/Float64Array#reduceRight (; 90 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) + (func $~lib/typedarray/Float64Array#reduceRight (; 93 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 i32) (local $2 f64) (local $3 i32) @@ -4798,7 +4819,7 @@ f64.load local.get $1 local.get $0 - i32.const 23 + i32.const 41 call_indirect (type $FUNCSIG$dddii) local.set $2 local.get $1 @@ -4810,7 +4831,7 @@ end local.get $2 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (; 91 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (; 94 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor @@ -4839,12 +4860,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 92 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 95 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Int8Array#map (; 93 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#map (; 96 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4878,7 +4899,7 @@ i32.load8_s local.get $1 local.get $0 - i32.const 24 + i32.const 42 call_indirect (type $FUNCSIG$iiii) i32.store8 local.get $1 @@ -4890,7 +4911,7 @@ end local.get $2 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (; 94 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (; 97 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor @@ -4948,7 +4969,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#map (; 95 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#map (; 98 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4982,7 +5003,7 @@ i32.load8_u local.get $1 local.get $0 - i32.const 25 + i32.const 43 call_indirect (type $FUNCSIG$iiii) i32.store8 local.get $1 @@ -4994,7 +5015,7 @@ end local.get $2 ) - (func $~lib/typedarray/Uint8Array#__get (; 96 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#__get (; 99 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -5013,7 +5034,7 @@ i32.add i32.load8_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (; 97 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (; 100 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor @@ -5071,7 +5092,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8ClampedArray#map (; 98 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#map (; 101 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5105,7 +5126,7 @@ i32.load8_u local.get $1 local.get $0 - i32.const 26 + i32.const 44 call_indirect (type $FUNCSIG$iiii) i32.store8 local.get $1 @@ -5117,7 +5138,7 @@ end local.get $2 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (; 99 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (; 102 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor @@ -5175,7 +5196,7 @@ unreachable end ) - (func $~lib/typedarray/Int16Array#map (; 100 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#map (; 103 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5213,7 +5234,7 @@ i32.load16_s local.get $1 local.get $0 - i32.const 27 + i32.const 45 call_indirect (type $FUNCSIG$iiii) local.set $7 local.get $5 @@ -5230,7 +5251,7 @@ end local.get $2 ) - (func $~lib/typedarray/Int16Array#__get (; 101 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#__get (; 104 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -5253,7 +5274,7 @@ i32.add i32.load16_s ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (; 102 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (; 105 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor @@ -5311,7 +5332,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#map (; 103 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#map (; 106 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5349,7 +5370,7 @@ i32.load16_u local.get $1 local.get $0 - i32.const 28 + i32.const 46 call_indirect (type $FUNCSIG$iiii) local.set $7 local.get $5 @@ -5366,7 +5387,7 @@ end local.get $2 ) - (func $~lib/typedarray/Uint16Array#__get (; 104 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#__get (; 107 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -5389,7 +5410,7 @@ i32.add i32.load16_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (; 105 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (; 108 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor @@ -5447,7 +5468,7 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#map (; 106 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#map (; 109 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5485,7 +5506,7 @@ i32.load local.get $1 local.get $0 - i32.const 29 + i32.const 47 call_indirect (type $FUNCSIG$iiii) local.set $7 local.get $5 @@ -5502,7 +5523,7 @@ end local.get $2 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (; 107 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (; 110 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor @@ -5560,7 +5581,7 @@ unreachable end ) - (func $~lib/typedarray/Uint32Array#map (; 108 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#map (; 111 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5598,7 +5619,7 @@ i32.load local.get $1 local.get $0 - i32.const 30 + i32.const 48 call_indirect (type $FUNCSIG$iiii) local.set $7 local.get $5 @@ -5615,7 +5636,7 @@ end local.get $2 ) - (func $~lib/typedarray/Uint32Array#__get (; 109 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#__get (; 112 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -5638,7 +5659,7 @@ i32.add i32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (; 110 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (; 113 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor @@ -5696,12 +5717,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 111 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 114 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) local.get $0 local.get $0 i64.mul ) - (func $~lib/typedarray/Int64Array#map (; 112 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#map (; 115 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5739,7 +5760,7 @@ i64.load local.get $1 local.get $0 - i32.const 31 + i32.const 49 call_indirect (type $FUNCSIG$jjii) local.set $7 local.get $5 @@ -5756,7 +5777,7 @@ end local.get $2 ) - (func $~lib/typedarray/Int64Array#__get (; 113 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#__get (; 116 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 i32.load offset=8 @@ -5779,7 +5800,7 @@ i32.add i64.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (; 114 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (; 117 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor @@ -5837,7 +5858,7 @@ unreachable end ) - (func $~lib/typedarray/Uint64Array#map (; 115 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#map (; 118 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5875,7 +5896,7 @@ i64.load local.get $1 local.get $0 - i32.const 32 + i32.const 50 call_indirect (type $FUNCSIG$jjii) local.set $7 local.get $5 @@ -5892,7 +5913,7 @@ end local.get $2 ) - (func $~lib/typedarray/Uint64Array#__get (; 116 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Uint64Array#__get (; 119 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 i32.load offset=8 @@ -5915,7 +5936,7 @@ i32.add i64.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (; 117 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (; 120 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor @@ -5973,12 +5994,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 118 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 121 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) local.get $0 local.get $0 f32.mul ) - (func $~lib/typedarray/Float32Array#map (; 119 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#map (; 122 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6016,7 +6037,7 @@ f32.load local.get $1 local.get $0 - i32.const 33 + i32.const 51 call_indirect (type $FUNCSIG$ffii) local.set $7 local.get $5 @@ -6033,7 +6054,7 @@ end local.get $2 ) - (func $~lib/typedarray/Float32Array#__get (; 120 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/typedarray/Float32Array#__get (; 123 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -6056,7 +6077,7 @@ i32.add f32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (; 121 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (; 124 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor @@ -6114,12 +6135,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 122 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 125 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) local.get $0 local.get $0 f64.mul ) - (func $~lib/typedarray/Float64Array#map (; 123 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#map (; 126 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6157,7 +6178,7 @@ f64.load local.get $1 local.get $0 - i32.const 34 + i32.const 52 call_indirect (type $FUNCSIG$ddii) local.set $7 local.get $5 @@ -6174,7 +6195,7 @@ end local.get $2 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (; 124 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (; 127 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor @@ -6232,14 +6253,14 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 125 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 128 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Int8Array#some (; 126 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#some (; 129 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6278,13 +6299,13 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 127 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 130 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.eqz ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (; 128 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (; 131 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor @@ -6301,7 +6322,7 @@ i32.const 6 call $~lib/typedarray/Int8Array#__set local.get $0 - i32.const 35 + i32.const 53 call $~lib/typedarray/Int8Array#some i32.eqz if @@ -6313,7 +6334,7 @@ unreachable end local.get $0 - i32.const 36 + i32.const 54 call $~lib/typedarray/Int8Array#some if i32.const 0 @@ -6324,7 +6345,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#some (; 129 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#some (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6363,7 +6384,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (; 130 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (; 133 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor @@ -6380,7 +6401,7 @@ i32.const 6 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 37 + i32.const 55 call $~lib/typedarray/Uint8Array#some i32.eqz if @@ -6392,7 +6413,7 @@ unreachable end local.get $0 - i32.const 38 + i32.const 56 call $~lib/typedarray/Uint8Array#some if i32.const 0 @@ -6403,7 +6424,7 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (; 131 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (; 134 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor @@ -6420,7 +6441,7 @@ i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 39 + i32.const 57 call $~lib/typedarray/Uint8Array#some i32.eqz if @@ -6432,7 +6453,7 @@ unreachable end local.get $0 - i32.const 40 + i32.const 58 call $~lib/typedarray/Uint8Array#some if i32.const 0 @@ -6443,14 +6464,14 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 132 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 135 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Int16Array#some (; 133 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#some (; 136 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6493,13 +6514,13 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 134 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 137 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.eqz ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (; 135 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (; 138 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor @@ -6516,7 +6537,7 @@ i32.const 6 call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 41 + i32.const 59 call $~lib/typedarray/Int16Array#some i32.eqz if @@ -6528,7 +6549,7 @@ unreachable end local.get $0 - i32.const 42 + i32.const 60 call $~lib/typedarray/Int16Array#some if i32.const 0 @@ -6539,7 +6560,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#some (; 136 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#some (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6582,7 +6603,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (; 137 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (; 140 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor @@ -6599,7 +6620,7 @@ i32.const 6 call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 43 + i32.const 61 call $~lib/typedarray/Uint16Array#some i32.eqz if @@ -6611,7 +6632,7 @@ unreachable end local.get $0 - i32.const 44 + i32.const 62 call $~lib/typedarray/Uint16Array#some if i32.const 0 @@ -6622,12 +6643,12 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 138 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 141 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $~lib/typedarray/Int32Array#some (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#some (; 142 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6670,11 +6691,11 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 140 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 143 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.eqz ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (; 141 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (; 144 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor @@ -6691,7 +6712,7 @@ i32.const 6 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 45 + i32.const 63 call $~lib/typedarray/Int32Array#some i32.eqz if @@ -6703,7 +6724,7 @@ unreachable end local.get $0 - i32.const 46 + i32.const 64 call $~lib/typedarray/Int32Array#some if i32.const 0 @@ -6714,7 +6735,7 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (; 142 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (; 145 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor @@ -6731,7 +6752,7 @@ i32.const 6 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 47 + i32.const 65 call $~lib/typedarray/Int32Array#some i32.eqz if @@ -6743,7 +6764,7 @@ unreachable end local.get $0 - i32.const 48 + i32.const 66 call $~lib/typedarray/Int32Array#some if i32.const 0 @@ -6754,12 +6775,12 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 143 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 146 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $~lib/typedarray/Int64Array#some (; 144 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#some (; 147 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6802,12 +6823,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 145 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 148 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 0 i64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (; 146 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (; 149 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor @@ -6824,7 +6845,7 @@ i64.const 6 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 49 + i32.const 67 call $~lib/typedarray/Int64Array#some i32.eqz if @@ -6836,7 +6857,7 @@ unreachable end local.get $0 - i32.const 50 + i32.const 68 call $~lib/typedarray/Int64Array#some if i32.const 0 @@ -6847,7 +6868,7 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (; 147 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (; 150 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor @@ -6864,7 +6885,7 @@ i64.const 6 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 51 + i32.const 69 call $~lib/typedarray/Int64Array#some i32.eqz if @@ -6876,7 +6897,7 @@ unreachable end local.get $0 - i32.const 52 + i32.const 70 call $~lib/typedarray/Int64Array#some if i32.const 0 @@ -6887,12 +6908,12 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 148 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 151 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 f32.eq ) - (func $~lib/typedarray/Float32Array#some (; 149 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#some (; 152 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6935,12 +6956,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 150 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 153 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 0 f32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (; 151 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (; 154 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor @@ -6957,7 +6978,7 @@ f32.const 6 call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 53 + i32.const 71 call $~lib/typedarray/Float32Array#some i32.eqz if @@ -6969,7 +6990,7 @@ unreachable end local.get $0 - i32.const 54 + i32.const 72 call $~lib/typedarray/Float32Array#some if i32.const 0 @@ -6980,12 +7001,12 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 152 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 155 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 f64.eq ) - (func $~lib/typedarray/Float64Array#some (; 153 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#some (; 156 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7028,12 +7049,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 154 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 157 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 0 f64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (; 155 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (; 158 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor @@ -7050,7 +7071,7 @@ f64.const 6 call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 55 + i32.const 73 call $~lib/typedarray/Float64Array#some i32.eqz if @@ -7062,7 +7083,7 @@ unreachable end local.get $0 - i32.const 56 + i32.const 74 call $~lib/typedarray/Float64Array#some if i32.const 0 @@ -7073,7 +7094,7 @@ unreachable end ) - (func $~lib/typedarray/Int8Array#findIndex (; 156 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#findIndex (; 159 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7115,14 +7136,14 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 157 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 160 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (; 158 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (; 161 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor @@ -7139,7 +7160,7 @@ i32.const 3 call $~lib/typedarray/Int8Array#__set local.get $0 - i32.const 57 + i32.const 75 call $~lib/typedarray/Int8Array#findIndex i32.const 1 i32.ne @@ -7152,7 +7173,7 @@ unreachable end local.get $0 - i32.const 58 + i32.const 76 call $~lib/typedarray/Int8Array#findIndex i32.const -1 i32.ne @@ -7165,7 +7186,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#findIndex (; 159 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#findIndex (; 162 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7207,7 +7228,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (; 160 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (; 163 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor @@ -7224,7 +7245,7 @@ i32.const 3 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 59 + i32.const 77 call $~lib/typedarray/Uint8Array#findIndex i32.const 1 i32.ne @@ -7237,7 +7258,7 @@ unreachable end local.get $0 - i32.const 60 + i32.const 78 call $~lib/typedarray/Uint8Array#findIndex i32.const -1 i32.ne @@ -7250,7 +7271,7 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (; 161 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (; 164 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor @@ -7267,7 +7288,7 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 61 + i32.const 79 call $~lib/typedarray/Uint8Array#findIndex i32.const 1 i32.ne @@ -7280,7 +7301,7 @@ unreachable end local.get $0 - i32.const 62 + i32.const 80 call $~lib/typedarray/Uint8Array#findIndex i32.const -1 i32.ne @@ -7293,7 +7314,7 @@ unreachable end ) - (func $~lib/typedarray/Int16Array#findIndex (; 162 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#findIndex (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7339,14 +7360,14 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 163 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 166 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (; 164 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (; 167 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor @@ -7363,7 +7384,7 @@ i32.const 3 call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 63 + i32.const 81 call $~lib/typedarray/Int16Array#findIndex i32.const 1 i32.ne @@ -7376,7 +7397,7 @@ unreachable end local.get $0 - i32.const 64 + i32.const 82 call $~lib/typedarray/Int16Array#findIndex i32.const -1 i32.ne @@ -7389,7 +7410,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#findIndex (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#findIndex (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7435,7 +7456,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (; 166 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (; 169 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor @@ -7452,7 +7473,7 @@ i32.const 3 call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 65 + i32.const 83 call $~lib/typedarray/Uint16Array#findIndex i32.const 1 i32.ne @@ -7465,7 +7486,7 @@ unreachable end local.get $0 - i32.const 66 + i32.const 84 call $~lib/typedarray/Uint16Array#findIndex i32.const -1 i32.ne @@ -7478,7 +7499,7 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#findIndex (; 167 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#findIndex (; 170 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7524,12 +7545,12 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 168 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 171 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (; 169 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (; 172 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor @@ -7546,7 +7567,7 @@ i32.const 3 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 67 + i32.const 85 call $~lib/typedarray/Int32Array#findIndex i32.const 1 i32.ne @@ -7559,7 +7580,7 @@ unreachable end local.get $0 - i32.const 68 + i32.const 86 call $~lib/typedarray/Int32Array#findIndex i32.const -1 i32.ne @@ -7572,7 +7593,7 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (; 170 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (; 173 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor @@ -7589,7 +7610,7 @@ i32.const 3 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 69 + i32.const 87 call $~lib/typedarray/Int32Array#findIndex i32.const 1 i32.ne @@ -7602,7 +7623,7 @@ unreachable end local.get $0 - i32.const 70 + i32.const 88 call $~lib/typedarray/Int32Array#findIndex i32.const -1 i32.ne @@ -7615,7 +7636,7 @@ unreachable end ) - (func $~lib/typedarray/Int64Array#findIndex (; 171 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#findIndex (; 174 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7661,12 +7682,12 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 172 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 175 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (; 173 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (; 176 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor @@ -7683,7 +7704,7 @@ i64.const 3 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 71 + i32.const 89 call $~lib/typedarray/Int64Array#findIndex i32.const 1 i32.ne @@ -7696,7 +7717,7 @@ unreachable end local.get $0 - i32.const 72 + i32.const 90 call $~lib/typedarray/Int64Array#findIndex i32.const -1 i32.ne @@ -7709,7 +7730,7 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (; 174 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (; 177 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor @@ -7726,7 +7747,7 @@ i64.const 3 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 73 + i32.const 91 call $~lib/typedarray/Int64Array#findIndex i32.const 1 i32.ne @@ -7739,7 +7760,7 @@ unreachable end local.get $0 - i32.const 74 + i32.const 92 call $~lib/typedarray/Int64Array#findIndex i32.const -1 i32.ne @@ -7752,7 +7773,7 @@ unreachable end ) - (func $~lib/typedarray/Float32Array#findIndex (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#findIndex (; 178 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7798,12 +7819,12 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 176 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 179 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 4 f32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (; 177 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (; 180 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor @@ -7820,7 +7841,7 @@ f32.const 3 call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 75 + i32.const 93 call $~lib/typedarray/Float32Array#findIndex i32.const 1 i32.ne @@ -7833,7 +7854,7 @@ unreachable end local.get $0 - i32.const 76 + i32.const 94 call $~lib/typedarray/Float32Array#findIndex i32.const -1 i32.ne @@ -7846,7 +7867,7 @@ unreachable end ) - (func $~lib/typedarray/Float64Array#findIndex (; 178 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#findIndex (; 181 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7892,12 +7913,12 @@ end local.get $0 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 179 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 182 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 4 f64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (; 180 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (; 183 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor @@ -7914,7 +7935,7 @@ f64.const 3 call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 77 + i32.const 95 call $~lib/typedarray/Float64Array#findIndex i32.const 1 i32.ne @@ -7927,7 +7948,7 @@ unreachable end local.get $0 - i32.const 78 + i32.const 96 call $~lib/typedarray/Float64Array#findIndex i32.const -1 i32.ne @@ -7940,7 +7961,7 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 181 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 184 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -7950,7 +7971,7 @@ i32.rem_s i32.eqz ) - (func $~lib/typedarray/Int8Array#every (; 182 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#every (; 185 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7990,7 +8011,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (; 183 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (; 186 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int8Array#constructor @@ -8007,7 +8028,7 @@ i32.const 6 call $~lib/typedarray/Int8Array#__set local.get $0 - i32.const 79 + i32.const 97 call $~lib/typedarray/Int8Array#every i32.eqz if @@ -8019,7 +8040,7 @@ unreachable end local.get $0 - i32.const 80 + i32.const 98 call $~lib/typedarray/Int8Array#every if i32.const 0 @@ -8030,13 +8051,13 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 184 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 187 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 1 i32.and i32.eqz ) - (func $~lib/typedarray/Uint8Array#every (; 185 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#every (; 188 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8076,7 +8097,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (; 186 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (; 189 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8Array#constructor @@ -8093,7 +8114,7 @@ i32.const 6 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 81 + i32.const 99 call $~lib/typedarray/Uint8Array#every i32.eqz if @@ -8105,7 +8126,7 @@ unreachable end local.get $0 - i32.const 82 + i32.const 100 call $~lib/typedarray/Uint8Array#every if i32.const 0 @@ -8116,7 +8137,7 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (; 187 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (; 190 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor @@ -8133,7 +8154,7 @@ i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 83 + i32.const 101 call $~lib/typedarray/Uint8Array#every i32.eqz if @@ -8145,7 +8166,7 @@ unreachable end local.get $0 - i32.const 84 + i32.const 102 call $~lib/typedarray/Uint8Array#every if i32.const 0 @@ -8156,7 +8177,7 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 188 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 191 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -8166,7 +8187,7 @@ i32.rem_s i32.eqz ) - (func $~lib/typedarray/Int16Array#every (; 189 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#every (; 192 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8210,7 +8231,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (; 190 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (; 193 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int16Array#constructor @@ -8227,7 +8248,7 @@ i32.const 6 call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 85 + i32.const 103 call $~lib/typedarray/Int16Array#every i32.eqz if @@ -8239,7 +8260,7 @@ unreachable end local.get $0 - i32.const 86 + i32.const 104 call $~lib/typedarray/Int16Array#every if i32.const 0 @@ -8250,7 +8271,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#every (; 191 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#every (; 194 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8294,7 +8315,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (; 192 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (; 195 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint16Array#constructor @@ -8311,7 +8332,7 @@ i32.const 6 call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 87 + i32.const 105 call $~lib/typedarray/Uint16Array#every i32.eqz if @@ -8323,7 +8344,7 @@ unreachable end local.get $0 - i32.const 88 + i32.const 106 call $~lib/typedarray/Uint16Array#every if i32.const 0 @@ -8334,13 +8355,13 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 193 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 196 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.rem_s i32.eqz ) - (func $~lib/typedarray/Int32Array#every (; 194 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#every (; 197 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8384,7 +8405,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (; 195 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (; 198 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int32Array#constructor @@ -8401,7 +8422,7 @@ i32.const 6 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 89 + i32.const 107 call $~lib/typedarray/Int32Array#every i32.eqz if @@ -8413,7 +8434,7 @@ unreachable end local.get $0 - i32.const 90 + i32.const 108 call $~lib/typedarray/Int32Array#every if i32.const 0 @@ -8424,7 +8445,7 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (; 196 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (; 199 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint32Array#constructor @@ -8441,7 +8462,7 @@ i32.const 6 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 91 + i32.const 109 call $~lib/typedarray/Int32Array#every i32.eqz if @@ -8453,7 +8474,7 @@ unreachable end local.get $0 - i32.const 92 + i32.const 110 call $~lib/typedarray/Int32Array#every if i32.const 0 @@ -8464,14 +8485,14 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 197 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 200 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.rem_s i64.const 0 i64.eq ) - (func $~lib/typedarray/Int64Array#every (; 198 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#every (; 201 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8515,7 +8536,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (; 199 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (; 202 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Int64Array#constructor @@ -8532,7 +8553,7 @@ i64.const 6 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 93 + i32.const 111 call $~lib/typedarray/Int64Array#every i32.eqz if @@ -8544,7 +8565,7 @@ unreachable end local.get $0 - i32.const 94 + i32.const 112 call $~lib/typedarray/Int64Array#every if i32.const 0 @@ -8555,14 +8576,14 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 200 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 203 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.rem_u i64.const 0 i64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 201 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 204 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Uint64Array#constructor @@ -8579,7 +8600,7 @@ i64.const 6 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 95 + i32.const 113 call $~lib/typedarray/Int64Array#every i32.eqz if @@ -8591,7 +8612,7 @@ unreachable end local.get $0 - i32.const 96 + i32.const 114 call $~lib/typedarray/Int64Array#every if i32.const 0 @@ -8602,7 +8623,7 @@ unreachable end ) - (func $~lib/math/NativeMathf.mod (; 202 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 205 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8753,13 +8774,13 @@ local.get $0 f32.mul ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 203 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 206 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.mod f32.const 0 f32.eq ) - (func $~lib/typedarray/Float32Array#every (; 204 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#every (; 207 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8803,7 +8824,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (; 205 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (; 208 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float32Array#constructor @@ -8820,7 +8841,7 @@ f32.const 6 call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 97 + i32.const 115 call $~lib/typedarray/Float32Array#every i32.eqz if @@ -8832,7 +8853,7 @@ unreachable end local.get $0 - i32.const 98 + i32.const 116 call $~lib/typedarray/Float32Array#every if i32.const 0 @@ -8843,7 +8864,7 @@ unreachable end ) - (func $~lib/math/NativeMath.mod (; 206 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 209 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64) (local $1 i64) (local $2 i64) (local $3 i64) @@ -9002,13 +9023,13 @@ local.get $0 f64.mul ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 207 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 210 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 call $~lib/math/NativeMath.mod f64.const 0 f64.eq ) - (func $~lib/typedarray/Float64Array#every (; 208 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#every (; 211 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9052,7 +9073,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (; 209 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (; 212 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 3 call $~lib/typedarray/Float64Array#constructor @@ -9069,7 +9090,7 @@ f64.const 6 call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 99 + i32.const 117 call $~lib/typedarray/Float64Array#every i32.eqz if @@ -9081,7 +9102,7 @@ unreachable end local.get $0 - i32.const 100 + i32.const 118 call $~lib/typedarray/Float64Array#every if i32.const 0 @@ -9092,7 +9113,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 210 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 213 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.const 255 i32.and @@ -9137,7 +9158,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int8Array#forEach (; 211 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Int8Array#forEach (; 214 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9160,7 +9181,7 @@ i32.load8_s local.get $1 local.get $0 - i32.const 101 + i32.const 119 call_indirect (type $FUNCSIG$viii) local.get $1 i32.const 1 @@ -9170,7 +9191,7 @@ end end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (; 212 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (; 215 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -9222,7 +9243,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#forEach (; 213 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#forEach (; 216 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9255,7 +9276,7 @@ end end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (; 214 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (; 217 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -9288,7 +9309,7 @@ i32.and call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 102 + i32.const 120 call $~lib/typedarray/Uint8Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -9302,7 +9323,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (; 215 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (; 218 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -9335,7 +9356,7 @@ i32.and call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 103 + i32.const 121 call $~lib/typedarray/Uint8Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -9349,7 +9370,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 216 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 219 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.const 65535 i32.and @@ -9394,7 +9415,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int16Array#forEach (; 217 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Int16Array#forEach (; 220 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9421,7 +9442,7 @@ i32.load16_s local.get $1 local.get $0 - i32.const 104 + i32.const 122 call_indirect (type $FUNCSIG$viii) local.get $1 i32.const 1 @@ -9431,7 +9452,7 @@ end end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (; 218 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (; 221 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -9483,7 +9504,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#forEach (; 219 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Uint16Array#forEach (; 222 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9510,7 +9531,7 @@ i32.load16_u local.get $1 local.get $0 - i32.const 105 + i32.const 123 call_indirect (type $FUNCSIG$viii) local.get $1 i32.const 1 @@ -9520,7 +9541,7 @@ end end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (; 220 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (; 223 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -9566,7 +9587,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 221 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 224 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) global.get $std/typedarray/forEachValues local.get $1 call $~lib/array/Array#__get @@ -9607,7 +9628,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int32Array#forEach (; 222 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#forEach (; 225 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9644,7 +9665,7 @@ end end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> (; 223 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> (; 226 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -9671,7 +9692,7 @@ call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 106 + i32.const 124 call $~lib/typedarray/Int32Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -9685,7 +9706,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (; 224 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (; 227 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -9712,7 +9733,7 @@ call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 107 + i32.const 125 call $~lib/typedarray/Int32Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -9726,7 +9747,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 225 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 228 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) local.get $0 global.get $std/typedarray/forEachValues local.get $1 @@ -9768,7 +9789,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int64Array#forEach (; 226 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#forEach (; 229 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9805,7 +9826,7 @@ end end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (; 227 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (; 230 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -9835,7 +9856,7 @@ i64.extend_i32_s call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 108 + i32.const 126 call $~lib/typedarray/Int64Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -9849,7 +9870,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (; 228 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (; 231 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -9879,7 +9900,7 @@ i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 109 + i32.const 127 call $~lib/typedarray/Int64Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -9893,7 +9914,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 229 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 232 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) local.get $0 global.get $std/typedarray/forEachValues local.get $1 @@ -9935,7 +9956,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Float32Array#forEach (; 230 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Float32Array#forEach (; 233 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9962,7 +9983,7 @@ f32.load local.get $1 local.get $0 - i32.const 110 + i32.const 128 call_indirect (type $FUNCSIG$vfii) local.get $1 i32.const 1 @@ -9972,7 +9993,7 @@ end end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (; 231 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (; 234 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -10015,7 +10036,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 232 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 235 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) local.get $0 global.get $std/typedarray/forEachValues local.get $1 @@ -10057,7 +10078,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Float64Array#forEach (; 233 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/typedarray/Float64Array#forEach (; 236 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10084,7 +10105,7 @@ f64.load local.get $1 local.get $0 - i32.const 111 + i32.const 129 call_indirect (type $FUNCSIG$vdii) local.get $1 i32.const 1 @@ -10094,7 +10115,7 @@ end end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (; 234 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (; 237 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -10137,7 +10158,7 @@ unreachable end ) - (func $~lib/typedarray/Int8Array#reverse (; 235 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reverse (; 238 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10185,7 +10206,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (; 236 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (; 239 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10330,7 +10351,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#reverse (; 237 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reverse (; 240 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10378,7 +10399,7 @@ end local.get $0 ) - (func $~lib/typedarray/Uint8Array#subarray (; 238 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#subarray (; 241 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10433,7 +10454,7 @@ i32.store offset=8 local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 239 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 242 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10570,7 +10591,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8ClampedArray#subarray (; 240 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#subarray (; 243 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10625,7 +10646,7 @@ i32.store offset=8 local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 241 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 244 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10762,7 +10783,7 @@ unreachable end ) - (func $~lib/typedarray/Int16Array#reverse (; 242 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reverse (; 245 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10816,7 +10837,7 @@ end local.get $0 ) - (func $~lib/typedarray/Int16Array#subarray (; 243 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#subarray (; 246 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10877,7 +10898,7 @@ i32.store offset=8 local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 244 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 247 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11020,7 +11041,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#reverse (; 245 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reverse (; 248 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11074,7 +11095,7 @@ end local.get $0 ) - (func $~lib/typedarray/Uint16Array#subarray (; 246 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#subarray (; 249 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11135,7 +11156,7 @@ i32.store offset=8 local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 247 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 250 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11272,7 +11293,7 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#reverse (; 248 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#reverse (; 251 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11326,7 +11347,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (; 249 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (; 252 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11459,7 +11480,7 @@ unreachable end ) - (func $~lib/typedarray/Uint32Array#subarray (; 250 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#subarray (; 253 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11520,7 +11541,7 @@ i32.store offset=8 local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 251 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 254 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11651,7 +11672,7 @@ unreachable end ) - (func $~lib/typedarray/Int64Array#reverse (; 252 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#reverse (; 255 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11705,7 +11726,7 @@ end local.get $0 ) - (func $~lib/typedarray/Int64Array#subarray (; 253 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#subarray (; 256 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11766,7 +11787,7 @@ i32.store offset=8 local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 254 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 257 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11900,7 +11921,7 @@ unreachable end ) - (func $~lib/typedarray/Uint64Array#subarray (; 255 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#subarray (; 258 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11961,7 +11982,7 @@ i32.store offset=8 local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 256 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 259 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12095,7 +12116,7 @@ unreachable end ) - (func $~lib/typedarray/Float32Array#reverse (; 257 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#reverse (; 260 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12149,7 +12170,7 @@ end local.get $0 ) - (func $~lib/typedarray/Float32Array#subarray (; 258 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#subarray (; 261 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12210,7 +12231,7 @@ i32.store offset=8 local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 259 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 262 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12344,7 +12365,7 @@ unreachable end ) - (func $~lib/typedarray/Float64Array#reverse (; 260 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#reverse (; 263 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12398,7 +12419,7 @@ end local.get $0 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (; 261 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (; 264 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12534,7 +12555,7 @@ unreachable end ) - (func $start:std/typedarray (; 262 ;) (type $FUNCSIG$v) + (func $start:std/typedarray (; 265 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 1440 @@ -12795,7 +12816,7 @@ end unreachable end - i32.const 1 + i32.const 15 local.set $0 end local.get $1 @@ -12929,7 +12950,7 @@ call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 240 call $~lib/runtime/makeArray @@ -12950,7 +12971,7 @@ call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 312 call $~lib/runtime/makeArray @@ -12971,7 +12992,7 @@ call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 336 call $~lib/runtime/makeArray @@ -12992,7 +13013,7 @@ call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 360 call $~lib/runtime/makeArray @@ -13013,7 +13034,7 @@ call $~lib/typedarray/Int8Array#fill global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 384 call $~lib/runtime/makeArray @@ -13079,7 +13100,7 @@ end global.get $std/typedarray/sub8 i32.const 3 - i32.const 15 + i32.const 16 i32.const 0 i32.const 408 call $~lib/runtime/makeArray @@ -13095,7 +13116,7 @@ end global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 432 call $~lib/runtime/makeArray @@ -13139,7 +13160,7 @@ call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 456 call $~lib/runtime/makeArray @@ -13160,7 +13181,7 @@ call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 496 call $~lib/runtime/makeArray @@ -13181,7 +13202,7 @@ call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 536 call $~lib/runtime/makeArray @@ -13202,7 +13223,7 @@ call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 576 call $~lib/runtime/makeArray @@ -13223,7 +13244,7 @@ call $~lib/typedarray/Int32Array#fill global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 616 call $~lib/runtime/makeArray @@ -13291,7 +13312,7 @@ end global.get $std/typedarray/sub32 i32.const 3 - i32.const 16 + i32.const 18 i32.const 2 i32.const 656 call $~lib/runtime/makeArray @@ -13307,7 +13328,7 @@ end global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 688 call $~lib/runtime/makeArray @@ -13614,10 +13635,10 @@ call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> ) - (func $start (; 263 ;) (type $FUNCSIG$v) + (func $start (; 266 ;) (type $FUNCSIG$v) call $start:std/typedarray ) - (func $null (; 264 ;) (type $FUNCSIG$v) + (func $null (; 267 ;) (type $FUNCSIG$v) nop ) ) diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 76a24d37..a90300f4 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -1,11 +1,11 @@ (module (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) - (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viid (func (param i32 i32 f64))) (type $FUNCSIG$idd (func (param f64 f64) (result i32))) (type $FUNCSIG$dii (func (param i32 i32) (result f64))) @@ -58,17 +58,17 @@ (data (i32.const 712) "\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 760) "\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 816) "\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 848) "\10\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00@\03\00\00@\03\00\00\0c\00\00\00\03\00\00\00") + (data (i32.const 848) "\12\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00@\03\00\00@\03\00\00\0c\00\00\00\03\00\00\00") (data (i32.const 880) "\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 944) "\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 1008) "\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 1088) "\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 1160) "\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 1216) "\10\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\98\04\00\00\98\04\00\00$\00\00\00\t\00\00\00") + (data (i32.const 1216) "\12\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\98\04\00\00\98\04\00\00$\00\00\00\t\00\00\00") (data (i32.const 1248) "\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 1336) "\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") - (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) + (table $0 130 funcref) + (elem (i32.const 0) $null $~lib/string/String~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/typedarray/Int8Array~iterate $~lib/typedarray/Uint8Array~iterate $~lib/typedarray/Uint8ClampedArray~iterate $~lib/typedarray/Int16Array~iterate $~lib/typedarray/Uint16Array~iterate $~lib/typedarray/Int32Array~iterate $~lib/typedarray/Uint32Array~iterate $~lib/typedarray/Int64Array~iterate $~lib/typedarray/Uint64Array~iterate $~lib/typedarray/Float32Array~iterate $~lib/typedarray/Float64Array~iterate $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $~lib/array/Array~iterate $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)) (global $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) (global $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT i32 (i32.const 1)) @@ -110,7 +110,10 @@ (export "table" (table $0)) (export ".capabilities" (global $~lib/capabilities)) (start $start) - (func $~lib/runtime/ADJUSTOBLOCK (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String~iterate (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/runtime/ADJUSTOBLOCK (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -122,7 +125,7 @@ i32.sub i32.shl ) - (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -201,12 +204,12 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/memory/memory.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/runtime/ADJUSTOBLOCK @@ -228,7 +231,7 @@ global.get $~lib/runtime/HEADER_SIZE i32.add ) - (func $~lib/memory/memory.fill (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -485,10 +488,13 @@ end end ) - (func $~lib/collector/dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/arraybuffer/ArrayBuffer~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + ) + (func $~lib/collector/dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -526,7 +532,7 @@ call $~lib/collector/dummy/__ref_register local.get $0 ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -559,13 +565,27 @@ call $~lib/runtime/register end ) - (func $~lib/collector/dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/runtime/ArrayBufferView~iterate (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call_indirect (type $FUNCSIG$vi) + local.get $2 + local.get $1 + call $~lib/arraybuffer/ArrayBuffer~iterate + end + ) + (func $~lib/collector/dummy/__ref_link (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/collector/dummy/__ref_unlink (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/dummy/__ref_unlink (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/runtime/ArrayBufferView#constructor (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/runtime/ArrayBufferView#constructor (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -641,7 +661,13 @@ i32.store offset=8 local.get $0 ) - (func $~lib/typedarray/Int8Array#constructor (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array~iterate (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Int8Array#constructor (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -657,22 +683,28 @@ local.set $0 local.get $0 ) - (func $~lib/runtime/ArrayBufferView#get:byteOffset (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/ArrayBufferView#get:byteOffset (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=4 local.get $0 i32.load i32.sub ) - (func $~lib/runtime/ArrayBufferView#get:byteLength (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/ArrayBufferView#get:byteLength (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 ) - (func $~lib/typedarray/Int8Array#get:length (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#get:length (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength ) - (func $~lib/typedarray/Uint8Array#constructor (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array~iterate (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Uint8Array#constructor (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -688,11 +720,17 @@ local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint8Array#get:length (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#get:length (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength ) - (func $~lib/typedarray/Uint8ClampedArray#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray~iterate (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Uint8ClampedArray#constructor (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -708,11 +746,17 @@ local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint8ClampedArray#get:length (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#get:length (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength ) - (func $~lib/typedarray/Int16Array#constructor (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array~iterate (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Int16Array#constructor (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -728,13 +772,19 @@ local.set $0 local.get $0 ) - (func $~lib/typedarray/Int16Array#get:length (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#get:length (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 1 i32.shr_u ) - (func $~lib/typedarray/Uint16Array#constructor (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array~iterate (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Uint16Array#constructor (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -750,13 +800,19 @@ local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint16Array#get:length (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#get:length (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 1 i32.shr_u ) - (func $~lib/typedarray/Int32Array#constructor (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array~iterate (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Int32Array#constructor (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -772,13 +828,19 @@ local.set $0 local.get $0 ) - (func $~lib/typedarray/Int32Array#get:length (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#get:length (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u ) - (func $~lib/typedarray/Uint32Array#constructor (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array~iterate (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Uint32Array#constructor (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -794,13 +856,19 @@ local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint32Array#get:length (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#get:length (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u ) - (func $~lib/typedarray/Int64Array#constructor (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array~iterate (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Int64Array#constructor (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -816,13 +884,19 @@ local.set $0 local.get $0 ) - (func $~lib/typedarray/Int64Array#get:length (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#get:length (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 3 i32.shr_u ) - (func $~lib/typedarray/Uint64Array#constructor (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array~iterate (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Uint64Array#constructor (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -838,13 +912,19 @@ local.set $0 local.get $0 ) - (func $~lib/typedarray/Uint64Array#get:length (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#get:length (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 3 i32.shr_u ) - (func $~lib/typedarray/Float32Array#constructor (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array~iterate (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Float32Array#constructor (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -860,13 +940,19 @@ local.set $0 local.get $0 ) - (func $~lib/typedarray/Float32Array#get:length (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#get:length (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u ) - (func $~lib/typedarray/Float64Array#constructor (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array~iterate (; 47 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/runtime/ArrayBufferView~iterate + ) + (func $~lib/typedarray/Float64Array#constructor (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -882,13 +968,13 @@ local.set $0 local.get $0 ) - (func $~lib/typedarray/Float64Array#get:length (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#get:length (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/runtime/ArrayBufferView#get:byteLength i32.const 3 i32.shr_u ) - (func $std/typedarray/testInstantiate (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $std/typedarray/testInstantiate (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1396,7 +1482,7 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#__set (; 37 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#__set (; 51 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -1420,7 +1506,7 @@ local.get $2 i32.store ) - (func $~lib/typedarray/Int32Array#__get (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#__get (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -1443,7 +1529,7 @@ i32.add i32.load ) - (func $~lib/typedarray/Int32Array#subarray (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#subarray (; 53 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1580,7 +1666,7 @@ i32.store offset=8 local.get $7 ) - (func $~lib/typedarray/Float64Array#__set (; 40 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) + (func $~lib/typedarray/Float64Array#__set (; 54 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) local.get $1 local.get $0 i32.load offset=8 @@ -1604,7 +1690,7 @@ local.get $2 f64.store ) - (func $~lib/typedarray/Float64Array#subarray (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#subarray (; 55 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1741,7 +1827,7 @@ i32.store offset=8 local.get $7 ) - (func $~lib/util/sort/insertionSort (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 56 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -1837,14 +1923,14 @@ unreachable end ) - (func $~lib/allocator/arena/__mem_free (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/allocator/arena/__mem_free (; 57 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/memory/memory.free (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/memory/memory.free (; 58 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/allocator/arena/__mem_free ) - (func $~lib/util/sort/weakHeapSort (; 45 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 59 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2144,7 +2230,7 @@ local.get $10 f64.store ) - (func $~lib/typedarray/Float64Array#sort (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#sort (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2228,7 +2314,7 @@ local.get $3 end ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 47 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 61 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -2261,7 +2347,7 @@ i64.lt_s i32.sub ) - (func $~lib/typedarray/Float64Array#sort|trampoline (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#sort|trampoline (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -2271,7 +2357,7 @@ unreachable end block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 1 + i32.const 15 br $~lib/util/sort/COMPARATOR|inlined.0 end local.set $1 @@ -2280,7 +2366,7 @@ local.get $1 call $~lib/typedarray/Float64Array#sort ) - (func $~lib/typedarray/Float64Array#__get (; 49 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/typedarray/Float64Array#__get (; 63 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) local.get $1 local.get $0 i32.load offset=8 @@ -2303,7 +2389,7 @@ i32.add f64.load ) - (func $~lib/typedarray/Uint8ClampedArray#__set (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#__set (; 64 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -2335,7 +2421,7 @@ i32.and i32.store8 ) - (func $~lib/typedarray/Uint8ClampedArray#__get (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#__get (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -2354,7 +2440,7 @@ i32.add i32.load8_u ) - (func $~lib/typedarray/Int8Array#__set (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#__set (; 66 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -2374,7 +2460,7 @@ local.get $2 i32.store8 ) - (func $~lib/typedarray/Int8Array#fill (; 53 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int8Array#fill (; 67 ;) (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) @@ -2462,7 +2548,15 @@ end local.get $7 ) - (func $~lib/util/memory/memcpy (; 54 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array~iterate (; 68 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/util/memory/memcpy (; 69 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3663,7 +3757,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 55 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 70 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3894,7 +3988,7 @@ end end ) - (func $~lib/runtime/makeArray (; 56 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/makeArray (; 71 ;) (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) @@ -3958,11 +4052,11 @@ end local.get $4 ) - (func $~lib/array/Array#get:length (; 57 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 72 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/typedarray/Int8Array#__get (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#__get (; 73 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -3981,7 +4075,7 @@ i32.add i32.load8_s ) - (func $~lib/array/Array#__unchecked_get (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 74 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -3990,7 +4084,7 @@ i32.add i32.load8_s ) - (func $~lib/array/Array#__get (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 75 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -4009,7 +4103,7 @@ local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $std/typedarray/isInt8ArrayEqual (; 61 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt8ArrayEqual (; 76 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4057,7 +4151,7 @@ end i32.const 1 ) - (func $~lib/typedarray/Int8Array#subarray (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#subarray (; 77 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4194,7 +4288,7 @@ i32.store offset=8 local.get $7 ) - (func $~lib/typedarray/Int32Array#fill (; 63 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int32Array#fill (; 78 ;) (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) @@ -4292,11 +4386,19 @@ end local.get $7 ) - (func $~lib/array/Array#get:length (; 64 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array~iterate (; 79 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + i32.const 1 + global.set $~lib/argc + local.get $0 + i32.load + local.get $1 + call_indirect (type $FUNCSIG$vi) + ) + (func $~lib/array/Array#get:length (; 80 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 81 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -4305,7 +4407,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 82 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -4324,7 +4426,7 @@ local.get $1 call $~lib/array/Array#__unchecked_get ) - (func $std/typedarray/isInt32ArrayEqual (; 67 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt32ArrayEqual (; 83 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4372,12 +4474,12 @@ end i32.const 1 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 68 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 84 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int8Array#reduce (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduce (; 85 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4434,7 +4536,7 @@ end local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (; 70 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (; 86 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4454,7 +4556,7 @@ i32.const 3 call $~lib/typedarray/Int8Array#__set local.get $0 - i32.const 2 + i32.const 20 i32.const 0 call $~lib/typedarray/Int8Array#reduce local.set $1 @@ -4475,7 +4577,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#__set (; 71 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#__set (; 87 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -4495,12 +4597,12 @@ local.get $2 i32.store8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 72 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 88 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint8Array#reduce (; 73 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduce (; 89 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4557,7 +4659,7 @@ end local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (; 74 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (; 90 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4577,7 +4679,7 @@ i32.const 3 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 3 + i32.const 21 i32.const 0 call $~lib/typedarray/Uint8Array#reduce local.set $1 @@ -4596,12 +4698,12 @@ unreachable end ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 75 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 91 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint8ClampedArray#reduce (; 76 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reduce (; 92 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4658,7 +4760,7 @@ end local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (; 77 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (; 93 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4678,7 +4780,7 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 4 + i32.const 22 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#reduce local.set $1 @@ -4697,7 +4799,7 @@ unreachable end ) - (func $~lib/typedarray/Int16Array#__set (; 78 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#__set (; 94 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -4721,12 +4823,12 @@ local.get $2 i32.store16 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 79 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 95 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int16Array#reduce (; 80 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduce (; 96 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4783,7 +4885,7 @@ end local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (; 81 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (; 97 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4803,7 +4905,7 @@ i32.const 3 call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 5 + i32.const 23 i32.const 0 call $~lib/typedarray/Int16Array#reduce local.set $1 @@ -4824,7 +4926,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#__set (; 82 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#__set (; 98 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -4848,12 +4950,12 @@ local.get $2 i32.store16 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 83 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 99 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint16Array#reduce (; 84 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduce (; 100 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4910,7 +5012,7 @@ end local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (; 85 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (; 101 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -4930,7 +5032,7 @@ i32.const 3 call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 6 + i32.const 24 i32.const 0 call $~lib/typedarray/Uint16Array#reduce local.set $1 @@ -4949,12 +5051,12 @@ unreachable end ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 86 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 102 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int32Array#reduce (; 87 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduce (; 103 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5011,7 +5113,7 @@ end local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (; 88 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (; 104 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -5031,7 +5133,7 @@ i32.const 3 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 7 + i32.const 25 i32.const 0 call $~lib/typedarray/Int32Array#reduce local.set $1 @@ -5048,7 +5150,7 @@ unreachable end ) - (func $~lib/typedarray/Uint32Array#__set (; 89 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#__set (; 105 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -5072,12 +5174,12 @@ local.get $2 i32.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 90 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 106 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint32Array#reduce (; 91 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reduce (; 107 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5134,7 +5236,7 @@ end local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (; 92 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (; 108 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -5154,7 +5256,7 @@ i32.const 3 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 8 + i32.const 26 i32.const 0 call $~lib/typedarray/Uint32Array#reduce local.set $1 @@ -5171,7 +5273,7 @@ unreachable end ) - (func $~lib/typedarray/Int64Array#__set (; 93 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/typedarray/Int64Array#__set (; 109 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 local.get $0 i32.load offset=8 @@ -5195,12 +5297,12 @@ local.get $2 i64.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 94 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 110 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $~lib/typedarray/Int64Array#reduce (; 95 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Int64Array#reduce (; 111 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i32) (local $4 i32) (local $5 i64) @@ -5257,7 +5359,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (; 96 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (; 112 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -5277,7 +5379,7 @@ i64.const 3 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 9 + i32.const 27 i64.const 0 call $~lib/typedarray/Int64Array#reduce local.set $1 @@ -5294,7 +5396,7 @@ unreachable end ) - (func $~lib/typedarray/Uint64Array#__set (; 97 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/typedarray/Uint64Array#__set (; 113 ;) (type $FUNCSIG$viij) (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 local.get $0 i32.load offset=8 @@ -5318,12 +5420,12 @@ local.get $2 i64.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 98 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 114 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $~lib/typedarray/Uint64Array#reduce (; 99 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Uint64Array#reduce (; 115 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i32) (local $4 i32) (local $5 i64) @@ -5380,7 +5482,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (; 100 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (; 116 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -5400,7 +5502,7 @@ i64.const 3 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 10 + i32.const 28 i64.const 0 call $~lib/typedarray/Uint64Array#reduce local.set $1 @@ -5417,7 +5519,7 @@ unreachable end ) - (func $~lib/typedarray/Float32Array#__set (; 101 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) + (func $~lib/typedarray/Float32Array#__set (; 117 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32) local.get $1 local.get $0 i32.load offset=8 @@ -5441,12 +5543,12 @@ local.get $2 f32.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 102 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 118 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) local.get $0 local.get $1 f32.add ) - (func $~lib/typedarray/Float32Array#reduce (; 103 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (func $~lib/typedarray/Float32Array#reduce (; 119 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) (local $3 i32) (local $4 i32) (local $5 f32) @@ -5503,7 +5605,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (; 104 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (; 120 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f32) i32.const 0 @@ -5523,7 +5625,7 @@ f32.const 3 call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 11 + i32.const 29 f32.const 0 call $~lib/typedarray/Float32Array#reduce local.set $1 @@ -5540,12 +5642,12 @@ unreachable end ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 105 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 121 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) local.get $0 local.get $1 f64.add ) - (func $~lib/typedarray/Float64Array#reduce (; 106 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (func $~lib/typedarray/Float64Array#reduce (; 122 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) (local $3 i32) (local $4 i32) (local $5 f64) @@ -5602,7 +5704,7 @@ end local.get $5 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (; 107 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (; 123 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f64) i32.const 0 @@ -5622,7 +5724,7 @@ f64.const 3 call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 12 + i32.const 30 f64.const 0 call $~lib/typedarray/Float64Array#reduce local.set $1 @@ -5639,12 +5741,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 108 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 124 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int8Array#reduceRight (; 109 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduceRight (; 125 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5698,7 +5800,7 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (; 110 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (; 126 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -5718,7 +5820,7 @@ i32.const 3 call $~lib/typedarray/Int8Array#__set local.get $0 - i32.const 13 + i32.const 31 i32.const 0 call $~lib/typedarray/Int8Array#reduceRight local.set $1 @@ -5739,12 +5841,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 111 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 127 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint8Array#reduceRight (; 112 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduceRight (; 128 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5798,7 +5900,7 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (; 113 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (; 129 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -5818,7 +5920,7 @@ i32.const 3 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 14 + i32.const 32 i32.const 0 call $~lib/typedarray/Uint8Array#reduceRight local.set $1 @@ -5837,12 +5939,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 114 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 130 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint8ClampedArray#reduceRight (; 115 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reduceRight (; 131 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5896,7 +5998,7 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (; 116 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (; 132 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -5916,7 +6018,7 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 15 + i32.const 33 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#reduceRight local.set $1 @@ -5935,12 +6037,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 117 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 133 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int16Array#reduceRight (; 118 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduceRight (; 134 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5994,7 +6096,7 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (; 119 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (; 135 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6014,7 +6116,7 @@ i32.const 3 call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 16 + i32.const 34 i32.const 0 call $~lib/typedarray/Int16Array#reduceRight local.set $1 @@ -6035,12 +6137,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 120 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 136 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint16Array#reduceRight (; 121 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduceRight (; 137 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6094,7 +6196,7 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (; 122 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (; 138 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6114,7 +6216,7 @@ i32.const 3 call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 17 + i32.const 35 i32.const 0 call $~lib/typedarray/Uint16Array#reduceRight local.set $1 @@ -6133,12 +6235,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 123 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 139 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Int32Array#reduceRight (; 124 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduceRight (; 140 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6192,7 +6294,7 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (; 125 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (; 141 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6212,7 +6314,7 @@ i32.const 3 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 18 + i32.const 36 i32.const 0 call $~lib/typedarray/Int32Array#reduceRight local.set $1 @@ -6229,12 +6331,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 126 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 142 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $~lib/typedarray/Uint32Array#reduceRight (; 127 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reduceRight (; 143 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6288,7 +6390,7 @@ end local.get $3 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (; 128 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (; 144 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6308,7 +6410,7 @@ i32.const 3 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 19 + i32.const 37 i32.const 0 call $~lib/typedarray/Uint32Array#reduceRight local.set $1 @@ -6325,12 +6427,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 129 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 145 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $~lib/typedarray/Int64Array#reduceRight (; 130 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Int64Array#reduceRight (; 146 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i32) (local $4 i32) (local $5 i64) @@ -6384,7 +6486,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (; 131 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (; 147 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -6404,7 +6506,7 @@ i64.const 3 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 20 + i32.const 38 i64.const 0 call $~lib/typedarray/Int64Array#reduceRight local.set $1 @@ -6421,12 +6523,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 132 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 148 ;) (type $FUNCSIG$jjjii) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $~lib/typedarray/Uint64Array#reduceRight (; 133 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Uint64Array#reduceRight (; 149 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i32) (local $4 i32) (local $5 i64) @@ -6480,7 +6582,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (; 134 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (; 150 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i64) i32.const 0 @@ -6500,7 +6602,7 @@ i64.const 3 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 21 + i32.const 39 i64.const 0 call $~lib/typedarray/Uint64Array#reduceRight local.set $1 @@ -6517,12 +6619,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 135 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 151 ;) (type $FUNCSIG$fffii) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) local.get $0 local.get $1 f32.add ) - (func $~lib/typedarray/Float32Array#reduceRight (; 136 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (func $~lib/typedarray/Float32Array#reduceRight (; 152 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) (local $3 i32) (local $4 i32) (local $5 f32) @@ -6576,7 +6678,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (; 137 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (; 153 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f32) i32.const 0 @@ -6596,7 +6698,7 @@ f32.const 3 call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 22 + i32.const 40 f32.const 0 call $~lib/typedarray/Float32Array#reduceRight local.set $1 @@ -6613,12 +6715,12 @@ unreachable end ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 138 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 154 ;) (type $FUNCSIG$dddii) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) local.get $0 local.get $1 f64.add ) - (func $~lib/typedarray/Float64Array#reduceRight (; 139 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (func $~lib/typedarray/Float64Array#reduceRight (; 155 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) (local $3 i32) (local $4 i32) (local $5 f64) @@ -6672,7 +6774,7 @@ end local.get $5 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (; 140 ;) (type $FUNCSIG$v) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (; 156 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 f64) i32.const 0 @@ -6692,7 +6794,7 @@ f64.const 3 call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 23 + i32.const 41 f64.const 0 call $~lib/typedarray/Float64Array#reduceRight local.set $1 @@ -6709,12 +6811,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 141 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 157 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Int8Array#map (; 142 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#map (; 158 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6779,7 +6881,7 @@ end local.get $6 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (; 143 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (; 159 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6799,7 +6901,7 @@ i32.const 3 call $~lib/typedarray/Int8Array#__set local.get $0 - i32.const 24 + i32.const 42 call $~lib/typedarray/Int8Array#map local.set $1 local.get $1 @@ -6845,12 +6947,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 144 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 160 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Uint8Array#map (; 145 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#map (; 161 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6915,7 +7017,7 @@ end local.get $6 ) - (func $~lib/typedarray/Uint8Array#__get (; 146 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#__get (; 162 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -6934,7 +7036,7 @@ i32.add i32.load8_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (; 147 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (; 163 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -6954,7 +7056,7 @@ i32.const 3 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 25 + i32.const 43 call $~lib/typedarray/Uint8Array#map local.set $1 local.get $1 @@ -7000,12 +7102,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 148 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 164 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Uint8ClampedArray#map (; 149 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#map (; 165 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7070,7 +7172,7 @@ end local.get $6 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (; 150 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (; 166 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -7090,7 +7192,7 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 26 + i32.const 44 call $~lib/typedarray/Uint8ClampedArray#map local.set $1 local.get $1 @@ -7136,12 +7238,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 151 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 167 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Int16Array#map (; 152 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#map (; 168 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7206,7 +7308,7 @@ end local.get $6 ) - (func $~lib/typedarray/Int16Array#__get (; 153 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#__get (; 169 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -7229,7 +7331,7 @@ i32.add i32.load16_s ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (; 154 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (; 170 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -7249,7 +7351,7 @@ i32.const 3 call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 27 + i32.const 45 call $~lib/typedarray/Int16Array#map local.set $1 local.get $1 @@ -7295,12 +7397,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 155 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 171 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Uint16Array#map (; 156 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#map (; 172 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7365,7 +7467,7 @@ end local.get $6 ) - (func $~lib/typedarray/Uint16Array#__get (; 157 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#__get (; 173 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -7388,7 +7490,7 @@ i32.add i32.load16_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (; 158 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (; 174 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -7408,7 +7510,7 @@ i32.const 3 call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 28 + i32.const 46 call $~lib/typedarray/Uint16Array#map local.set $1 local.get $1 @@ -7454,12 +7556,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 159 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 175 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Int32Array#map (; 160 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#map (; 176 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7524,7 +7626,7 @@ end local.get $6 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (; 161 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (; 177 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -7544,7 +7646,7 @@ i32.const 3 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 29 + i32.const 47 call $~lib/typedarray/Int32Array#map local.set $1 local.get $1 @@ -7590,12 +7692,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 162 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 178 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $~lib/typedarray/Uint32Array#map (; 163 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#map (; 179 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7660,7 +7762,7 @@ end local.get $6 ) - (func $~lib/typedarray/Uint32Array#__get (; 164 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#__get (; 180 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -7683,7 +7785,7 @@ i32.add i32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (; 165 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (; 181 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -7703,7 +7805,7 @@ i32.const 3 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 30 + i32.const 48 call $~lib/typedarray/Uint32Array#map local.set $1 local.get $1 @@ -7749,12 +7851,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 166 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 182 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) local.get $0 local.get $0 i64.mul ) - (func $~lib/typedarray/Int64Array#map (; 167 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#map (; 183 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7819,7 +7921,7 @@ end local.get $6 ) - (func $~lib/typedarray/Int64Array#__get (; 168 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#__get (; 184 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 i32.load offset=8 @@ -7842,7 +7944,7 @@ i32.add i64.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (; 169 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (; 185 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -7862,7 +7964,7 @@ i64.const 3 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 31 + i32.const 49 call $~lib/typedarray/Int64Array#map local.set $1 local.get $1 @@ -7908,12 +8010,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 170 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 186 ;) (type $FUNCSIG$jjii) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) local.get $0 local.get $0 i64.mul ) - (func $~lib/typedarray/Uint64Array#map (; 171 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#map (; 187 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7978,7 +8080,7 @@ end local.get $6 ) - (func $~lib/typedarray/Uint64Array#__get (; 172 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Uint64Array#__get (; 188 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 i32.load offset=8 @@ -8001,7 +8103,7 @@ i32.add i64.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (; 173 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (; 189 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -8021,7 +8123,7 @@ i64.const 3 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 32 + i32.const 50 call $~lib/typedarray/Uint64Array#map local.set $1 local.get $1 @@ -8067,12 +8169,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 174 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 190 ;) (type $FUNCSIG$ffii) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) local.get $0 local.get $0 f32.mul ) - (func $~lib/typedarray/Float32Array#map (; 175 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#map (; 191 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8137,7 +8239,7 @@ end local.get $6 ) - (func $~lib/typedarray/Float32Array#__get (; 176 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/typedarray/Float32Array#__get (; 192 ;) (type $FUNCSIG$fii) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -8160,7 +8262,7 @@ i32.add f32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (; 177 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (; 193 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -8180,7 +8282,7 @@ f32.const 3 call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 33 + i32.const 51 call $~lib/typedarray/Float32Array#map local.set $1 local.get $1 @@ -8226,12 +8328,12 @@ unreachable end ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 178 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 194 ;) (type $FUNCSIG$ddii) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) local.get $0 local.get $0 f64.mul ) - (func $~lib/typedarray/Float64Array#map (; 179 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#map (; 195 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8296,7 +8398,7 @@ end local.get $6 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (; 180 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (; 196 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) i32.const 0 @@ -8316,7 +8418,7 @@ f64.const 3 call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 34 + i32.const 52 call $~lib/typedarray/Float64Array#map local.set $1 local.get $1 @@ -8362,7 +8464,7 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 181 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 197 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -8371,7 +8473,7 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int8Array#some (; 182 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#some (; 198 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8431,7 +8533,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 183 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 199 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -8440,7 +8542,7 @@ i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (; 184 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (; 200 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8461,7 +8563,7 @@ i32.const 6 call $~lib/typedarray/Int8Array#__set local.get $0 - i32.const 35 + i32.const 53 call $~lib/typedarray/Int8Array#some local.set $1 local.get $1 @@ -8477,7 +8579,7 @@ unreachable end local.get $0 - i32.const 36 + i32.const 54 call $~lib/typedarray/Int8Array#some local.set $2 local.get $2 @@ -8494,14 +8596,14 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 185 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 201 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint8Array#some (; 186 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#some (; 202 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8561,14 +8663,14 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 187 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 203 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (; 188 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (; 204 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8589,7 +8691,7 @@ i32.const 6 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 37 + i32.const 55 call $~lib/typedarray/Uint8Array#some local.set $1 local.get $1 @@ -8605,7 +8707,7 @@ unreachable end local.get $0 - i32.const 38 + i32.const 56 call $~lib/typedarray/Uint8Array#some local.set $2 local.get $2 @@ -8622,14 +8724,14 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 189 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 205 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint8ClampedArray#some (; 190 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#some (; 206 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8689,14 +8791,14 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 191 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 207 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (; 192 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (; 208 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8717,7 +8819,7 @@ i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 39 + i32.const 57 call $~lib/typedarray/Uint8ClampedArray#some local.set $1 local.get $1 @@ -8733,7 +8835,7 @@ unreachable end local.get $0 - i32.const 40 + i32.const 58 call $~lib/typedarray/Uint8ClampedArray#some local.set $2 local.get $2 @@ -8750,7 +8852,7 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 193 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 209 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -8759,7 +8861,7 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int16Array#some (; 194 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#some (; 210 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8819,7 +8921,7 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 195 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 211 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -8828,7 +8930,7 @@ i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (; 196 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (; 212 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8849,7 +8951,7 @@ i32.const 6 call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 41 + i32.const 59 call $~lib/typedarray/Int16Array#some local.set $1 local.get $1 @@ -8865,7 +8967,7 @@ unreachable end local.get $0 - i32.const 42 + i32.const 60 call $~lib/typedarray/Int16Array#some local.set $2 local.get $2 @@ -8882,14 +8984,14 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 197 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 213 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint16Array#some (; 198 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#some (; 214 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8949,14 +9051,14 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 199 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 215 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (; 200 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (; 216 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8977,7 +9079,7 @@ i32.const 6 call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 43 + i32.const 61 call $~lib/typedarray/Uint16Array#some local.set $1 local.get $1 @@ -8993,7 +9095,7 @@ unreachable end local.get $0 - i32.const 44 + i32.const 62 call $~lib/typedarray/Uint16Array#some local.set $2 local.get $2 @@ -9010,12 +9112,12 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 201 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 217 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $~lib/typedarray/Int32Array#some (; 202 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#some (; 218 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9075,12 +9177,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 203 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 219 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (; 204 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (; 220 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9101,7 +9203,7 @@ i32.const 6 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 45 + i32.const 63 call $~lib/typedarray/Int32Array#some local.set $1 local.get $1 @@ -9117,7 +9219,7 @@ unreachable end local.get $0 - i32.const 46 + i32.const 64 call $~lib/typedarray/Int32Array#some local.set $2 local.get $2 @@ -9134,12 +9236,12 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 205 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 221 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint32Array#some (; 206 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#some (; 222 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9199,12 +9301,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 207 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 223 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (; 208 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (; 224 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9225,7 +9327,7 @@ i32.const 6 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 47 + i32.const 65 call $~lib/typedarray/Uint32Array#some local.set $1 local.get $1 @@ -9241,7 +9343,7 @@ unreachable end local.get $0 - i32.const 48 + i32.const 66 call $~lib/typedarray/Uint32Array#some local.set $2 local.get $2 @@ -9258,12 +9360,12 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 209 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 225 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $~lib/typedarray/Int64Array#some (; 210 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#some (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9323,12 +9425,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 211 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 227 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 0 i64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (; 212 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (; 228 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9349,7 +9451,7 @@ i64.const 6 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 49 + i32.const 67 call $~lib/typedarray/Int64Array#some local.set $1 local.get $1 @@ -9365,7 +9467,7 @@ unreachable end local.get $0 - i32.const 50 + i32.const 68 call $~lib/typedarray/Int64Array#some local.set $2 local.get $2 @@ -9382,12 +9484,12 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 213 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 229 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $~lib/typedarray/Uint64Array#some (; 214 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#some (; 230 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9447,12 +9549,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 215 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 231 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 0 i64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (; 216 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (; 232 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9473,7 +9575,7 @@ i64.const 6 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 51 + i32.const 69 call $~lib/typedarray/Uint64Array#some local.set $1 local.get $1 @@ -9489,7 +9591,7 @@ unreachable end local.get $0 - i32.const 52 + i32.const 70 call $~lib/typedarray/Uint64Array#some local.set $2 local.get $2 @@ -9506,12 +9608,12 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 217 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 233 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 f32.eq ) - (func $~lib/typedarray/Float32Array#some (; 218 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#some (; 234 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9571,12 +9673,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 219 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 235 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 0 f32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (; 220 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (; 236 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9597,7 +9699,7 @@ f32.const 6 call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 53 + i32.const 71 call $~lib/typedarray/Float32Array#some local.set $1 local.get $1 @@ -9613,7 +9715,7 @@ unreachable end local.get $0 - i32.const 54 + i32.const 72 call $~lib/typedarray/Float32Array#some local.set $2 local.get $2 @@ -9630,12 +9732,12 @@ unreachable end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 221 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 237 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 f64.eq ) - (func $~lib/typedarray/Float64Array#some (; 222 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#some (; 238 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9695,12 +9797,12 @@ i32.const 0 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 223 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 239 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 0 f64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (; 224 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (; 240 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9721,7 +9823,7 @@ f64.const 6 call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 55 + i32.const 73 call $~lib/typedarray/Float64Array#some local.set $1 local.get $1 @@ -9737,7 +9839,7 @@ unreachable end local.get $0 - i32.const 56 + i32.const 74 call $~lib/typedarray/Float64Array#some local.set $2 local.get $2 @@ -9754,7 +9856,7 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 225 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 241 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -9763,7 +9865,7 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int8Array#findIndex (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#findIndex (; 242 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9823,7 +9925,7 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 227 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 243 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -9832,7 +9934,7 @@ i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (; 228 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (; 244 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9853,7 +9955,7 @@ i32.const 3 call $~lib/typedarray/Int8Array#__set local.get $0 - i32.const 57 + i32.const 75 call $~lib/typedarray/Int8Array#findIndex local.set $1 local.get $1 @@ -9869,7 +9971,7 @@ unreachable end local.get $0 - i32.const 58 + i32.const 76 call $~lib/typedarray/Int8Array#findIndex local.set $2 local.get $2 @@ -9885,14 +9987,14 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 229 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 245 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint8Array#findIndex (; 230 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#findIndex (; 246 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9952,14 +10054,14 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 231 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 247 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (; 232 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (; 248 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9980,7 +10082,7 @@ i32.const 3 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 59 + i32.const 77 call $~lib/typedarray/Uint8Array#findIndex local.set $1 local.get $1 @@ -9996,7 +10098,7 @@ unreachable end local.get $0 - i32.const 60 + i32.const 78 call $~lib/typedarray/Uint8Array#findIndex local.set $2 local.get $2 @@ -10012,14 +10114,14 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 233 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 249 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint8ClampedArray#findIndex (; 234 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#findIndex (; 250 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10079,14 +10181,14 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 235 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 251 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (; 236 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (; 252 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10107,7 +10209,7 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 61 + i32.const 79 call $~lib/typedarray/Uint8ClampedArray#findIndex local.set $1 local.get $1 @@ -10123,7 +10225,7 @@ unreachable end local.get $0 - i32.const 62 + i32.const 80 call $~lib/typedarray/Uint8ClampedArray#findIndex local.set $2 local.get $2 @@ -10139,7 +10241,7 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 237 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 253 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -10148,7 +10250,7 @@ i32.const 2 i32.eq ) - (func $~lib/typedarray/Int16Array#findIndex (; 238 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#findIndex (; 254 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10208,7 +10310,7 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 239 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 255 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -10217,7 +10319,7 @@ i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (; 240 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (; 256 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10238,7 +10340,7 @@ i32.const 3 call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 63 + i32.const 81 call $~lib/typedarray/Int16Array#findIndex local.set $1 local.get $1 @@ -10254,7 +10356,7 @@ unreachable end local.get $0 - i32.const 64 + i32.const 82 call $~lib/typedarray/Int16Array#findIndex local.set $2 local.get $2 @@ -10270,14 +10372,14 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 241 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 257 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint16Array#findIndex (; 242 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#findIndex (; 258 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10337,14 +10439,14 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 243 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 259 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (; 244 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (; 260 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10365,7 +10467,7 @@ i32.const 3 call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 65 + i32.const 83 call $~lib/typedarray/Uint16Array#findIndex local.set $1 local.get $1 @@ -10381,7 +10483,7 @@ unreachable end local.get $0 - i32.const 66 + i32.const 84 call $~lib/typedarray/Uint16Array#findIndex local.set $2 local.get $2 @@ -10397,12 +10499,12 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 245 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 261 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $~lib/typedarray/Int32Array#findIndex (; 246 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#findIndex (; 262 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10462,12 +10564,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 247 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 263 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (; 248 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (; 264 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10488,7 +10590,7 @@ i32.const 3 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 67 + i32.const 85 call $~lib/typedarray/Int32Array#findIndex local.set $1 local.get $1 @@ -10504,7 +10606,7 @@ unreachable end local.get $0 - i32.const 68 + i32.const 86 call $~lib/typedarray/Int32Array#findIndex local.set $2 local.get $2 @@ -10520,12 +10622,12 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 249 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 265 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $~lib/typedarray/Uint32Array#findIndex (; 250 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#findIndex (; 266 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10585,12 +10687,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 251 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 267 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (; 252 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (; 268 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10611,7 +10713,7 @@ i32.const 3 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 69 + i32.const 87 call $~lib/typedarray/Uint32Array#findIndex local.set $1 local.get $1 @@ -10627,7 +10729,7 @@ unreachable end local.get $0 - i32.const 70 + i32.const 88 call $~lib/typedarray/Uint32Array#findIndex local.set $2 local.get $2 @@ -10643,12 +10745,12 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 253 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 269 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $~lib/typedarray/Int64Array#findIndex (; 254 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#findIndex (; 270 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10708,12 +10810,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 255 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 271 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (; 256 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (; 272 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10734,7 +10836,7 @@ i64.const 3 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 71 + i32.const 89 call $~lib/typedarray/Int64Array#findIndex local.set $1 local.get $1 @@ -10750,7 +10852,7 @@ unreachable end local.get $0 - i32.const 72 + i32.const 90 call $~lib/typedarray/Int64Array#findIndex local.set $2 local.get $2 @@ -10766,12 +10868,12 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 257 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 273 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $~lib/typedarray/Uint64Array#findIndex (; 258 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#findIndex (; 274 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10831,12 +10933,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 259 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 275 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (; 260 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (; 276 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10857,7 +10959,7 @@ i64.const 3 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 73 + i32.const 91 call $~lib/typedarray/Uint64Array#findIndex local.set $1 local.get $1 @@ -10873,7 +10975,7 @@ unreachable end local.get $0 - i32.const 74 + i32.const 92 call $~lib/typedarray/Uint64Array#findIndex local.set $2 local.get $2 @@ -10889,12 +10991,12 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 261 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 277 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 f32.eq ) - (func $~lib/typedarray/Float32Array#findIndex (; 262 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#findIndex (; 278 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10954,12 +11056,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 263 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 279 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 4 f32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (; 264 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (; 280 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10980,7 +11082,7 @@ f32.const 3 call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 75 + i32.const 93 call $~lib/typedarray/Float32Array#findIndex local.set $1 local.get $1 @@ -10996,7 +11098,7 @@ unreachable end local.get $0 - i32.const 76 + i32.const 94 call $~lib/typedarray/Float32Array#findIndex local.set $2 local.get $2 @@ -11012,12 +11114,12 @@ unreachable end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 265 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 281 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 f64.eq ) - (func $~lib/typedarray/Float64Array#findIndex (; 266 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#findIndex (; 282 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11077,12 +11179,12 @@ i32.const -1 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 267 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 283 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 4 f64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (; 268 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (; 284 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11103,7 +11205,7 @@ f64.const 3 call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 77 + i32.const 95 call $~lib/typedarray/Float64Array#findIndex local.set $1 local.get $1 @@ -11119,7 +11221,7 @@ unreachable end local.get $0 - i32.const 78 + i32.const 96 call $~lib/typedarray/Float64Array#findIndex local.set $2 local.get $2 @@ -11135,7 +11237,7 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 269 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 285 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -11146,7 +11248,7 @@ i32.const 0 i32.eq ) - (func $~lib/typedarray/Int8Array#every (; 270 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#every (; 286 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11213,7 +11315,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 271 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 287 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -11222,7 +11324,7 @@ i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (; 272 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (; 288 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11243,7 +11345,7 @@ i32.const 6 call $~lib/typedarray/Int8Array#__set local.get $0 - i32.const 79 + i32.const 97 call $~lib/typedarray/Int8Array#every local.set $1 local.get $1 @@ -11259,7 +11361,7 @@ unreachable end local.get $0 - i32.const 80 + i32.const 98 call $~lib/typedarray/Int8Array#every local.set $2 local.get $2 @@ -11276,7 +11378,7 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 273 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 289 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -11285,7 +11387,7 @@ i32.const 0 i32.eq ) - (func $~lib/typedarray/Uint8Array#every (; 274 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#every (; 290 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11352,14 +11454,14 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 275 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 291 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (; 276 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (; 292 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11380,7 +11482,7 @@ i32.const 6 call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 81 + i32.const 99 call $~lib/typedarray/Uint8Array#every local.set $1 local.get $1 @@ -11396,7 +11498,7 @@ unreachable end local.get $0 - i32.const 82 + i32.const 100 call $~lib/typedarray/Uint8Array#every local.set $2 local.get $2 @@ -11413,7 +11515,7 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 277 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 293 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and @@ -11422,7 +11524,7 @@ i32.const 0 i32.eq ) - (func $~lib/typedarray/Uint8ClampedArray#every (; 278 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#every (; 294 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11489,14 +11591,14 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 279 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 295 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (; 280 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (; 296 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11517,7 +11619,7 @@ i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 83 + i32.const 101 call $~lib/typedarray/Uint8ClampedArray#every local.set $1 local.get $1 @@ -11533,7 +11635,7 @@ unreachable end local.get $0 - i32.const 84 + i32.const 102 call $~lib/typedarray/Uint8ClampedArray#every local.set $2 local.get $2 @@ -11550,7 +11652,7 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 281 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 297 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -11561,7 +11663,7 @@ i32.const 0 i32.eq ) - (func $~lib/typedarray/Int16Array#every (; 282 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#every (; 298 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11628,7 +11730,7 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 283 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 299 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -11637,7 +11739,7 @@ i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (; 284 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (; 300 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11658,7 +11760,7 @@ i32.const 6 call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 85 + i32.const 103 call $~lib/typedarray/Int16Array#every local.set $1 local.get $1 @@ -11674,7 +11776,7 @@ unreachable end local.get $0 - i32.const 86 + i32.const 104 call $~lib/typedarray/Int16Array#every local.set $2 local.get $2 @@ -11691,7 +11793,7 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 285 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 301 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and @@ -11700,7 +11802,7 @@ i32.const 0 i32.eq ) - (func $~lib/typedarray/Uint16Array#every (; 286 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#every (; 302 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11767,14 +11869,14 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 287 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 303 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (; 288 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (; 304 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11795,7 +11897,7 @@ i32.const 6 call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 87 + i32.const 105 call $~lib/typedarray/Uint16Array#every local.set $1 local.get $1 @@ -11811,7 +11913,7 @@ unreachable end local.get $0 - i32.const 88 + i32.const 106 call $~lib/typedarray/Uint16Array#every local.set $2 local.get $2 @@ -11828,14 +11930,14 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 289 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 305 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.rem_s i32.const 0 i32.eq ) - (func $~lib/typedarray/Int32Array#every (; 290 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#every (; 306 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11902,12 +12004,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 291 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 307 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (; 292 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (; 308 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11928,7 +12030,7 @@ i32.const 6 call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 89 + i32.const 107 call $~lib/typedarray/Int32Array#every local.set $1 local.get $1 @@ -11944,7 +12046,7 @@ unreachable end local.get $0 - i32.const 90 + i32.const 108 call $~lib/typedarray/Int32Array#every local.set $2 local.get $2 @@ -11961,14 +12063,14 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 293 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 309 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.rem_u i32.const 0 i32.eq ) - (func $~lib/typedarray/Uint32Array#every (; 294 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#every (; 310 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12035,12 +12137,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 295 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 311 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (; 296 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (; 312 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12061,7 +12163,7 @@ i32.const 6 call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 91 + i32.const 109 call $~lib/typedarray/Uint32Array#every local.set $1 local.get $1 @@ -12077,7 +12179,7 @@ unreachable end local.get $0 - i32.const 92 + i32.const 110 call $~lib/typedarray/Uint32Array#every local.set $2 local.get $2 @@ -12094,14 +12196,14 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 297 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 313 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.rem_s i64.const 0 i64.eq ) - (func $~lib/typedarray/Int64Array#every (; 298 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#every (; 314 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12168,12 +12270,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 299 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 315 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (; 300 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (; 316 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12194,7 +12296,7 @@ i64.const 6 call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 93 + i32.const 111 call $~lib/typedarray/Int64Array#every local.set $1 local.get $1 @@ -12210,7 +12312,7 @@ unreachable end local.get $0 - i32.const 94 + i32.const 112 call $~lib/typedarray/Int64Array#every local.set $2 local.get $2 @@ -12227,14 +12329,14 @@ unreachable end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 301 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 317 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.rem_u i64.const 0 i64.eq ) - (func $~lib/typedarray/Uint64Array#every (; 302 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#every (; 318 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12301,12 +12403,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 303 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 319 ;) (type $FUNCSIG$ijii) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 304 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 320 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12327,7 +12429,7 @@ i64.const 6 call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 95 + i32.const 113 call $~lib/typedarray/Uint64Array#every local.set $1 local.get $1 @@ -12343,7 +12445,7 @@ unreachable end local.get $0 - i32.const 96 + i32.const 114 call $~lib/typedarray/Uint64Array#every local.set $2 local.get $2 @@ -12360,12 +12462,12 @@ unreachable end ) - (func $~lib/builtins/isNaN (; 305 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) + (func $~lib/builtins/isNaN (; 321 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) local.get $0 local.get $0 f32.ne ) - (func $~lib/math/NativeMathf.mod (; 306 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 322 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12616,14 +12718,14 @@ local.get $2 f32.reinterpret_i32 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 307 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 323 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 call $~lib/math/NativeMathf.mod f32.const 0 f32.eq ) - (func $~lib/typedarray/Float32Array#every (; 308 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#every (; 324 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12690,12 +12792,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 309 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 325 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 f32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (; 310 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (; 326 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12716,7 +12818,7 @@ f32.const 6 call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 97 + i32.const 115 call $~lib/typedarray/Float32Array#every local.set $1 local.get $1 @@ -12732,7 +12834,7 @@ unreachable end local.get $0 - i32.const 98 + i32.const 116 call $~lib/typedarray/Float32Array#every local.set $2 local.get $2 @@ -12749,12 +12851,12 @@ unreachable end ) - (func $~lib/builtins/isNaN (; 311 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $~lib/builtins/isNaN (; 327 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 local.get $0 f64.ne ) - (func $~lib/math/NativeMath.mod (; 312 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 328 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -13007,14 +13109,14 @@ local.get $2 f64.reinterpret_i64 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 313 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 329 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 call $~lib/math/NativeMath.mod f64.const 0 f64.eq ) - (func $~lib/typedarray/Float64Array#every (; 314 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#every (; 330 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13081,12 +13183,12 @@ i32.const 1 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 315 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 331 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 f64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (; 316 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (; 332 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13107,7 +13209,7 @@ f64.const 6 call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 99 + i32.const 117 call $~lib/typedarray/Float64Array#every local.set $1 local.get $1 @@ -13123,7 +13225,7 @@ unreachable end local.get $0 - i32.const 100 + i32.const 118 call $~lib/typedarray/Float64Array#every local.set $2 local.get $2 @@ -13140,7 +13242,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 317 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 333 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -13195,7 +13297,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int8Array#forEach (; 318 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#forEach (; 334 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13240,7 +13342,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (; 319 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (; 335 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -13281,7 +13383,7 @@ i32.shr_s call $~lib/typedarray/Int8Array#__set local.get $0 - i32.const 101 + i32.const 119 call $~lib/typedarray/Int8Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -13296,7 +13398,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 320 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 336 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -13347,7 +13449,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Uint8Array#forEach (; 321 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#forEach (; 337 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13392,7 +13494,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (; 322 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (; 338 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -13427,7 +13529,7 @@ i32.and call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 102 + i32.const 120 call $~lib/typedarray/Uint8Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -13442,7 +13544,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 323 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 339 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -13493,7 +13595,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Uint8ClampedArray#forEach (; 324 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8ClampedArray#forEach (; 340 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13538,7 +13640,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (; 325 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (; 341 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -13573,7 +13675,7 @@ i32.and call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.const 103 + i32.const 121 call $~lib/typedarray/Uint8ClampedArray#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -13588,7 +13690,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 326 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 342 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -13643,7 +13745,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int16Array#forEach (; 327 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#forEach (; 343 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13688,7 +13790,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (; 328 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (; 344 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -13729,7 +13831,7 @@ i32.shr_s call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 104 + i32.const 122 call $~lib/typedarray/Int16Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -13744,7 +13846,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 329 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 345 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -13795,7 +13897,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Uint16Array#forEach (; 330 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint16Array#forEach (; 346 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13840,7 +13942,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (; 331 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (; 347 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -13875,7 +13977,7 @@ i32.and call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 105 + i32.const 123 call $~lib/typedarray/Uint16Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -13890,7 +13992,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 332 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 348 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -13937,7 +14039,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int32Array#forEach (; 333 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#forEach (; 349 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13982,7 +14084,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> (; 334 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> (; 350 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -14011,7 +14113,7 @@ call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 106 + i32.const 124 call $~lib/typedarray/Int32Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -14026,7 +14128,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 335 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 351 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -14073,7 +14175,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Uint32Array#forEach (; 336 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint32Array#forEach (; 352 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14118,7 +14220,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (; 337 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (; 353 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -14147,7 +14249,7 @@ call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 107 + i32.const 125 call $~lib/typedarray/Uint32Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -14162,7 +14264,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 338 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 354 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -14210,7 +14312,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Int64Array#forEach (; 339 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#forEach (; 355 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14255,7 +14357,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (; 340 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (; 356 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -14287,7 +14389,7 @@ i64.extend_i32_s call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 108 + i32.const 126 call $~lib/typedarray/Int64Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -14302,7 +14404,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 341 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 357 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -14350,7 +14452,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Uint64Array#forEach (; 342 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint64Array#forEach (; 358 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14395,7 +14497,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (; 343 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (; 359 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -14427,7 +14529,7 @@ i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 109 + i32.const 127 call $~lib/typedarray/Uint64Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -14442,7 +14544,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 344 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 360 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -14490,7 +14592,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Float32Array#forEach (; 345 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#forEach (; 361 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14535,7 +14637,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (; 346 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (; 362 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -14567,7 +14669,7 @@ f32.convert_i32_s call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 110 + i32.const 128 call $~lib/typedarray/Float32Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -14582,7 +14684,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 347 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 363 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32) (local $3 i32) global.get $std/typedarray/forEachValues local.get $1 @@ -14630,7 +14732,7 @@ i32.add global.set $std/typedarray/forEachCallCount ) - (func $~lib/typedarray/Float64Array#forEach (; 348 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#forEach (; 364 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14675,7 +14777,7 @@ unreachable end ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (; 349 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (; 365 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 global.set $std/typedarray/forEachCallCount @@ -14707,7 +14809,7 @@ f64.convert_i32_s call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 111 + i32.const 129 call $~lib/typedarray/Float64Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 @@ -14722,7 +14824,7 @@ unreachable end ) - (func $~lib/typedarray/Int8Array#reverse (; 350 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reverse (; 366 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -14792,7 +14894,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (; 351 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (; 367 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14956,7 +15058,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#reverse (; 352 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reverse (; 368 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -15026,7 +15128,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint8Array#subarray (; 353 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#subarray (; 369 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15163,7 +15265,7 @@ i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 354 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 370 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -15321,7 +15423,7 @@ unreachable end ) - (func $~lib/typedarray/Uint8ClampedArray#reverse (; 355 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reverse (; 371 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -15391,7 +15493,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint8ClampedArray#subarray (; 356 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#subarray (; 372 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15528,7 +15630,7 @@ i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 357 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 373 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -15686,7 +15788,7 @@ unreachable end ) - (func $~lib/typedarray/Int16Array#reverse (; 358 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reverse (; 374 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -15756,7 +15858,7 @@ end local.get $1 ) - (func $~lib/typedarray/Int16Array#subarray (; 359 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#subarray (; 375 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15893,7 +15995,7 @@ i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 360 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 376 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16057,7 +16159,7 @@ unreachable end ) - (func $~lib/typedarray/Uint16Array#reverse (; 361 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reverse (; 377 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -16127,7 +16229,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint16Array#subarray (; 362 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#subarray (; 378 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16264,7 +16366,7 @@ i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 363 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 379 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16422,7 +16524,7 @@ unreachable end ) - (func $~lib/typedarray/Int32Array#reverse (; 364 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#reverse (; 380 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -16492,7 +16594,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (; 365 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (; 381 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16644,7 +16746,7 @@ unreachable end ) - (func $~lib/typedarray/Uint32Array#reverse (; 366 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reverse (; 382 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -16714,7 +16816,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint32Array#subarray (; 367 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#subarray (; 383 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16851,7 +16953,7 @@ i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 368 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 384 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17003,7 +17105,7 @@ unreachable end ) - (func $~lib/typedarray/Int64Array#reverse (; 369 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#reverse (; 385 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -17073,7 +17175,7 @@ end local.get $1 ) - (func $~lib/typedarray/Int64Array#subarray (; 370 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array#subarray (; 386 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17210,7 +17312,7 @@ i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 371 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 387 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17365,7 +17467,7 @@ unreachable end ) - (func $~lib/typedarray/Uint64Array#reverse (; 372 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#reverse (; 388 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -17435,7 +17537,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint64Array#subarray (; 373 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array#subarray (; 389 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17572,7 +17674,7 @@ i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 374 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 390 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17727,7 +17829,7 @@ unreachable end ) - (func $~lib/typedarray/Float32Array#reverse (; 375 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#reverse (; 391 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -17797,7 +17899,7 @@ end local.get $1 ) - (func $~lib/typedarray/Float32Array#subarray (; 376 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#subarray (; 392 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17934,7 +18036,7 @@ i32.store offset=8 local.get $7 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 377 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 393 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18089,7 +18191,7 @@ unreachable end ) - (func $~lib/typedarray/Float64Array#reverse (; 378 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#reverse (; 394 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -18159,7 +18261,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (; 379 ;) (type $FUNCSIG$v) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (; 395 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18314,7 +18416,7 @@ unreachable end ) - (func $start:std/typedarray (; 380 ;) (type $FUNCSIG$v) + (func $start:std/typedarray (; 396 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32.const 1 @@ -18849,7 +18951,7 @@ drop global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 240 call $~lib/runtime/makeArray @@ -18871,7 +18973,7 @@ drop global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 312 call $~lib/runtime/makeArray @@ -18893,7 +18995,7 @@ drop global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 336 call $~lib/runtime/makeArray @@ -18915,7 +19017,7 @@ drop global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 360 call $~lib/runtime/makeArray @@ -18937,7 +19039,7 @@ drop global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 384 call $~lib/runtime/makeArray @@ -19003,7 +19105,7 @@ end global.get $std/typedarray/sub8 i32.const 3 - i32.const 15 + i32.const 16 i32.const 0 i32.const 408 call $~lib/runtime/makeArray @@ -19019,7 +19121,7 @@ end global.get $std/typedarray/arr8 i32.const 5 - i32.const 15 + i32.const 16 i32.const 0 i32.const 432 call $~lib/runtime/makeArray @@ -19065,7 +19167,7 @@ drop global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 456 call $~lib/runtime/makeArray @@ -19087,7 +19189,7 @@ drop global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 496 call $~lib/runtime/makeArray @@ -19109,7 +19211,7 @@ drop global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 536 call $~lib/runtime/makeArray @@ -19131,7 +19233,7 @@ drop global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 576 call $~lib/runtime/makeArray @@ -19153,7 +19255,7 @@ drop global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 616 call $~lib/runtime/makeArray @@ -19223,7 +19325,7 @@ end global.get $std/typedarray/sub32 i32.const 3 - i32.const 16 + i32.const 18 i32.const 2 i32.const 656 call $~lib/runtime/makeArray @@ -19239,7 +19341,7 @@ end global.get $std/typedarray/arr32 i32.const 5 - i32.const 16 + i32.const 18 i32.const 2 i32.const 688 call $~lib/runtime/makeArray @@ -19548,9 +19650,9 @@ call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> ) - (func $start (; 381 ;) (type $FUNCSIG$v) + (func $start (; 397 ;) (type $FUNCSIG$v) call $start:std/typedarray ) - (func $null (; 382 ;) (type $FUNCSIG$v) + (func $null (; 398 ;) (type $FUNCSIG$v) ) )